Commit 5a7b6c58 authored by Vincent Pelletier's avatar Vincent Pelletier

Make erp5_xhtml_style the default html skin when installing a new site.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@8172 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 47f507c6
...@@ -1247,7 +1247,7 @@ class ERP5Generator(PortalGenerator): ...@@ -1247,7 +1247,7 @@ class ERP5Generator(PortalGenerator):
return return
if template_tool.getInstalledBusinessTemplate('erp5_core') is None: if template_tool.getInstalledBusinessTemplate('erp5_core') is None:
bootstrap_dir = self.getBootstrapDirectory() bootstrap_dir = self.getBootstrapDirectory()
for bt in ('erp5_core', 'erp5_html_style'): for bt in ('erp5_core', 'erp5_xhtml_style'):
template = os.path.join(bootstrap_dir, bt) template = os.path.join(bootstrap_dir, bt)
if not os.path.exists(template): if not os.path.exists(template):
template = os.path.join(bootstrap_dir, '%s.bt5' % bt) template = os.path.join(bootstrap_dir, '%s.bt5' % bt)
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Folder</string>
<string>Folder</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>business_template_registered_skin_selections</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>tokens</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>business_template_registered_skin_selections</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_html_style</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
"""\n
XXX temporary function to recover statistics when needed\n
=> will be put in an external script.\n
recover a list with temporary objects we want to apply stats on.\n
(can be object itself, list of direct sons, list of all sons using\n
recursive method, etc.)\n
Then take this special list of objects and return a list of special\n
temp_objects to display as blocks \'as they are\'\n
"""\n
from Products.ERP5Type.Document import newTempBase\n
\n
\n
# first recovering methods to apply on tasks\n
start_property_id = field.get_value(\'x_start_bloc\')\n
stop_property_id= field.get_value(\'x_stop_bloc\')\n
size_property_id = field.get_value(\'y_size_block\')\n
\n
\n
\n
###########################################################\n
########### CREATING LIST OF TEMP STAT OBJECTS ############\n
###########################################################\n
# find a way to get all related objects with their sub-objects\n
# this list of objects must be stored in a list\n
# for now considering applying statistics on object_list\n
# XXX bug : can not apply getExceptionUidList() method on object_tree_line.\n
# <<unauthorized access>>\n
#selection.edit(exception_uid_list= object_tree_line.getExceptionUidList())\n
input_object_list = selection(method = list_method,context= selection_context,\n
REQUEST=REQUEST)\n
\n
temp_object_list = []\n
temp_object_id = 0\n
# now applying statictic rule.\n
# for now statistic rules are static\n
\n
\n
for input_object in input_object_list:\n
# recovering input_object attributes\n
block_begin = input_object.getObject().getProperty(start_property_id,None)\n
block_end = input_object.getObject().getProperty(stop_property_id,None)\n
block_size = input_object.getObject().getProperty(size_property_id,None)\n
if block_begin != None and block_end != None:\n
# do not create stat on non completed objects.\n
# prevent bug while size property is not defined on the object\n
if block_size == None: block_size = block_end - block_begin\n
#updating block_size value\n
block_size = float(block_size) / (block_end - block_begin)\n
# creating new object\n
temp_object = newTempBase(context.getPortalObject(),temp_object_id)\n
# editing object with new values\n
temp_object.setProperty(start_property_id,block_begin)\n
temp_object.setProperty(stop_property_id, block_end)\n
temp_object.setProperty(size_property_id, block_size)\n
# adding new object to list\n
temp_object_list.append(temp_object)\n
temp_object_id += 1\n
\n
###########################################################\n
################ BUILDING STATS ACTIVITES #################\n
###########################################################\n
\n
# building a special list structure.\n
prop_list = []\n
for temp_stat in temp_object_list:\n
block_begin = temp_stat.getProperty(start_property_id)\n
block_end = temp_stat.getProperty(stop_property_id)\n
block_size = temp_stat.getProperty(size_property_id)\n
\n
prop_list.append([block_begin, block_size])\n
prop_list.append([block_end ,-block_size])\n
\n
\n
# now sorting list to put start & stop in the right order\n
prop_list.sort()\n
\n
# now building new list of temp object with updated properties\n
size = 0\n
temp_stat_object_list = []\n
for index in range(len(prop_list) - 1):\n
# iterating all prop_list elements except the last one\n
current_prop = prop_list[index]\n
size += current_prop[1] # new size is relative to the previous size\n
start = current_prop[0] # current start\n
stop = prop_list[index+1][0] # current stop is the begining of the next block\n
temp_stat_object_id = 0\n
\n
if size > 0:\n
# size is not null\n
# building new tempObject\n
temp_stat_object_id += 1\n
temp_stat_object = newTempBase(context.getPortalObject(),temp_object_id)\n
# editing object with new values\n
temp_stat_object.setProperty(start_property_id,start)\n
temp_stat_object.setProperty(stop_property_id, stop)\n
temp_stat_object.setProperty(size_property_id, size)\n
# adding new object to list\n
temp_stat_object_list.append(temp_stat_object)\n
temp_stat_object_id +=1\n
\n
return temp_stat_object_list\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_skins/erp5_html_style/Planning_commonStats</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>selection=None,list_method=None, selection_context=None, report_tree_list = None, object_tree_line=None, REQUEST=None, field=None</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>7</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>selection</string>
<string>list_method</string>
<string>selection_context</string>
<string>report_tree_list</string>
<string>object_tree_line</string>
<string>REQUEST</string>
<string>field</string>
<string>Products.ERP5Type.Document</string>
<string>newTempBase</string>
<string>_getattr_</string>
<string>start_property_id</string>
<string>stop_property_id</string>
<string>size_property_id</string>
<string>input_object_list</string>
<string>temp_object_list</string>
<string>temp_object_id</string>
<string>_getiter_</string>
<string>input_object</string>
<string>None</string>
<string>block_begin</string>
<string>block_end</string>
<string>block_size</string>
<string>float</string>
<string>context</string>
<string>temp_object</string>
<string>prop_list</string>
<string>temp_stat</string>
<string>size</string>
<string>temp_stat_object_list</string>
<string>range</string>
<string>len</string>
<string>index</string>
<string>_getitem_</string>
<string>current_prop</string>
<string>start</string>
<string>stop</string>
<string>temp_stat_object_id</string>
<string>temp_stat_object</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<none/>
<none/>
<none/>
<none/>
<none/>
<none/>
<none/>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Planning_commonStats</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
# In all cases, return list structure containing tuple of information\n
# 1 tuple == 1 group\n
# tuple is of the form :\n
# [ relative position, title, tooltip, delimiter_type]\n
# with delimiter type in 0,1,2\n
\n
if isinstance(axis_start,DateTime):\n
# testing delimiter_type to apply (day, week, month, year)\n
# from smallest type to biggest\n
type_list = [ [\'year\', 365],\n
[\'6months\',182],\n
[\'3months\', 91],\n
[\'month\', 30],\n
[\'1/2month\',15],\n
[\'week\', 7],\n
[\'3days\', 3],\n
[\'day\', 1],\n
[\'6hours\',0.25]\n
]\n
# default good_type is last one (if nothing else matches)\n
good_type = type_list[-1]\n
for date_type in type_list:\n
# iterating each delimiter_type and testing if it matches the delimitation\n
# number definition\n
if float(axis_stop - axis_start) / date_type[1] >= delimiter_min_number:\n
good_type = date_type\n
break\n
\n
\n
delimiter = 0\n
delimiter_list = []\n
delimiter_list.append([int(axis_start),\'\',axis_start.Day() + \' \' + str(DateTime(axis_start)), 0])\n
\n
\n
#### Hour ###\n
if good_type[0] == \'hour\':\n
pass\n
\n
\n
## 6 Hours ##\n
if good_type[0] == \'6hours\':\n
# recovering first valid date\n
if axis_start.hour() > 18:\n
#need to use the next day\n
current_date = DateTime((axis_start + 1).Date())\n
elif axis_start.hour() == 0:\n
current_date = DateTime(axis_start.Date())\n
else:\n
if axis_start.hour() > 12:\n
hours = 18\n
elif axis_start.hour() > 6:\n
hours = 12\n
else:\n
hours = 6\n
current_date = DateTime(\'%s/%s/%s %s:0:0\' % (str(axis_start.year()),\n
str(axis_start.month()),\n
str(axis_start.day()),\n
hours))\n
while current_date < axis_stop:\n
if current_date.hour() == 0 :\n
delimiter = 2\n
elif current_date.hour() == 12:\n
delimiter = 1\n
else:\n
delimiter = 0\n
delimiter_list.append([int(current_date),\n
\'%s. %s %s:00\' % (current_date.Day()[:1],\n
str(current_date.day()),\n
str(current_date.hour())),\n
current_date.Day() + \' \' + str(current_date),\n
delimiter])\n
if current_date.hour() == 18:\n
#need to use the next day\n
current_date = DateTime((current_date + 1).Date())\n
else:\n
hours = current_date.hour() + 6\n
current_date = DateTime(\'%s/%s/%s %s:0:0\' % (str(current_date.year()),\n
str(current_date.month()),\n
str(current_date.day()),\n
hours))\n
\n
\n
##### DAY ####\n
if good_type[0] == \'day\':\n
# recovering first date displayed, without time:\n
current_date = DateTime(axis_start.Date()) + 1\n
# first date is used to get list of compliant dates\n
while current_date < axis_stop:\n
if current_date.day() == 1:\n
delimiter = 2\n
elif current_date.day() == 15:\n
delimiter = 1\n
else:\n
delimiter = 0\n
delimiter_list.append([int(current_date),\n
\'%s/%s\' % (str(current_date.month()),\n
str(current_date.day())),\n
current_date.Day() + \' \' + str(current_date),\n
delimiter\n
])\n
# go to next date\n
current_date = current_date + 1\n
\n
\n
\n
\n
##### 3 DAYs ####\n
if good_type[0] == \'3days\':\n
# recovering first date displayed, without time:\n
current_date = DateTime(axis_start.Date()) + 1\n
# first date is used to get list of compliant dates\n
while current_date < axis_stop:\n
if current_date.day() == 1:\n
delimiter = 2\n
elif current_date.day() == 15:\n
delimiter = 1\n
else:\n
delimiter = 0\n
delimiter_list.append([int(current_date),\n
\'%s/%s\' % (str(current_date.month()),\n
str(current_date.day())),\n
current_date.Day() + \' \' + str(current_date),\n
delimiter\n
])\n
# go to next date\n
current_date = current_date + 3\n
\n
\n
\n
#### WEEK ####\n
if good_type[0] == \'week\':\n
current_date = DateTime(axis_start.Date()) + 1\n
#DateTime(str(axis_start.year()) + \'/\' + str(axis_start.month()) + \'/\' + str(axis_start.day() + 1))\n
# current date is any day in the week, moving to the first next Monday\n
while current_date.Day() != \'Monday\':\n
current_date = current_date + 1\n
# getting list of weeks\n
while current_date < axis_stop:\n
delimiter_list.append([int(current_date),\n
str(current_date.month()) + \'/\' + str(current_date.day()),\n
current_date.Day() + \' \' + str(current_date),\n
delimiter\n
])\n
current_date = current_date + 7\n
\n
\n
\n
#### 1/2MONTH ####\n
if good_type[0] == \'1/2month\':\n
# getting first valid date\n
if axis_start.month() == 12 and axis_start.day() > 15:\n
# need to go to the next year\n
current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
elif axis_start.day() > 15:\n
# need to go to next month\n
current_date = DateTime(str(axis_start.year()) + \'/\' + str((axis_start.month() +1)) + \'/1\')\n
else:\n
# need to go to next part of current month\n
current_date = DateTime(str(axis_start.year()) + \'/\' + str(axis_start.month()) + \'/15\')\n
# getting list of months\n
while current_date < axis_stop:\n
if current_date.day() == 1:\n
delimiter = 1\n
else:\n
delimiter = 0\n
delimiter_list.append([int(current_date),\n
str(current_date.month()) + \'/\' + str(current_date.day()),\n
current_date.Day() + \' \' + str(current_date),\n
delimiter\n
])\n
if current_date.month() == 12 and current_date.day() == 15:\n
# need to go to the next year\n
current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
elif current_date.day() == 15:\n
# need to go to next month\n
current_date = DateTime(str(current_date.year()) + \'/\' + str((current_date.month() +1)) + \'/1\')\n
else:\n
# need to go to next year\n
current_date = DateTime(str(current_date.year()) + \'/\' + str((current_date.month())) + \'/15\')\n
\n
\n
#### MONTH ####\n
if good_type[0] == \'month\':\n
# getting first valid date\n
if axis_start.month() == 12:\n
# need to go to the next year\n
current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
else:\n
current_date = DateTime(str(axis_start.year()) + \'/\' + str((axis_start.month() +1)) + \'/1\')\n
# getting list of months\n
while current_date < axis_stop:\n
if current_date.month() == 1:\n
delimiter = 2\n
elif current_date.month() == 7:\n
delimiter = 1\n
else:\n
delimiter = 0\n
delimiter_list.append([int(current_date),\n
str(current_date.year()) + \'/\' + str(current_date.month()),\n
current_date.Day() + \' \' + str(current_date),\n
delimiter\n
])\n
if current_date.month() == 12:\n
# need to go to the next year\n
current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
else:\n
current_date = DateTime(str(current_date.year()) + \'/\' + str((current_date.month() +1)) + \'/1\')\n
\n
\n
\n
## 3 MONTHS ##\n
if good_type[0] == \'3months\':\n
# getting first valid date\n
if axis_start.month() > 9:\n
# need to go to the next year\n
current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
elif axis_start.month() > 6:\n
current_date = DateTime(str(axis_start.year()) + \'/10/1\')\n
elif axis_start.month() > 3:\n
current_date = DateTime(str(axis_start.year()) + \'/7/1\')\n
else:\n
current_date = DateTime(str(axis_start.year()) + \'/4/1\')\n
while current_date < axis_stop:\n
if current_date.month() == 1:\n
delimiter = 1\n
else:\n
delimiter = 0\n
delimiter_list.append([int(current_date),\n
str(current_date.year()) + \'/\' + str(current_date.month()),\n
current_date.Day() + \' \' + str(current_date),\n
delimiter\n
])\n
if current_date.month() > 9:\n
# need to go to the next year\n
current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
else:\n
current_date = DateTime(str(\'%s/%s/1\' % (str(current_date.year()),\n
str(current_date.month() + 3))))\n
\n
\n
## 6 MONTHS ##\n
if good_type[0] == \'6months\':\n
# getting first valid date\n
if axis_start.month() > 6:\n
# need to go to the next year\n
current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
else:\n
current_date = DateTime(str(axis_start.year()) + \'/7/1\')\n
while current_date < axis_stop:\n
if current_date.month() == 1:\n
delimiter = 1\n
else:\n
delimiter = 0\n
delimiter_list.append([int(current_date),\n
str(current_date.year()) + \'/\' + str(current_date.month()),\n
current_date.Day() + \' \' + str(current_date),\n
delimiter\n
])\n
if current_date.month() > 6:\n
# need to go to the next year\n
current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
else:\n
current_date = DateTime(str(current_date.year()) + \'/7/1\')\n
\n
\n
#### YEAR ####\n
if good_type[0] == \'year\':\n
# getting first valid year\n
current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\')\n
while current_date < axis_stop:\n
if str(current_date.year())[3:] == 0:\n
delimiter = 2\n
elif str(current_date.year())[3:] == 5:\n
delimiter = 1\n
else:\n
delimiter = 0\n
delimiter_list.append([int(current_date),\n
str(current_date.year()),\n
current_date.Day() + \' \' + str(current_date),\n
delimiter\n
])\n
current_date = DateTime(str(current_date.year() + 1) + \'/1/1\')\n
\n
return delimiter_list\n
\n
\n
else:\n
\n
delimiter_list = []\n
# secondary axis type is integer / float.\n
# building corresponding axis.\n
axis_range = axis_stop - axis_start\n
step = 1.0 / 1000.0\n
good_step = step\n
while step * delimiter_min_number < axis_range:\n
good_step = step\n
step = step * 10\n
\n
\n
# now adding first value\n
delimiter_list.append([axis_start,\'\',str(axis_start),0])\n
\n
# now going to first good step\n
modul = axis_start % good_step\n
if modul == 0:\n
#axis_start is already well placed.\n
current_step = good_step + axis_start\n
else:\n
current_step = good_step + (axis_start - modul)\n
\n
# good step is the last step under axis_range.\n
if good_step >= 1:\n
good_step = int(good_step)\n
current_step = int(current_step)\n
\n
# iterating and adding each value\n
while current_step < axis_stop:\n
delimiter_list.append([current_step,str(current_step),str(current_step),0])\n
current_step += good_step\n
\n
return delimiter_list\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_skins/erp5_html_style/Planning_generateAxis</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>axis_start, axis_stop, delimiter_min_number</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>axis_start</string>
<string>axis_stop</string>
<string>delimiter_min_number</string>
<string>isinstance</string>
<string>DateTime</string>
<string>type_list</string>
<string>_getitem_</string>
<string>good_type</string>
<string>_getiter_</string>
<string>date_type</string>
<string>float</string>
<string>delimiter</string>
<string>delimiter_list</string>
<string>_getattr_</string>
<string>int</string>
<string>str</string>
<string>current_date</string>
<string>hours</string>
<string>axis_range</string>
<string>step</string>
<string>good_step</string>
<string>modul</string>
<string>current_step</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Planning_generateAxis</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
"""\n
Script used by PlanningBox validator to round the bound dates to the\n
closest full day.\n
"""\n
\n
if full_date.hour() > 12:\n
return DateTime(full_date.Date()) + 1\n
else:\n
return DateTime(full_date.Date())\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_skins/erp5_html_style/Planning_roundBoundToDay</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>full_date</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>full_date</string>
<string>_getattr_</string>
<string>DateTime</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Planning_roundBoundToDay</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>"""\n
Script used by PlanningBox to round block bounds to the\n
closest integer value.\n
"""\n
return int(value + 0.5)\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_skins/erp5_html_style/Planning_roundBoundToInt</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>value</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>value</string>
<string>int</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Planning_roundBoundToInt</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_dav_writelocks</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing">\n
<!--\n
Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.\n
Yoshinori Okuji <yo@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by breadcrumb" />\n
<title tal:content="template/title" i18n:translate="" i18n:domain="ui">The title</title>\n
</head>\n
<body>\n
<div metal:define-macro="small_breadcrumb">\n
<table width="100%">\n
<tr>\n
<td nowrap align="left">\n
<tal:block tal:repeat="item here/breadcrumbs">\n
<tal:block tal:replace="nothing">\n
Breadcrumbs are like Site / Module / Document / Subdocument.\n
Here we want to translate Site and Module as ui, because they\n
are not documents but a part of the system. For the rest,\n
we should use content. But this is disabled at the moment,\n
as it is not clear if the user wants to translate document contents.\n
</tal:block>\n
<tal:block tal:condition="python: repeat[\'item\'].index < 2">\n
<a href="url goes here"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="href python:\'%s/view\' % item [\'url\']"\n
tal:content="item/title | item/id">\n
title\n
</a>&nbsp;/&nbsp;\n
</tal:block>\n
<tal:block tal:condition="python: repeat[\'item\'].index >= 2">\n
<a href="url goes here"\n
tal:attributes="href python:\'%s/view\' % item [\'url\']"\n
tal:content="item/title | item/id">\n
title\n
</a>&nbsp;/&nbsp;\n
</tal:block>\n
</tal:block>\n
</td>\n
<td align="right" />\n
</tr>\n
</table>\n
</div>\n
<div metal:define-macro="full_breadcrumb">\n
<table width="100%">\n
<tr>\n
<td nowrap align="left">\n
<tal:block tal:repeat="item here/breadcrumbs">\n
<tal:block tal:condition="python: repeat[\'item\'].index < 2">\n
<a href="url goes here"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="href python:\'%s/view\' % item [\'url\']"\n
tal:content="item/title | item/id">\n
title\n
</a>&nbsp;/&nbsp;\n
</tal:block>\n
<tal:block tal:condition="python: repeat[\'item\'].index >= 2">\n
<a href="url goes here"\n
tal:attributes="href python:\'%s/view\' % item [\'url\']"\n
tal:content="item/title | item/id">\n
title\n
</a>&nbsp;/&nbsp;\n
</tal:block>\n
</tal:block>\n
</td>\n
<td align="right"\n
tal:condition="python: not here.portal_membership.isAnonymousUser()">\n
&nbsp;\n
<a href="undo_form" i18n:translate="" i18n:domain="ui">Logged In as </a>\n
<tal:block tal:define="info python: \'Translate this\';\n
message python: \'Logged In as\'">\n
<tal:block metal:use-macro="context/form_developper_buttons/macros/translate_link"/>\n
</tal:block> :\n
<tal:block tal:replace="python:here.portal_membership.getAuthenticatedMember().getUserName()" />\n
</td>\n
<td align="right"\n
tal:condition="python: here.portal_membership.isAnonymousUser()">\n
&nbsp;\n
</td>\n
</tr>\n
</table>\n
</div>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>breadcrumb</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<div metal:use-macro="here/navigation_box/macros/navigation_box"\n
>Navigation Box</div>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>cacheable_navigation_box</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
Jean-Paul Smets <jp@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
metal:define-macro="master">\n
\n
<script language="JavaScript" src="erp5.js"\n
tal:attributes="src python:\'%s/erp5.js\' % here.portal_url()">\n
</script>\n
\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by dialog_master" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id" i18n:translate="" i18n:domain="ui">The title</title>\n
<link href="erp5.css" rel="stylesheet" type="text/css"\n
tal:attributes="href python: here.portal_url() + \'/\' + \'erp5.css\'" />\n
</head>\n
\n
<body>\n
<form action="Test" method="POST" id="main_form"\n
tal:attributes="action here/absolute_url;\n
method form/method | nothing;\n
enctype form/enctype | nothing"\n
tal:define="selection_name request/selection_name | string:">\n
<div metal:use-macro="here/global_definition/macros/global_definition" />\n
<span tal:condition="request/form_id | nothing">\n
<input type="hidden" name="form_id" value="form"\n
tal:attributes="value request/form_id">\n
</span>\n
<input type="hidden" name="dialog_id" value="form"\n
tal:attributes="value form/id">\n
<span tal:condition="request/pickle_string | nothing">\n
<input type="hidden" name="pickle_string" value="form"\n
tal:attributes="value request/pickle_string">\n
</span>\n
<input type="hidden" name="selection_name" value="selection_name"\n
tal:attributes="value selection_name">\n
<!-- Menu Boxes -->\n
<table cellpadding="0" cellspacing="0" border="0" width="100%">\n
<tr>\n
<td>\n
<!-- Navigation Box Goes Here -->\n
<div class="NavigationBox" tal:define=\'global form_action string:Base_callDialogMethod\'>\n
<div metal:use-macro="here/navigation_box/macros/navigation_box"\n
>Navigation Box</div>\n
</div>\n
</td>\n
</tr>\n
<tr>\n
<td>\n
<!-- Menu Box Goes Here -->\n
\n
<div class="MenuBox">\n
<!--<div metal:use-macro="here/list_menu_box/macros/list_menu_box"\n
>MenuBox</div> -->\n
</div>\n
</td>\n
</tr>\n
</table>\n
<!-- Breadcrumb, owner and date-->\n
<div class="Breadcrumb">\n
<div metal:use-macro="here/breadcrumb/macros/small_breadcrumb"\n
>Breadcrumb</div>\n
</div>\n
<!-- Optional Portal Status Message -->\n
<div class="Main"\n
tal:condition="request/portal_status_message | nothing">\n
<table>\n
<tr>\n
<td class="error"\n
tal:content="request/portal_status_message">\n
</td>\n
</tr>\n
</table>\n
</div>\n
<!-- Main Zone -->\n
<table border="0" cellpadding="0" cellspacing="0" width="100%">\n
<tr>\n
<div class="OutMain">\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img" tal:attributes="src string:$portal_url/images/spacer.png" /></td>\n
</div>\n
<td>\n
<!-- Main Content -->\n
<div class="Main">\n
<div metal:define-slot="main">Main Content</div>\n
</div>\n
</td>\n
<div class="OutMain">\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
</div>\n
</tr>\n
<tr>\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img" tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
<td></td>\n
<td></td>\n
</tr>\n
<tr>\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img" tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
<td align="left"\n
tal:define="cancel_url request/cancel_url | request/HTTP_REFERER;\n
previous_form_id request/previous_form_id | nothing">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img" tal:attributes="src string:$portal_url/images/spacer.png"/>\n
<input type="hidden" name="dialog_method" value="cancel_url"\n
tal:attributes="value python: form.action"/>\n
<input type="hidden" name="cancel_url" value="cancel_url"\n
tal:attributes="value cancel_url">\n
<input type="hidden" name="previous_form_id" value="previous_form_id"\n
tal:attributes="value previous_form_id">\n
<input type="Submit" value="Cancel" name="Base_cancel:method"\n
i18n:attributes="value" i18n:domain="ui"\n
/>&nbsp;\n
<span tal:condition="python: form.update_action!=\'\'">\n
<input type="hidden" name="update_method" value="cancel_url"\n
tal:attributes="value python: form.update_action"/>\n
<input type="Submit" value="Update"\n
i18n:attributes="value" i18n:domain="ui"\n
name="Base_showUpdateDialog:method"/>\n
</span>\n
<span tal:condition="python: form.action!=\'\'">\n
<input type="Submit" value="Search"\n
name="Base_callDialogMethod:method"\n
i18n:attributes="value" i18n:domain="ui"\n
tal:attributes="value form/title"/>\n
</span>\n
</td>\n
<td></td>\n
</tr>\n
</table>\n
</form>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>dialog_master</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n
<tal:block metal:define-macro="render_listbox">\n
<tal:block tal:define="field_names field_names | python: ();\n
toggleable_field_name toggleable_field_name | python: nothing;\n
zope_structured_text_field_names zope_structured_text_field_names | python: ();\n
structured_text_field_names structured_text_field_names | python: ();\n
structured_text_field_names python: structured_text_field_names+zope_structured_text_field_names;">\n
<tal:block tal:repeat="field_name field_names">\n
<tal:block tal:condition="python: form.has_field(field_name)">\n
<tal:block tal:define="listbox python: form.get_field(field_name);\n
listboxline_list python: listbox.get_value(\'default\', render_format=\'list\', REQUEST=request);">\n
<tal:block tal:define="field listbox">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/field"/>\n
</tal:block>\n
<div class="frame">\n
<div tal:attributes="class listbox/css_class">\n
<div class="frame_title" tal:content="listbox/title"></div>\n
<div class="listbox_description" tal:content="python: listbox.get_value(\'description\')"></div>\n
<tal:block tal:condition="python: len(listboxline_list) > 1">\n
<tal:block tal:repeat="listboxline python: listboxline_list">\n
<tal:block tal:define="lineid python: \'%s_%s\' % (listbox.id,repeat[\'listboxline\'].index)">\n
<div class="listbox_titleline" tal:condition="python: listboxline.isTitleLine()">\n
<tal:block tal:repeat="column_id python: listboxline.getColumnItemList()">\n
<div tal:content="python: column_id[1]"\n
tal:attributes="class python: column_id[0]"/>\n
</tal:block>\n
</div>\n
<div class="listbox_dataline" tal:condition="python: listboxline.isDataLine()"\n
tal:attributes="onclick python: toggleable_field_name and \'toggle(\\\'%s\\\')\' % (lineid) or nothing;\n
id python: \'toggle_%s_%s\' % (listbox.id, repeat[\'listboxline\'].index);">\n
<tal:block tal:repeat="column_id python: listboxline.getColumnItemList()">\n
<tal:block tal:define="is_structured_text python: column_id[0] in structured_text_field_names;\n
is_toggleable python: column_id[0] == toggleable_field_name;\n
content python: (column_id[1] is None) and (\' \') or (column_id[1]);\n
content python: column_id[0] in zope_structured_text_field_names and modules[\'Products\'].PythonScripts.standard.structured_text(content) or content;">\n
<div tal:attributes="class python: column_id[0]; id python: is_toggleable and lineid or None; name python: is_toggleable and \'toggleable\' or None"><tal:block tal:condition="is_structured_text"><a tal:condition="repeat/column_id/start" class="anchor" tal:content="structure content" tal:attributes="id python: \'a_%s_%s\' % (listbox.id, repeat[\'listboxline\'].index)"></a><tal:block tal:condition="not: repeat/column_id/start" tal:replace="structure content"/></tal:block><tal:block tal:condition="not: is_structured_text"><a tal:condition="repeat/column_id/start" class="anchor" tal:content="content" tal:attributes="id python: \'a_%s_%s\' % (listbox.id, repeat[\'listboxline\'].index)"></a><tal:block tal:condition="not: repeat/column_id/start" tal:replace="content"/></tal:block></div>\n
</tal:block>\n
</tal:block>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</div>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:replace="nothing">\n
<!--\n
Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.\n
Vincent Pelletier <vincent@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
<html>\n
<head>\n
<title></title>\n
<style type="text/css">\n
a img {\n
border: none;\n
}\n
\n
ul {\n
margin: 0;\n
}\n
\n
p, li {\n
margin: 0;\n
padding: 0;\n
}\n
\n
span.toggle {\n
border: 1px solid #000;\n
}\n
\n
span.toggle:hover {\n
background: #0F0;\n
}\n
\n
div.frame {\n
margin-bottom : 1em;\n
border: 1px solid #000;\n
}\n
\n
div.frame_title {\n
text-align: center;\n
width: 100%;\n
background: #555;\n
color: #FFF;\n
border-bottom: 1px solid #000;\n
}\n
\n
div.quick_links_group {\n
display: table-row;\n
}\n
\n
div.quick_links_group div,\n
div.quick_links_group ul {\n
display: table-cell;\n
}\n
\n
div.quick_links_group div {\n
white-space: nowrap;\n
}\n
\n
div.quick_links_group ul {\n
list-style: none;\n
padding-left: 1em;\n
}\n
\n
div.quick_links_group li {\n
display: inline;\n
}\n
\n
/* Table mode */\n
\n
div.table div.listbox_dataline,\n
div.table div.listbox_titleline {\n
display: table-row;\n
margin-left: 0.5em;\n
margin-right: 0.5em;\n
}\n
\n
div.table div.listbox_titleline div {\n
text-align: center;\n
}\n
\n
div.table div.listbox_dataline div,\n
div.table div.listbox_titleline div {\n
display: table-cell;\n
padding: 2px;\n
}\n
\n
div.table div.listbox_titleline div {\n
font-weight: bold;\n
}\n
\n
/* List mode */\n
\n
div.list div.listbox_titleline {\n
display: none;\n
}\n
\n
div.accessors div,\n
div.list div.listbox_dataline div {\n
margin-left: 0.5em;\n
margin-right: 0.5em;\n
}\n
\n
div.accessors div.title,\n
div.list div.listbox_dataline div.title {\n
margin-left: 0;\n
margin-right: 0;\n
font-weight: bold;\n
display: inline;\n
}\n
\n
div.list div.listbox_dataline div.argument {\n
display: inline;\n
margin-left: 0;\n
}\n
\n
div.list div.listbox_dataline div.type {\n
display: inline;\n
font-style: italic;\n
}\n
\n
/* Global styles (that apply both to list and table modes) */\n
\n
table div.description,\n
table div.source_path,\n
div.listbox_dataline div.description,\n
div.listbox_dataline div.source_path,\n
div.listbox_dataline div.source_code,\n
div.listbox_dataline div.content {\n
font-family: fixed, "Courier New", Courier, monospace;\n
white-space: pre;\n
overflow: auto;\n
}\n
\n
div.listbox_dataline div.source_code {\n
border-left: 1px dotted #000;\n
background: #FFF;\n
}\n
\n
div.listbox_description {\n
margin: 0.5em;\n
font-size: 70%;\n
white-space: pre;\n
color: #555;\n
}\n
\n
div.listbox_dataline {\n
margin: 0.5em;\n
/* margin-bottom: 1em; */\n
padding-left: 0.5em;\n
padding-right: 0.5em;\n
border: 1px solid #FFF;\n
}\n
\n
div.listbox_dataline:hover {\n
background: #EEE;\n
border-color: #999;\n
}\n
</style>\n
</head>\n
<body onload="toggle_all()">\n
<script type="text/javascript">\n
function toggle_all() {\n
my_elements = document.getElementsByName("toggleable");\n
for(i=0; i<my_elements.length; i++) {\n
toggle(my_elements[i].id);\n
}\n
}\n
function toggle(id) {\n
with(document.getElementById(id).style) {\n
if (display == "") {\n
display = "none";\n
with(document.getElementById("toggle_"+id).style) {\n
backgroundColor = "";\n
borderColor = "";\n
}\n
} else {\n
display = "";\n
with(document.getElementById("toggle_"+id).style) {\n
backgroundColor = "#EEE";\n
borderColor = "#999";\n
}\n
}\n
}\n
}\n
</script>\n
<span class="toggle" onclick="toggle_all()">Toggle all</span>\n
<tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)">\n
<div class="frame">\n
<div class="frame_title">General information</div>\n
<table>\n
<tal:block tal:repeat="field_name python: (\'my_title\', \'argument_list\', \'inheritance_list\', \'my_type\', \'my_source_path\', \'my_description\')">\n
<tal:block tal:condition="python: form.has_field(field_name)">\n
<tal:block tal:define="field python: form.get_field(field_name)">\n
<tal:block metal:use-macro="here/field_render/macros/field_render"/>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</table>\n
</div>\n
<div class="frame">\n
<div class="frame_title">Quick links</div>\n
<tal:block tal:repeat="field_name python: (\'my_static_property_list\', \'my_dynamic_property_list\', \'my_dynamic_category_list\', \'my_static_method_list\', \'my_dynamic_method_list\', \'my_dynamic_accessor_list\')">\n
<tal:block tal:condition="python: form.has_field(field_name)">\n
<div class="quick_links_group" tal:define="field python: form.get_field(field_name)">\n
<div tal:content="field/title"></div>\n
<ul>\n
<li tal:repeat="item python: field.get_value(\'list_method\')()">\n
<a tal:attributes="href python: \'#a_%s_%s\' % (field_name,repeat[\'item\'].index+1)"\n
tal:content="item/getTitle"></a>\n
</li>\n
</ul>\n
</div>\n
</tal:block>\n
</tal:block>\n
</div>\n
<tal:block tal:define="field_names python: (\'my_static_property_list\',);\n
structured_text_field_names python: (\'title\',);">\n
<tal:block metal:use-macro="here/documentation_view/macros/render_listbox"/>\n
</tal:block>\n
<tal:block tal:define="field_names python: (\'my_dynamic_property_list\',);\n
structured_text_field_names python: (\'title\',);">\n
<tal:block metal:use-macro="here/documentation_view/macros/render_listbox"/>\n
</tal:block>\n
<tal:block tal:define="field_names python: (\'my_dynamic_category_list\',)">\n
<tal:block metal:use-macro="here/documentation_view/macros/render_listbox"/>\n
</tal:block>\n
<tal:block tal:define="field_names python: (\'my_static_method_list\',);\n
structured_text_field_names python: (\'title\',);\n
zope_structured_text_field_names python: (\'description\',);\n
toggleable_field_name python: \'source_code\';">\n
<tal:block metal:use-macro="here/documentation_view/macros/render_listbox"/>\n
</tal:block>\n
<tal:block tal:define="field_names python: (\'my_dynamic_method_list\',);\n
structured_text_field_names python: (\'title\',);\n
zope_structured_text_field_names python: (\'description\',);">\n
<tal:block metal:use-macro="here/documentation_view/macros/render_listbox"/>\n
</tal:block>\n
<tal:block tal:define="field_names python: (\'my_dynamic_accessor_list\',);\n
structured_text_field_names python: (\'accessors\',);\n
toggleable_field_name python: \'accessors\';">\n
<tal:block metal:use-macro="here/documentation_view/macros/render_listbox"/>\n
</tal:block>\n
</tal:block>\n
</body>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>documentation_view</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.DTMLMethod</string>
<string>DTMLMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>erp5.css</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<dtml-with erp5_stylesheet_properties>\n
\n
/*______________ CSS ERP5-CORAMY _________________ */\n
\n
\n
\n
A:link {\n
color: #002e3f;\n
text-decoration: none;\n
}\n
\n
A:visited {\n
color: #002e3f;\n
text-decoration: none;\n
}\n
\n
A:hover {\n
color: &dtml-default_font_color;;\n
text-decoration: underline;\n
}\n
\n
\n
BODY {\n
background-color: &dtml-default_background_color;;\n
margin: 0px;\n
padding:0px;\n
font-family: &dtml-default_font_family;;\n
font-size: &dtml-default_font_size;;\n
/* line-height: &dtml-default_font_size;;*/\n
text-decoration: none;\n
font-style: normal;\n
color: &dtml-default_font_color;;\n
}\n
\n
TH {\n
vertical-align: middle;\n
}\n
\n
TD{\n
/*vertical-align: middle;*/\n
/*text-align: center;*/\n
}\n
\n
TD.top{\n
vertical-align: top;\n
}\n
\n
IMG{\n
border: none;\n
}\n
\n
TABLE.px{\n
padding: 2px;\n
margin: 2px;\n
}\n
\n
/* _________________ Navigation Box _________________ */\n
\n
.NavigationBox{\n
color: &dtml-alternate_font_color;;\n
background-color: &dtml-navigation_background_color;;\n
vertical-align: middle;\n
\n
}\n
\n
.NavigationBox select{\n
color: &dtml-alternate_font_color;;\n
vertical-align: middle;\n
font-family: &dtml-default_font_family;;\n
}\n
\n
.input_image{\n
border:none;\n
background-color: transparent;\n
/*color: transparent;*/\n
}\n
\n
\n
/* _________________ Menu Box _________________ */\n
\n
.MenuBox{\n
color: &dtml-alternate_font_color;;\n
background-color: &dtml-menu_background_color;;\n
border-color: &dtml-alternate_border_color;;\n
border-style: solid;\n
border-bottom-width: 1px;\n
border-left-width: 0px;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
vertical-align: middle;\n
\n
padding-top: 2px;\n
padding-right: 0px;\n
padding-bottom: 2px;\n
padding-left: 0px;\n
}\n
\n
.MenuBox select{\n
color: &dtml-alternate_font_color;;\n
vertical-align: middle;\n
font-family: &dtml-default_font_family;;\n
}\n
\n
\n
/* _________________ Breadcrumb, Owner, Date _________________ */\n
\n
.Breadcrumb{\n
color: &dtml-default_font_color;;\n
/* line-height: 23px;*/\n
vertical-align: middle;\n
}\n
\n
/* _________________ Step _________________ */\n
\n
.Step{\n
color: &dtml-default_font_color;;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-bottom-width: 0px;\n
border-left-width: 1px;\n
border-top-width: 1px;\n
border-right-width: 1px;\n
}\n
\n
\n
.previous{\n
border-color: &dtml-alternate_border_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-left-width: 1px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
}\n
\n
.actual{\n
border-color: &dtml-main_border_color;;\n
border-style: solid;\n
border-top-width: 2px;\n
border-left-width: 2px;\n
border-right-width: 2px;\n
border-bottom-width: 2px;\n
}\n
\n
.next{\n
border-color: &dtml-alternate_font_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-left-width: 1px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
}\n
\n
\n
/* _________________ Main _________________ */\n
\n
.Main{\n
\n
}\n
\n
.Search{\n
\n
}\n
\n
.OutMain{\n
background-color: &dtml-default_background_color;;\n
}\n
\n
\n
\n
/* _________________ Main Content _________________ */\n
\n
.MainContent{\n
background-color: &dtml-main_background_color;;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
border-left-width: 1px;\n
/*margin: 2px;*/\n
padding: 2px;\n
}\n
\n
.Main table.Border{\n
width: 98%;\n
font-style: italic;\n
background-color: &dtml-main_background_color;;\n
border-color: &dtml-main_border_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
border-left-width: 1px;\n
/*margin-right: 0.1em;*/\n
margin-left: 5px;\n
margin-top: 5px;\n
margin-bottom: 5px;\n
/*padding-left: 5px;\n
padding-right: 5px;\n
padding-top: 5px;\n
padding-bottom: 5px;*/\n
}\n
\n
.Main td.required{\n
font-weight: bold;\n
}\n
\n
.Main td.error{\n
color: red;\n
}\n
\n
.Main td.reqerror{\n
font-weight: bold;\n
color: red;\n
}\n
\n
.Main input{\n
}\n
\n
.input submit{\n
color: &dtml-default_font_color;;\n
}\n
\n
.Main select{\n
}\n
\n
/* _________________ Search Content _________________ */\n
\n
.Search table.Border{\n
width: 98%;\n
font-style: italic;\n
background-color: &dtml-search_background_color;;\n
border-color: &dtml-main_border_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
border-left-width: 1px;\n
/*margin-right: 0.1em;*/\n
margin-left: 5px;\n
margin-top: 5px;\n
margin-bottom: 5px;\n
/*padding-left: 5px;\n
padding-right: 5px;\n
padding-top: 5px;\n
padding-bottom: 5px;*/\n
}\n
\n
\n
/* _________________ ListSummary _________________ */\n
\n
.ListSummary{\n
background-color: &dtml-main_background_color;;\n
color: &dtml-default_font_color;;\n
}\n
\n
.ListSummary table{\n
width: 98%;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-right-width: 1px;\n
border-bottom-width: 0px;\n
border-left-width: 0px;\n
border-top-width: 0px;\n
margin-left: 5px;\n
margin-top: 5px;\n
}\n
\n
.ListSummary td.Top{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
border-left-width: 0px;\n
}\n
\n
.ListSummary td.Left{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
border-left-width: 1px;\n
}\n
\n
.ListSummary select{\n
color: &dtml-default_font_color;;\n
margin: 3px;\n
}\n
\n
\n
/* _________________ ListContent _________________ */\n
\n
.ListContent{\n
/*background-color: &dtml-main_background_color;;*/\n
color: #668b9b;\n
}\n
\n
.ListContent table{\n
width: 98%;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
border-left-width: 0px;\n
margin-left: 5px;\n
}\n
\n
.ListContent td.Data{\n
/*font-size: 0.8em;*/\n
color: &dtml-default_font_color;;\n
background-color: #c1dad2;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-left-width: 1px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
}\n
\n
.ListContent tr.DataA{\n
background-color: #ffffff;\n
}\n
\n
.ListContent tr.DataA:hover{\n
background-color: #c1dad2;\n
}\n
\n
.ListContent tr.DataB{\n
background-color: &dtml-main_background_color;;\n
}\n
\n
.ListContent tr.DataB:hover{\n
background-color: #c1dad2;\n
}\n
\n
.ListContent td.DataA{\n
/*font-size: 0.8em;*/\n
background-color: inherit;\n
color: #000000;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-left-width: 1px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
}\n
\n
.ListContent td.DataB{\n
/*font-size: 0.8em;*/\n
background-color: inherit;\n
color: #000000;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-left-width: 1px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
}\n
\n
.ListContent td.DataAError{\n
/*font-size: 0.8em;*/\n
background-color: #ffffff;\n
color: red;\n
border-color: red;\n
border-style: solid;\n
border-top-width: 2px;\n
border-left-width: 2px;\n
border-right-width: 2px;\n
border-bottom-width: 2px;\n
}\n
\n
.ListContent td.DataBError{\n
/*font-size: 0.8em;*/\n
background-color: inherit;\n
color: red;\n
border-color: red;\n
border-style: solid;\n
border-top-width: 2px;\n
border-left-width: 2px;\n
border-right-width: 2px;\n
border-bottom-width: 2px;\n
}\n
\n
/* _________________ ViewSelectionBox _________________ */\n
\n
\n
td.BorderTop{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
border-left-width: 0px;\n
}\n
\n
td.BorderLeft{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
border-left-width: 1px;\n
}\n
\n
td.BorderRightBottom{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
border-left-width: 0px;\n
}\n
\n
td.BorderRight{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 1px;\n
border-bottom-width: 0px;\n
border-left-width: 0px;\n
}\n
\n
td.BorderLeftBottom{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
border-bottom-width: 1px;\n
border-left-width: 1px;\n
}\n
\n
td.BorderBottom{\n
\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
border-bottom-width: 1px;\n
border-left-width: 0px;\n
}\n
\n
td.On{\n
font-weight: bold;\n
}\n
\n
td.Off{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
border-bottom-width: 1px;\n
border-left-width: 0px;\n
}\n
\n
/* _________________ Charts _________________ */\n
\n
.ChartContent table{\n
width: 100%;\n
/*text-align: center;*/\n
}\n
\n
.ChartContent td{\n
/*text-align: center;*/\n
}\n
\n
.ChartContent img{\n
/*text-align: center;*/\n
}\n
\n
/* _________________ Front Page _________________ */\n
\n
td.ModuleShortcut p{\n
margin: 3px;\n
padding:3px;\n
font-family: &dtml-default_font_family;;\n
font-size: &dtml-default_font_size;;\n
/* line-height: &dtml-default_font_size;;*/\n
text-decoration: none;\n
font-style: normal;\n
}\n
\n
/* figure decoration */\n
.figure {\n
text-align: right;\n
}\n
\n
</dtml-with>\n
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.DTMLMethod</string>
<string>DTMLMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>erp5.js</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string>function submitAction(form,act) {\n
form.action = act;\n
form.submit();\n
}\n
\n
function setFocus(name) {\n
element = document.getElementsByName(name)[0];\n
if (element) { \n
element.focus();\n
}\n
}\n
</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.DTMLMethod</string>
<string>DTMLMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>erp5_html.css</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
<dtml-with erp5_stylesheet_properties>\n
\n
/*______________ CSS ERP5-CORAMY _________________ */\n
\n
\n
\n
A:link {\n
color: #002e3f;\n
text-decoration: none;\n
}\n
\n
A:visited {\n
color: #002e3f;\n
text-decoration: none;\n
}\n
\n
A:hover {\n
color: &dtml-default_font_color;;\n
text-decoration: underline;\n
}\n
\n
\n
BODY {\n
background-color: &dtml-default_background_color;;\n
margin: 0px;\n
padding:0px;\n
font-family: &dtml-default_font_family;;\n
font-size: &dtml-default_font_size;;\n
line-height: &dtml-default_font_size;;\n
text-decoration: none;\n
font-style: normal;\n
color: &dtml-default_font_color;;\n
}\n
\n
TH {\n
vertical-align: middle;\n
}\n
\n
TD{\n
/* vertical-align: middle;*/\n
align: center;\n
}\n
\n
TD.top{\n
vertical-align: top;\n
}\n
\n
IMG{\n
border: none;\n
}\n
\n
TABLE.px{\n
padding: 2px;\n
margin: 2px;\n
}\n
\n
/* _________________ Navigation Box _________________ */\n
\n
.NavigationBox{\n
color: &dtml-alternate_font_color;;\n
background-color: &dtml-navigation_background_color;;\n
vertical-align: middle;\n
\n
}\n
\n
.NavigationBox select{\n
color: &dtml-alternate_font_color;;\n
vertical-align: middle;\n
font-family: &dtml-default_font_family;;\n
}\n
\n
.input_image{\n
border:none;\n
background-color=transparent;\n
color=transparent;\n
}\n
\n
\n
/* _________________ Menu Box _________________ */\n
\n
.MenuBox{\n
color: &dtml-alternate_font_color;;\n
background-color: &dtml-menu_background_color;;\n
border-color: &dtml-alternate_border_color;;\n
border-style: solid;\n
border-bottom-width: 1px;\n
border-left-width: 0px;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
vertical-align: middle;\n
\n
padding-top: 2px;\n
padding-right: 0px;\n
padding-bottom: 2px;\n
padding-left: 0px;\n
}\n
\n
.MenuBox select{\n
color: &dtml-alternate_font_color;;\n
vertical-align: middle;\n
font-family: &dtml-default_font_family;;\n
}\n
\n
\n
/* _________________ Breadcrumb, Owner, Date _________________ */\n
\n
.Breadcrumb{\n
color: &dtml-default_font_color;;\n
line-height: 23px;\n
vertical-align: middle;\n
}\n
\n
/* _________________ Step _________________ */\n
\n
.Step{\n
color: &dtml-default_font_color;;\n
color-border: &dtml-default_font_color;;\n
border-style: solid;\n
border-bottom-width: 0px;\n
border-left-width: 1px;\n
border-top-width: 1px;\n
border-right-width: 1px;\n
}\n
\n
\n
.previous{\n
border-color: &dtml-alternate_border_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-left-width: 1px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
}\n
\n
.actual{\n
border-color: &dtml-main_border_color;;\n
border-style: solid;\n
border-top-width: 2px;\n
border-left-width: 2px;\n
border-right-width: 2px;\n
border-bottom-width: 2px;\n
}\n
\n
.next{\n
border-color: &dtml-alternate_font_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-left-width: 1px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
}\n
\n
\n
/* _________________ Main _________________ */\n
\n
.Main{\n
\n
}\n
\n
.Search{\n
\n
}\n
\n
.OutMain{\n
background-color: &dtml-default_background_color;;\n
}\n
\n
\n
\n
/* _________________ Main Content _________________ */\n
\n
\n
.MainContent{\n
background-color: &dtml-main_background_color;;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
border-left-width: 1px;\n
/*\n
margin: 2px;\n
*/\n
padding: 2px;\n
}\n
\n
/*.Main table.Border{*/\n
.Border {\n
width: 98%;\n
font-style: italic;\n
background-color: &dtml-main_background_color;;\n
border-color: dtml-main_border_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
border-left-width: 1px;\n
margin-right: 0,1em;\n
margin-left: 5px;\n
margin-top: 5px;\n
margin-bottom: 5px;\n
/*\n
padding-left: 5px;\n
padding-right: 5px;\n
padding-top: 5px;\n
padding-bottom: 5px;\n
*/\n
}\n
\n
.Main td.required{\n
font-weight: bold;\n
}\n
\n
.Main td.error{\n
color: red;\n
}\n
\n
.Main td.reqerror{\n
font-weight: bold;\n
color: red;\n
}\n
\n
.input submit{\n
color: &dtml-default_font_color;;\n
}\n
\n
.Main select{\n
}\n
\n
/* _________________ Search Content _________________ */\n
\n
.Search table.Border{\n
width: 98%;\n
font-style: italic;\n
background-color: &dtml-search_background_color;;\n
border-color: dtml-main_border_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
border-left-width: 1px;\n
margin-right: 0,1em;\n
margin-left: 5px;\n
margin-top: 5px;\n
margin-bottom: 5px;\n
/*padding-left: 5px;\n
padding-right: 5px;\n
padding-top: 5px;\n
padding-bottom: 5px;*/\n
}\n
\n
\n
/* _________________ ListSummary _________________ */\n
\n
.ListSummary{\n
background-color: &dtml-main_background_color;;\n
color: &dtml-default_font_color;;\n
}\n
\n
.ListSummary table{\n
width: 98%;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-right-width: 1px;\n
border-bottom-width: 0px;\n
border-left-width: 0px;\n
border-top-width: 0px;\n
margin-left: 5px;\n
margin-top: 5px;\n
}\n
\n
.ListSummary td.Top{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
border-left-width: 0px;\n
}\n
\n
.ListSummary td.Left{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
border-left-width: 1px;\n
}\n
\n
.ListSummary select{\n
color: &dtml-default_font_color;;\n
margin: 3px;\n
}\n
\n
\n
/* _________________ ListContent _________________ */\n
\n
.ListContent{\n
/*background-color: &dtml-main_background_color;;*/\n
color: #668b9b;\n
}\n
\n
.ListContent table{\n
width: 98%;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
border-left-width: 0px;\n
margin-left: 5px;\n
}\n
\n
.ListContent td.Data{\n
font-size: 0,8em;\n
color: &dtml-default_font_color;;\n
background-color: #c1dad2;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-left-width: 1px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
}\n
\n
.ListContent td.DataA{\n
font-size: 0,8em;\n
background-color: #ffffff;\n
color: #000000;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-left-width: 1px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
}\n
\n
.ListContent td.DataB{\n
font-size: 0,8em;\n
background-color: inherit;\n
color: #000000;\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-left-width: 1px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
}\n
\n
.ListContent td.DataAError{\n
font-size: 0,8em;\n
background-color: #ffffff;\n
color: red;\n
border-color: red;\n
border-style: solid;\n
border-top-width: 2px;\n
border-left-width: 2px;\n
border-right-width: 2px;\n
border-bottom-width: 2px;\n
}\n
\n
.ListContent td.DataBError{\n
font-size: 0,8em;\n
background-color: inherit;\n
color: red;\n
border-color: red;\n
border-style: solid;\n
border-top-width: 2px;\n
border-left-width: 2px;\n
border-right-width: 2px;\n
border-bottom-width: 2px;\n
}\n
\n
/* _________________ ViewSelectionBox _________________ */\n
\n
\n
td.BorderTop{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 1px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
border-left-width: 0px;\n
}\n
\n
td.BorderLeft{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
border-bottom-width: 0px;\n
border-left-width: 1px;\n
}\n
\n
td.BorderRightBottom{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 1px;\n
border-bottom-width: 1px;\n
border-left-width: 0px;\n
}\n
\n
td.BorderRight{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 1px;\n
border-bottom-width: 0px;\n
border-left-width: 0px;\n
}\n
\n
td.BorderLeftBottom{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
border-bottom-width: 1px;\n
border-left-width: 1px;\n
}\n
\n
td.BorderBottom{\n
\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
border-bottom-width: 1px;\n
border-left-width: 0px;\n
}\n
\n
td.On{\n
font-weight: bold;\n
}\n
\n
td.Off{\n
border-color: &dtml-default_font_color;;\n
border-style: solid;\n
border-top-width: 0px;\n
border-right-width: 0px;\n
border-bottom-width: 1px;\n
border-left-width: 0px;\n
}\n
\n
/* _________________ Charts _________________ */\n
\n
.ChartContent table{\n
width: 100%;\n
align: center;\n
}\n
\n
.ChartContent td{\n
align: center;\n
}\n
\n
.ChartContent img{\n
align: center;\n
}\n
\n
/* _________________ Front Page _________________ */\n
\n
td.ModuleShortcut p{\n
margin: 3px;\n
padding:3px;\n
font-family: &dtml-default_font_family;;\n
font-size: &dtml-default_font_size;;\n
line-height: &dtml-default_font_size;;\n
text-decoration: none;\n
font-style: normal;\n
}\n
\n
</dtml-with>\n
\n
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Folder</string>
<string>Folder</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>default_font_family</string> </value>
</item>
<item>
<key> <string>mode</string> </key>
<value> <string>wd</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>default_font_size</string> </value>
</item>
<item>
<key> <string>mode</string> </key>
<value> <string>wd</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>default_font_color</string> </value>
</item>
<item>
<key> <string>mode</string> </key>
<value> <string>wd</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>default_background_color</string> </value>
</item>
<item>
<key> <string>mode</string> </key>
<value> <string>wd</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>alternate_font_color</string> </value>
</item>
<item>
<key> <string>mode</string> </key>
<value> <string>wd</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>navigation_background_color</string> </value>
</item>
<item>
<key> <string>mode</string> </key>
<value> <string>wd</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>menu_background_color</string> </value>
</item>
<item>
<key> <string>mode</string> </key>
<value> <string>wd</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>alternate_border_color</string> </value>
</item>
<item>
<key> <string>mode</string> </key>
<value> <string>wd</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>main_background_color</string> </value>
</item>
<item>
<key> <string>mode</string> </key>
<value> <string>wd</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>search_background_color</string> </value>
</item>
<item>
<key> <string>mode</string> </key>
<value> <string>wd</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>main_border_color</string> </value>
</item>
<item>
<key> <string>mode</string> </key>
<value> <string>wd</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>alternate_border_color</string> </key>
<value> <string>#7b9ebb</string> </value>
</item>
<item>
<key> <string>alternate_font_color</string> </key>
<value> <string>#597d9b</string> </value>
</item>
<item>
<key> <string>default_background_color</string> </key>
<value> <string>#dae6e6</string> </value>
</item>
<item>
<key> <string>default_font_color</string> </key>
<value> <string>#3D7474</string> </value>
</item>
<item>
<key> <string>default_font_family</string> </key>
<value> <string>Arial, Helvetica, sans-serif</string> </value>
</item>
<item>
<key> <string>default_font_size</string> </key>
<value> <string>12px</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_stylesheet_properties</string> </value>
</item>
<item>
<key> <string>main_background_color</string> </key>
<value> <string>#D3E6DE</string> </value>
</item>
<item>
<key> <string>main_border_color</string> </key>
<value> <string>#7EC1C1</string> </value>
</item>
<item>
<key> <string>menu_background_color</string> </key>
<value> <string>#bdd0e0</string> </value>
</item>
<item>
<key> <string>navigation_background_color</string> </key>
<value> <string>#97b0c1</string> </value>
</item>
<item>
<key> <string>search_background_color</string> </key>
<value> <string>#bdd0e0</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_dav_writelocks</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block metal:define-macro="field_render">\n
<tal:block tal:define="value python:request.get(field.id, None)">\n
<tal:block tal:define="html_render python: field.render_htmlgrid(value, request)">\n
<tal:block tal:condition="python:field.meta_type != \'HiddenStringField\'">\n
<tal:repeat repeat="html_tuple html_render">\n
<tr tal:attributes="title python: context.Localizer.translate(\'erp5_ui\', context.Base_getFieldDescription(field))">\n
<td tal:content="structure python: html_tuple[0]"\n
tal:attributes="class python: \n
{0: {0: None, 1: \'required\'},\n
1: {0: \'error\', 1: \'reqerror\'}}[field_errors.has_key(field.id)][field.is_required()]"\n
i18n:translate="" i18n:domain="ui" />\n
<td>\n
<tal:block metal:use-macro="context/form_developper_buttons/macros/field"/>\n
</td>\n
<td>\n
<tal:block tal:replace="structure python: html_tuple[1]" />\n
</td>\n
</tr>\n
</tal:repeat>\n
</tal:block>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td />\n
<td tal:content="python:field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error" />\n
</tr>\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>field_render</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
metal:use-macro="here/list_dialog_master/macros/master">\n
\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by form_create_relation_dialog" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id" i18n:translate="" i18n:domain="ui">The title</title>\n
<link href="erp5.css" rel="stylesheet" type="text/css"/>\n
</head>\n
\n
<body><div metal:fill-slot="main">\n
<div class="Search">\n
\n
\n
<span tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)">\n
<table width="100%">\n
<tr>\n
<td i18n:translate="" i18n:domain="ui">\n
There is no such document in the database. You may create\n
an new document of type <b tal:content="request/portal_type" i18n:name="portal_type">protal type</b>\n
in relation with <b tal:content="here/getTitle" i18n:name="title">title</b>\n
according to relation <b tal:content="request/base_category" i18n:name="base_category">base category</b>.\n
Use the form bellow to enter the <b tal:content="request/catalog_index" i18n:name="catalog_index">catalog index</b>\n
values of new documents.\n
</td>\n
</tr>\n
\n
<span tal:repeat="field python:form.get_fields_in_group(groups[0])">\n
<tr>\n
<td tal:define="value python:request.get(field.id,None)">\n
<span tal:replace="structure python:field.render(value,request)" />\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
\n
\n
</span>\n
\n
<input type="hidden" name="base_category" value="" tal:attributes="value request/base_category">\n
<input type="hidden" name="selection_index" value="" tal:attributes="value request/selection_index">\n
<input type="hidden" name="object_uid" value="" tal:attributes="value request/object_uid">\n
<input type="hidden" name="catalog_index" value="" tal:attributes="value request/catalog_index">\n
<input type="hidden" name="portal_type" value="" tal:attributes="value request/portal_type">\n
<input type="hidden" name="default_module" value="" tal:attributes="value request/default_module">\n
\n
</div>\n
</div>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_create_relation_dialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block metal:define-macro="edit_link">\n
<a tal:condition="python: hasattr(object, \'meta_type\') and object.Base_getSourceVisibility()"\n
tal:attributes="href python: \'%s/%s\' % (\'/\'.join(object.getPhysicalPath()[len(object.getPortalObject().getPhysicalPath()):]), manage) # XXX: quick hack to get path;\n
title info;"><img tal:attributes="src python: \'images/%s\' % (image, );\n
alt info;"/></a>\n
</tal:block>\n
<tal:block metal:define-macro="translate_link" tal:define="image image | python: \'translate.png\'">\n
<a tal:condition="python: context.Base_getTranslationVisibility()"\n
tal:attributes="href python: \'%s/manage_messages?regex=^%s%%24&amp;lang=%s\' % (\'/\'.join(context.Localizer.erp5_ui.getPhysicalPath()[len(context.Localizer.erp5_ui.getPortalObject().getPhysicalPath()):]), message, context.Localizer.get_selected_language());\n
title info;"><img tal:attributes="src python: \'images/%s\' % (image, );\n
alt info;"/></a>\n
</tal:block>\n
<tal:block metal:define-macro="form">\n
<tal:block tal:define="image python: \'editform.png\';\n
info python: \'Edit this form\';\n
object python: form;\n
manage python: \'manage\'">\n
<tal:block metal:use-macro="context/form_developper_buttons/macros/edit_link"/>\n
</tal:block>\n
<tal:block tal:define="image python: \'editformaction.png\';\n
info python: \'Edit this form\\\'s action\';\n
object python: getattr(context, form.action, None);\n
manage python: \'manage_main\'">\n
<tal:block metal:use-macro="context/form_developper_buttons/macros/edit_link"/>\n
</tal:block>\n
</tal:block>\n
<tal:block metal:define-macro="field">\n
<tal:block tal:define="image python: \'editfield.png\';\n
info python: \'Edit this field\';\n
object python: field;\n
manage python: \'manage_main\'">\n
<tal:block metal:use-macro="context/form_developper_buttons/macros/edit_link"/>\n
</tal:block>\n
<tal:block tal:define="info python: \'Translate this field title\';\n
message python: field[\'title\'];\n
image python: \'translate.png\'">\n
<tal:block metal:use-macro="context/form_developper_buttons/macros/translate_link"/>\n
</tal:block>\n
<tal:block tal:define="desc python: context.Base_getFieldDescription(field)">\n
<tal:block tal:condition="python: desc not in (None, \'\')">\n
<tal:block tal:define="info python: \'Translate this field description\';\n
message desc;\n
image python: \'translate_tooltip.png\'">\n
<tal:block metal:use-macro="context/form_developper_buttons/macros/translate_link"/>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_developper_buttons</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_dav_writelocks</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode request/editable_mode | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:dialog_master;\n
layout_id layout_form/pt | default_layout;">\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<div class="Search">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/form"/>\n
<span tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
params python: here.portal_selections.getSelectionParams(selection_name, REQUEST=request);\n
dummy python: request.set(\'here\',here)">\n
<table class="Border" width="100%">\n
<tr>\n
<td>\n
<table>\n
<tr tal:condition="request/dialog_category | nothing"\n
tal:define="dialog_category request/dialog_category | nothing">\n
<td i18n:translate="" i18n:domain="ui" \n
tal:content="python:{\'object_exchange\':\'Exchange Select:\',\n
\'object_print\':\'Print Select:\',\n
\'object_search\':\'Search Select:\',\n
\'object_report\':\'Report Select:\',\n
}.get(dialog_category, \'Select:\')">Search Type:</td>\n
<td valign="middle" align="right" nowrap\n
tal:define="actions python:filtered_actions[dialog_category]">\n
<input type="hidden" name="dialog_category" value="dialog_category"\n
tal:attributes="value dialog_category" />\n
<select name="dialog_select" size="1"\n
tal:attributes="onChange string:submitAction(this.form, \'${here/absolute_url}/Base_doDialog\')">\n
<span tal:repeat="action actions">\n
<option value="1" tal:content="action/name"\n
tal:condition="python: action[\'url\'].find(form.id) < 0"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value action/url">Saut</option>\n
<option value="1" tal:content="action/name"\n
tal:condition="python: action[\'url\'].find(form.id) >= 0"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value action/url"\n
selected>Saut</option>\n
</span>\n
</select></td>\n
<td valign="bottom" align="left" nowrap> &nbsp;\n
<input type="image" src="/images/erp5_html_style/images/exec16.png" title="Action"\n
alt="Action" name="Base_doDialog:method"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/exec16.png"/> &nbsp;\n
</td>\n
</tr>\n
</table>\n
</td>\n
<td valign="top" tal:condition="python: len(groups)>1"></td>\n
</tr>\n
<tr><td valign="top">\n
<table>\n
<span tal:repeat="field python:form.get_fields_in_group(groups[0])">\n
<tr>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
>\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required">\n
</td>\n
<td tal:define="field_key python:field.id.startswith(\'my_\') and field.id[3:] or field.id;\n
value python:field.get_value(\'default\') or request.get(field_key, params.get(field_key,None))">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/field"/>\n
<span tal:replace="structure python:field.render(value,request)" />\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td>\n
</td>\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
</td>\n
<td valign="top" tal:condition="python: len(groups)>1">\n
<table>\n
<span tal:repeat="field python:form.get_fields_in_group(groups[1])">\n
<tr>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
>\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required">\n
</td>\n
<td tal:define="field_key python:field.id.startswith(\'my_\') and field.id[3:] or field.id;\n
value python:field.get_value(\'default\') or request.get(field_key, params.get(field_key,None))">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/field"/>\n
<span tal:replace="structure python:field.render(value,request)" />\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td>\n
</td>\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
</td></tr>\n
</table>\n
\n
<span tal:condition="python: len(groups)>2">\n
<table class="Border" tal:condition="python: len(form.get_fields_in_group(groups[2]))>0">\n
<td>\n
<table width="100%">\n
<span tal:repeat="field python:form.get_fields_in_group(groups[2])">\n
<tr>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
>\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required">\n
</td>\n
</tr>\n
<tr>\n
<td tal:define="field_key python:field.id.startswith(\'my_\') and field.id[3:] or field.id;\n
value python:field.get_value(\'default\') or request.get(field_key, params.get(field_key,None))">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/field"/>\n
<span tal:replace="structure python:field.render(value,request)"/>\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
</td>\n
</table>\n
</span>\n
\n
<span tal:condition="python: len(groups)>3">\n
<span tal:repeat="field python:form.get_fields_in_group(groups[3])">\n
<span tal:define="field_key python:field.id.startswith(\'my_\') and field.id[3:] or field.id;\n
value python:field.get_value(\'default\') or request.get(field_key, params.get(field_key,None))"\n
tal:replace="structure python:field.render(value,request)" />\n
</span>\n
</span>\n
</span>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode request/editable_mode | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:list_dialog_master;\n
layout_id layout_form/pt | default_layout;">\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<div class="Search">\n
<span tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)">\n
<table width="100%">\n
<span tal:repeat="field python:form.get_fields_in_group(groups[0])">\n
<tr>\n
<td tal:define="value python:request.get(field.id,None)">\n
<span tal:replace="structure python:field.render(value,request)" />\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
</span>\n
<input type="hidden" name="selection_index" value="" tal:attributes="value request/selection_index | string:">\n
<input type="hidden" name="object_uid" value="" tal:attributes="value request/object_uid">\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_folder_delete</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
metal:define-macro="master">\n
\n
<!-- declaring scripting based on the JavaScript Language -->\n
<script language="JavaScript" src="erp5.js"\n
tal:attributes="src python:\'%s/erp5.js\' % here.portal_url()">\n
</script>\n
<script type="text/javascript" src="wz_dragdrop.js" tal:attributes="src python:\'%s/wz_dragdrop.js\' % here.portal_url()">\n
</script>\n
\n
<!-- HEAD -->\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by view_master" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="python:\'%s - %s\' % (here.Localizer.erp5_ui.gettext(template.title_or_id()),\n
here.Localizer.erp5_content.gettext(here.getTitleOrId()))"> The title </title>\n
\n
<!-- adding special CSS for page and fields class-->\n
<span tal:define="object_name form/title;\n
object_name python:object_name.replace(\' \',\'\');\n
portal_url here/portal_url;\n
object_name string:${object_name}">\n
<link href="my_css" rel="stylesheet" type="text/css" group="test"\n
tal:attributes="href string:${object_name}_css.css"/>\n
</span>\n
\n
<!-- standard instance of CSS field class.\n
\'erp5_html.css\' is a bit different from \'erp5.css\' because it does\n
ot include \'main\' and \'input\' class. The special CSS file declared\n
just before aim these class\n
UPDATED : file \'erp5_html.css\' has a special class \'.my_span\' to\n
define good span properties (otherwize display is ugly) -->\n
<link href="erp5.css" rel="stylesheet" type="text/css"\n
tal:attributes="href python: here.portal_url() + \'/\' + \'erp5_html.css\'" />\n
\n
<!-- taking \'planning_box\' in charge if exists -->\n
<tal:block tal:condition="python:form.has_field(\'planning_box\')">\n
<tal:block tal:define="planning_box1 python:form.get_field(\'planning_box\');dummy python:request.set(\'here\',here)" >\n
<style tal:content="structure python: planning_box1.render_css(None,REQUEST=request)"/>\n
</tal:block>\n
</tal:block>\n
</head>\n
\n
\n
<!-- BODY -->\n
<body LEFTMARGIN=0 TOPMARGIN=0 MARGINHEIGHT="0" MARGINWIDTH="0">\n
\n
\n
<form action="Test" name="main_form" id="main_form"\n
tal:attributes="action here/absolute_url;\n
method form/method | python:\'post\';\n
enctype form/enctype | python:\'multipart/form-data\'"\n
method="post"\n
enctype="multipart/form-data" >\n
<div metal:use-macro="here/global_definition/macros/global_definition" />\n
<input type="hidden" name="form_id" value="form"\n
tal:attributes="value form/id | template/id | script/id">\n
<input type="hidden" name="query_string" value="query"\n
tal:attributes="value request/QUERY_STRING">\n
<input type="hidden" name="object_uid" value="uid"\n
tal:attributes="value here/getUid">\n
<input type="hidden" name="object_path" value="path"\n
tal:attributes="value here/getPath">\n
<!-- Menu Boxes -->\n
<table cellpadding="0" cellspacing="0" width="100%">\n
<tr>\n
<td nowrap>\n
<!-- Navigation Box Goes Here -->\n
<div class="NavigationBox">\n
<div metal:use-macro="here/navigation_box/macros/navigation_box"\n
>Navigation Box</div>\n
</div>\n
</td>\n
</tr>\n
<tr>\n
<td valign="middle" >\n
<!-- Menu Box Goes Here -->\n
<div class="MenuBox">\n
<span\n
metal:use-macro="here/view_menu_box/macros/menu_box">\n
Menu Box\n
</span>\n
</div>\n
</td>\n
</tr>\n
</table>\n
<!-- Breadcrumb, owner and date-->\n
<div class="Breadcrumb">\n
<span metal:use-macro="here/breadcrumb/macros/full_breadcrumb">\n
Breadcrumb\n
</span>\n
</div>\n
<!-- Optional Portal Status Message -->\n
<div class="Main"\n
tal:condition="request/portal_status_message | nothing">\n
<table><tr><td class="error"\n
tal:content="request/portal_status_message">\n
</td></tr>\n
</table>\n
</div>\n
<!-- Main -->\n
<table border="0" cellpadding="0" cellspacing="0" width="99%" >\n
<tr>\n
<td width="5" class="OutMain">\n
<img src="/images/erp5_html_style/images/spacer.png"\n
width="5" height="5" border="0"\n
tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
<td>\n
<table border="0" cellpadding="0" cellspacing="0" width="100%">\n
<tr>\n
<td width="100%">\n
<table border="0" cellpadding="0" cellspacing="0"\n
width="100%">\n
<tr>\n
<td width="100%" class="OutMain">\n
<!-- View Selection Menu goes here -->\n
<span\n
metal:use-macro="here/view_selection_box/macros/view_selection_box">\n
View selection bar\n
</span>\n
</td>\n
</tr>\n
</table>\n
</td>\n
</tr>\n
<tr>\n
<!-- Main Content -->\n
<td width="100%" class="MainContent">\n
<span tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here);\n
object_name form/title;\n
object_name python:object_name.replace(\' \',\'\')"\n
tal:omit-tag=""> <span tal:replace="nothing">\n
<!-- get a page (i.e entering group) --></span>\n
<span tal:repeat="pagenum python:range(len(groups))"\n
class=my_span\n
tal:omit-tag="">\n
<div\n
class="my_page_class"\n
tal:attributes="class string:page_${pagenum}">\n
<img src="test_object_page_0.png"\n
alt="background"\n
class="page_0_background"\n
tal:attributes="src string:${object_name}_background_${pagenum};\n
class string:page_${pagenum}_background"/>\n
<span tal:replace="nothing" class=my_span>\n
page is not empty (there is at least one element)\n
considering class = \'page_\' + pagenum\n
\n
</span><span tal:repeat="field python:form.get_fields_in_group(groups[pagenum])"\n
class=my_span\n
tal:omit-tag="">\n
<span tal:replace="nothing"> get a field\n
</span><span tal:condition="python:field.meta_type != \'HiddenStringField\'"\n
tal:define="name python:str(field.id);\n
value python:request.get(field.id,None)"\n
class=my_span\n
tal:omit-tag=""> <span tal:replace="nothing">\n
\n
\'value\' recovered, just need to paste object-input.\n
class property has been updated to comply with css class declared\n
at the begining of the document, and title is placed to help user\n
in filling the fields (browser automatically popup the name when\n
cursor is left over the field.\n
considering class = field.id</span>\n
<div tal:condition="python: field_errors.has_key(field.id)">\n
<span tal:replace="structure python:field.render(value,request)"\n
tal:attributes="class string:${name}_error;\n
title string:${field/title}_ERROR"/>\n
\n
<span tal:condition="python: field_errors.has_key(field.id)"\n
tal:content="python: field_errors[field.id].error_text"\n
tal:attributes="class string:${name}_error_display"\n
i18n:translate="" i18n:domain="ui">\n
</span>\n
</div>\n
<div tal:condition="python: (not field_errors.has_key(field.id))">\n
<span tal:replace="structure python:field.render(value,request)"\n
tal:attributes="class string:${name};\n
title field/title"/>\n
</div>\n
</span>\n
</span>\n
<br/>\n
<br/>\n
\n
</div>\n
<span tal:replace="nothing">\n
this test is needed to add a content after the last page\n
displayed to be sure it is well displayed under konqueror\n
(Mozilla does not have this kind of problem)\n
</span>\n
<div tal:condition="python:pagenum==(len(groups)-1)"\n
tal:attributes="class string:page_end">\n
<b></b>\n
</div>\n
</span>\n
</span>\n
</td>\n
</tr>\n
</table>\n
</td>\n
<td width="1" class="OutMain"><img src="/images/erp5_html_style/images/spacer.png"\n
width="1" height="1" border="0" alt="img"\n
tal:attributes="src string:${portal_url}/images/spacer.png"/>\n
</td>\n
</tr>\n
</table>\n
</form>\n
</body>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_html</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
editable_mode request/editable_mode | nothing;\n
global ignore_layout request/ignore_layout | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:list_master;\n
layout_id layout_form/pt | default_layout;">\n
<tal:block tal:condition="python: not layout_form_id or ignore_layout">\n
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
</tal:block>\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by form_list" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id" i18n:translate="" i18n:domain="ui"></title>\n
<link href="erp5.css" rel="stylesheet" type="text/css"/>\n
</head>\n
\n
<body>\n
<div metal:fill-slot="main">\n
<div class="Main">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/form"/>\n
<span tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)">\n
<tal:block tal:condition="python: len(groups)>0">\n
<span tal:repeat="field python:form.get_fields_in_group(groups[0])">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/field"/>\n
<div class="FormDescription" tal:content="python:field.get_value(\'description\')"></div>\n
<span tal:define="value python:request.get(field.id,None)"\n
tal:replace="structure python:field.render(value,request)" />\n
</span>\n
</tal:block>\n
</span>\n
</div>\n
</div>\n
</body>\n
</html>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_list</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode request/editable_mode | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:list_dialog_master;\n
layout_id layout_form/pt | default_layout;">\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<div class="Search">\n
\n
\n
<span tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)">\n
<table class="Border" width="100%">\n
<tr>\n
<td>\n
<table>\n
<tr tal:condition="request/dialog_category | nothing"\n
tal:define="dialog_category request/dialog_category | nothing">\n
<td i18n:translate="" i18n:domain="ui" \n
tal:content="python:{\'object_exchange\':\'Exchange Select:\',\n
\'object_print\':\'Print Select:\',\n
\'object_search\':\'Search Select:\',\n
\'object_report\':\'Report Select:\',\n
}.get(dialog_category, \'Select:\')">Search Type:</td>\n
<td valign="middle" align="right" nowrap\n
tal:define="actions python:filtered_actions[dialog_category]">\n
<input type="hidden" name="dialog_category" value="dialog_category"\n
tal:attributes="value dialog_category" />\n
<select name="dialog_select" size="1"\n
tal:attributes="onChange string:submitAction(this.form, \'${here/absolute_url}/Base_doDialog\')">\n
<span tal:repeat="action actions">\n
<option value="1" tal:content="action/name"\n
tal:condition="python: action[\'url\'].find(form.id) < 0"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value action/url">Saut</option>\n
<option value="1" tal:content="action/name"\n
tal:condition="python: action[\'url\'].find(form.id) >= 0"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value action/url"\n
selected>Saut</option>\n
</span>\n
</select></td>\n
<td valign="bottom" align="left" nowrap> &nbsp;\n
<input type="image" src="/images/erp5_html_style/images/exec16.png" title="Action"\n
alt="Action" name="Base_doDialog:method"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/exec16.png"/> &nbsp;\n
</td>\n
</tr>\n
</table>\n
</td>\n
<td valign="top" tal:condition="python: len(groups)>1"></td>\n
</tr>\n
<tr><td valign="top">\n
<table>\n
<span tal:repeat="field python:form.get_fields_in_group(groups[0])">\n
<tr>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
>\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required">\n
</td>\n
<td tal:define="value python:request.get(field.id,None)">\n
<span tal:replace="structure python:field.render(value,request)" />\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td>\n
</td>\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
</td>\n
<td valign="top" tal:condition="python: len(groups)>1">\n
<table>\n
<span tal:repeat="field python:form.get_fields_in_group(groups[1])">\n
<tr>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
>\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required">\n
</td>\n
<td tal:define="value python:request.get(field.id,None)">\n
<span tal:replace="structure python:field.render(value,request)" />\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td>\n
</td>\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
</td></tr>\n
</table>\n
\n
<table class="Border" tal:condition="python: len(groups)>2">\n
<td>\n
<table width="100%">\n
<span tal:repeat="field python:form.get_fields_in_group(groups[2])">\n
<tr>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
>\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required">\n
</td>\n
</tr>\n
<tr>\n
<td tal:define="value python:request.get(field.id,None)">\n
<span tal:replace="structure python:field.render(value,request)"/>\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
</td>\n
</table>\n
\n
<span tal:condition="python: len(groups)>3">\n
<span tal:repeat="field python:form.get_fields_in_group(groups[3])">\n
<span tal:define="value python:request.get(field.id,None)"\n
tal:replace="structure python:field.render(value,request)" />\n
</span>\n
</span>\n
\n
\n
</span>\n
\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_list_dialog</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode python:1;\n
dummy python:request.set(\'editable_mode\', editable_mode);\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:list_dialog_master;\n
layout_id layout_form/pt | default_layout;">\n
<tal:block tal:condition="python: not layout_form_id or ignore_layout">\n
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
</tal:block>\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<div metal:fill-slot="main">\n
<div class="Search" tal:define="form_pickle request/form_pickle | nothing;\n
form_signature request/form_signature | nothing;">\n
<span tal:define="groups form/get_groups;\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here);" >\n
<table width="100%">\n
<span tal:repeat="field python:form.get_fields_in_group(groups[0])">\n
<tr>\n
<td tal:define="value python:request.get(field.id,None)">\n
<tal:block tal:replace="structure python:field.render(value,request)" />\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
</span>\n
<input type="hidden" name="form_pickle" tal:attributes="value form_pickle | nothing" tal:condition="form_pickle | nothing"/>\n
<input type="hidden" name="form_signature" tal:attributes="value form_signature | nothing" tal:condition="form_signature | nothing"/>\n
<input type="hidden" name="selection_index" tal:attributes="value request/selection_index | nothing">\n
<input type="hidden" name="object_uid" tal:attributes="value request/object_uid">\n
<input type="hidden" name="field_id" tal:attributes="value request/field_id">\n
</div>\n
</div>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_list_relation</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode request/editable_mode | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:list_dialog_master;\n
layout_id layout_form/pt | default_layout;">\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<div class="Search">\n
<span tal:define="field_errors python: request.get(\'field_errors\',{});\n
form_id request/form_id;\n
base_form python:getattr(here,form_id);\n
groups base_form/get_groups;\n
default_columns python:base_form.get_fields_in_group(groups[0])[0].get_value(\'columns\');\n
columns python:here.portal_selections.getSelectionColumns(selection_name, REQUEST=request, columns=default_columns);\n
selected_stats python:here.portal_selections.getSelectionStats(selection_name, REQUEST=request);\n
dummy python: request.set(\'here\',here);\n
global row_index python:0;\n
global row_keys python:[\'None\'];\n
global stats python: [\' \',\'count\',\'sum\',\'max\',\'min\',\'avg\'];\n
all_columns python:base_form.get_fields_in_group(groups[0])[0].get_value(\'all_columns\')">\n
\n
<table class="Border" width="100%">\n
<tr>\n
<td valign="top">\n
<table>\n
<span tal:repeat="item columns">\n
<tr tal:define="global row_index python:row_index+1;\n
dummy python:row_keys.append(item[0])">\n
<td>\n
<tal:block i18n:translate="" i18n:domain="ui">Column</tal:block>\n
<span tal:replace="row_index" />\n
</td>\n
<td id="column_0" tal:attributes="id python:\'column_%d\' % row_index">\n
<select name="field_columns">\n
<span tal:repeat="option python: [(\'None\',\'None\')] + all_columns">\n
<option tal:condition="python:option[0]==item[0]"\n
tal:content="python: option[1]"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value python:option[0]"\n
value="None"\n
selected />\n
<option tal:condition="python:option[0]!=item[0]"\n
tal:content="python: option[1]"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value python:option[0]"\n
value="None" />\n
</span>\n
</select>\n
&nbsp;\n
<select name="stat_columns">\n
<span tal:repeat="stat stats">\n
<span tal:condition="python: len(selected_stats) >= row_index and stat == selected_stats[row_index - 1]">\n
<option tal:content="stat"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value stat"\n
value="None"\n
selected />\n
</span>\n
<span tal:condition="python: len(selected_stats) < row_index or stat != selected_stats[row_index - 1]">\n
<option tal:content="stat"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value stat"\n
value="None" />\n
</span>\n
</span>\n
</select>\n
</td>\n
</tr>\n
</span>\n
<span tal:repeat="item all_columns">\n
<tr tal:condition="python: item[0] not in row_keys">\n
<td tal:define="global row_index python:row_index+1">\n
<tal:block i18n:translate="" i18n:domain="ui">Column</tal:block>\n
<span tal:replace="row_index" />\n
</td>\n
<td id="column_0" tal:attributes="id python:\'column_%d\' % row_index">\n
<select name="field_columns">\n
<option selected\n
value="None"\n
i18n:translate="" i18n:domain="ui">\n
None\n
</option>\n
<option tal:repeat="option all_columns"\n
tal:content="python:option[1]"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value python:option[0]"\n
value="None" />\n
</select>\n
&nbsp;\n
<select name="stat_columns">\n
<span tal:repeat="stat stats">\n
<span tal:condition="python: len(selected_stats) >= row_index and stat == selected_stats[row_index - 1]"\n
tal:on-error="string: row_index">\n
<option tal:content="stat"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value stat"\n
value="None"\n
selected />\n
</span>\n
<span tal:condition="python: len(selected_stats) < row_index or stat != selected_stats[row_index - 1]"\n
tal:on-error="string: row_index">\n
<option tal:content="stat"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value stat"\n
value="None" />\n
</span>\n
</span>\n
</select>\n
</td>\n
</tr>\n
</span>\n
</table>\n
</td>\n
</tr>\n
</table>\n
\n
</span>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_list_ui</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode request/editable_mode | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:list_dialog_master;\n
layout_id layout_form/pt | default_layout;">\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<div class="Search">\n
<span tal:define="groups python: form.get_groups(include_empty=1);\n
sort_on python:here.portal_selections.getSelectionSortOrder(selection_name, REQUEST=request);\n
dummy python: request.set(\'here\',here);\n
global row_index python:0;\n
global row_keys python:[\'None\'];\n
form_id request/form_id;\n
base_form python:getattr(here,form_id);\n
groups base_form/get_groups;\n
all_columns python:base_form.get_fields_in_group(groups[0])[0].get_value(\'all_columns\')">\n
<table class="Border" width="100%">\n
<tr><td valign="top">\n
<table>\n
<span tal:repeat="item python:sort_on">\n
<tr tal:define="global row_index python:row_index+1;\n
dummy python:row_keys.append(item[0])">\n
<td>\n
<tal:block i18n:translate="" i18n:domain="ui">Sort</tal:block>\n
<span tal:replace="row_index" />\n
</td>\n
<td id="sort_on_0" tal:attributes=\'id python:"sort_on_%d" % row_index\'>\n
<select name="field_sort_on">\n
<span tal:repeat="option python: [(\'None\',\'None\')] + all_columns">\n
<option tal:condition="python:option[0]==item[0]"\n
tal:content="python:option[1]"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value python:option[0]"\n
value="None"\n
selected></option>\n
<option tal:condition="python:option[0]!=item[0]"\n
tal:content="python:option[1]"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value python:option[0]"\n
value="None"></option>\n
</span>\n
</select>\n
</td>\n
<td id="sort_order_0" tal:attributes=\'id python:"sort_order_%d" % row_index\'>\n
<span tal:replace="structure python:form.sort_order.render(item[1], request)" />\n
</td>\n
</tr>\n
</span>\n
<span tal:repeat="item all_columns">\n
<tr tal:condition="python: item[0] not in row_keys">\n
<td tal:define="global row_index python:row_index+1">\n
<tal:block i18n:translate="" i18n:domain="ui">Sort</tal:block>\n
<span tal:replace="row_index" />\n
</td>\n
<td id="sort_on_0" tal:attributes=\'id python:"sort_on_%d" % row_index\'>\n
<select name="field_sort_on">\n
<option selected value="None">None</option>\n
<option tal:repeat="option all_columns"\n
tal:content="python:option[1]"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value python:option[0]"\n
value="None"></option>\n
</select>\n
</td>\n
<td id="sort_order_0" tal:attributes=\'id python:"sort_order_%d" % row_index\'>\n
<span tal:replace="structure python:form.sort_order.render(\'\', request)" />\n
</td>\n
</tr>\n
</span>\n
</table>\n
</td></tr>\n
</table>\n
\n
</span>\n
\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_sort</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_dav_writelocks</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
\n
<tal:block tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode request/editable_mode | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:view_master;\n
layout_id layout_form/pt | default_layout;">\n
\n
\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<tal:block metal:define-macro="form_render">\n
\n
<tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)"\n
tal:condition="python: layout_form_id and not ignore_layout">\n
\n
<tal:block tal:condition="not: editable_mode" tal:repeat="group python: form.get_groups()">\n
<div tal:attributes="class group/lower" tal:condition="python: group.find(\'content\') >= 0">\n
<tal:block tal:condition="python: \'hidden\' not in group.lower()" tal:repeat="field python:form.get_fields_in_group(group)">\n
<tal:block tal:replace="structure python: field.render(None, request)"/>\n
</tal:block>\n
</div>\n
</tal:block>\n
\n
<div class="fieldgroup" tal:condition="editable_mode">\n
<tal:block tal:repeat="group python: form.get_groups()">\n
<fieldset tal:condition="python: \'hidden\' not in group.lower()">\n
<legend tal:content="group"/>\n
<table tal:condition="python: \'content\' not in group.lower() and \'bottom\' not in group.lower()">\n
<tal:block tal:repeat="field python:form.get_fields_in_group(group)">\n
<tal:block metal:use-macro="here/field_render/macros/field_render"/>\n
</tal:block>\n
</table>\n
<tal:block tal:condition="python: \'content\' in group.lower() or \'bottom\' in group.lower()"\n
tal:repeat="field python:form.get_fields_in_group(group)">\n
<tal:block tal:define="value python:request.get(field.id, None)"\n
tal:replace="structure python:field.render(value, request)"/>\n
</tal:block>\n
</fieldset>\n
</tal:block>\n
</div>\n
\n
</tal:block>\n
\n
<tal:block tal:condition="python: not layout_form_id or ignore_layout">\n
<tal:block metal:define-macro="form_layout">\n
<div class="Main" tal:define="field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/form"/>\n
<tal:block tal:define="groups python: form.get_groups();\n
rows python:[];">\n
<tal:block tal:repeat="group groups">\n
<tal:block tal:condition="python: not (\'right\' in group.lower()) or\n
len(rows)==0">\n
<tal:block tal:define="dummy python: rows.append([])"/>\n
</tal:block>\n
<tal:block tal:condition="python: len(rows[-1])>1">\n
<tal:block tal:define="dummy python: rows.append([])"/>\n
</tal:block>\n
<tal:block tal:condition="python: \'hidden\' not in group.lower()">\n
<tal:block tal:define="dummy python: rows[-1].append(repeat[\'group\'].index)"/>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:repeat="row rows">\n
<tal:block tal:condition="python: len(row)>0">\n
<tal:block tal:condition="python: \'bottom\' not in groups[row[0]].lower()">\n
<table width="100%" class="Border">\n
<tr>\n
<td tal:repeat="cell row" valign="top">\n
<table width="100%">\n
<tal:block tal:repeat="field python:form.get_fields_in_group(groups[cell])">\n
<tal:block metal:use-macro="here/field_render/macros/field_render"/>\n
</tal:block>\n
</table>\n
</td>\n
</tr>\n
</table>\n
</tal:block>\n
<tal:block tal:condition="python: \'bottom\' in groups[row[0]].lower()">\n
<tal:block tal:repeat="cell row">\n
<tal:block tal:repeat="field python:form.get_fields_in_group(groups[cell])">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/field"/>\n
<tal:block tal:define="value python:request.get(field.id, None)"\n
tal:replace="structure python:field.render(value, request)" />\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</div>\n
</tal:block>\n
</tal:block>\n
\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_view</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
\n
<tal:block tal:replace=\'nothing\'>\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode python:1;\n
dummy python:request.set(\'editable_mode\', editable_mode);\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:view_dialog_master;\n
layout_id layout_form/pt | default_layout;">\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<div class="Search">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/form"/>\n
<span tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)">\n
<table class="Border" width="100%" tal:condition="python:len(form.get_fields_in_group(groups[0])) > 0\n
or len(form.get_fields_in_group(groups[1])) > 0">\n
<tr>\n
<td>\n
<table>\n
<tr tal:condition="request/dialog_category | nothing">\n
<td i18n:translate="" i18n:domain="ui">Search Type:</td>\n
<td valign="middle" align="right" nowrap\n
tal:define="dialog_category request/dialog_category;\n
actions python:filtered_actions[dialog_category]">\n
<input type="hidden" name="dialog_category" value="dialog_category"\n
tal:attributes="value dialog_category" />\n
<select name="dialog_select" size="1"\n
tal:attributes="onChange string:submitAction(this.form, \'${here/absolute_url}/Base_doDialog\')">\n
<span tal:repeat="action actions">\n
<option value="1" tal:content="action/name"\n
tal:condition="python: action[\'url\'].find(form.id) < 0"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value action/url"></option>\n
<option value="1" tal:content="action/name"\n
tal:condition="python: action[\'url\'].find(form.id) >= 0"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value action/url"\n
selected></option>\n
</span>\n
</select>\n
</td>\n
<td valign="bottom" align="left" nowrap> &nbsp;\n
<input type="image" src="/images/erp5_html_style/images/exec16.png" title="Action"\n
i18n:attributes="title" i18n:domain="ui"\n
alt="Action" name="Base_doDialog:method" /> &nbsp;\n
</td>\n
</tr>\n
</table>\n
</td>\n
<td valign="top" tal:condition="python: len(groups)>1"></td>\n
</tr>\n
<tr>\n
<td valign="top">\n
<table>\n
<span tal:repeat="field python:form.get_fields_in_group(groups[0])">\n
<tr>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required">\n
</td>\n
<td tal:define="value python:request.get(field.id,None)">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/field"/>\n
<span tal:replace="structure python:field.render(value,request)" />\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td>\n
</td>\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
</td>\n
<td valign="top" tal:condition="python: len(groups)>1">\n
<table>\n
<span tal:repeat="field python:form.get_fields_in_group(groups[1])">\n
<tr>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
>\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required">\n
</td>\n
<td tal:define="value python:request.get(field.id,None)">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/field"/>\n
<span tal:replace="structure python:field.render(value,request)" />\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td>\n
</td>\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
</td></tr>\n
</table>\n
<table class="Border" tal:condition="python: len(groups)>2 and\n
len(form.get_fields_in_group(groups[2])) > 0">\n
<td>\n
<table width="100%">\n
<span tal:repeat="field python:form.get_fields_in_group(groups[2])">\n
<tr>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
>\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror">\n
</td>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required">\n
</td>\n
</tr>\n
<tr>\n
<td tal:define="value python:request.get(field.id,None)">\n
<tal:block metal:use-macro="here/form_developper_buttons/macros/field"/>\n
<span tal:replace="structure python:field.render(value,request)"/>\n
</td>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error">\n
</td>\n
</tr>\n
</span>\n
</table>\n
</td>\n
</table>\n
<span tal:condition="python: len(groups)>3">\n
<span tal:repeat="field python:form.get_fields_in_group(groups[3])">\n
<span tal:define="value python:request.get(field.id,None)"\n
tal:replace="structure python:field.render(value,request)" />\n
</span>\n
</span>\n
</span>\n
</div>\n
<!-- <pre tal:content="context/REQUEST/text"></pre>-->\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>form_view_dialog</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_dav_writelocks</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
meta:define-macro="master">\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by global_definition" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id"\n
i18n:translate="" i18n:domain="ui">\n
The title\n
</title>\n
<link href="erp5.css" rel="stylesheet" type="text/css" />\n
</head>\n
\n
<body>\n
\n
\n
<tal:block metal:define-macro="global_definition"\n
tal:define="global filtered_actions python:here.portal_actions.listFilteredActionsFor(here);\n
global workflow_actions filtered_actions/workflow | nothing;\n
global folder_actions filtered_actions/folder | nothing;\n
global object_actions filtered_actions/object_action | nothing;\n
global jump_actions filtered_actions/object_jump | nothing;\n
global button_actions filtered_actions/object_button | nothing;\n
global view_actions filtered_actions/object_view | nothing;\n
global exchange_actions filtered_actions/object_exchange | nothing;\n
global report_actions filtered_actions/object_report | nothing;\n
global print_actions filtered_actions/object_print | nothing;\n
global search_actions filtered_actions/object_search | nothing;\n
global ui_actions filtered_actions/object_ui | nothing;\n
global sort_actions filtered_actions/object_sort | nothing;\n
global user_actions filtered_actions/user | nothing;\n
global global_actions filtered_actions/global | nothing;\n
global ordered_global_actions python:here.getOrderedGlobalActionList(global_actions);\n
global portal_url python:here.portal_url();\n
global document_template_list here/getDocumentTemplateList | nothing"\n
/>\n
\n
\n
</body>\n
</html>\n
\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>global_definition</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Folder</string>
<string>Folder</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>images</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>1bottomarrow.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsRAAALEQF/ZF+RAAAAB3RJTUUH0wceEBoaC/GYTAAAAQxJREFUeJzN0b1LAnEAxvGv5XGQ
i9ELJUlgEOLSVI1BtTQEBoFTtDTd3D/U2JAJbeEg0W0RBUEHOljZpdmp552d/u7FBhHbos1nfj7L
88BYJwSAxDESc4QABwh+NZaBOuADgjp9zsIA7LKXWJvOzM4sobcrdL0efuAjTUjIssy7bhC8Ahrn
lIdIRun3wlPKztF+29NR3wpUbYNENI4lBFnDgBpXCBSASQA0nNbC98VD+X4zvXG4Eo/G6LhNap0m
N3cazq1/jckBL9gjNIB+a9G5fKo8prZS20nLs8gWVEzVzdEgQ4nusDpCA+h+zVv5YvV5tSHsZDH/
keOTE0qYf2+aJsI6p8SI/OOJcckPWp5q6kHSaFcAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>13</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>383</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>13</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>1leftarrow.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAACLklEQVR4nGL8//8/Ay0AQAAx
0cRUIAAIIJwGMzIyomAWND5jION/RhZGnN4FCCCiXfy3AURyQjgBDP8ZpIA0O271AAFE0OAqSyi9
E0R+Bxsal2DKoKcniFcfQAAxgCIPG8YKgIaGr9X//+zzjf9c7Uz/GThASrHrBwgg4g0GGpq2xRZk
0P+Oown/GeqAwcGP22CAACIujEGGptgyzPQ+xLDoUi3Dvfd3GRiYgeIfcWsBCCCcBsPCFmRoQqI5
3NCzz08wfPz5iaBbAAIIp8FtxyGGlmZ7M8z3OwE29Mqr8wxPPj1nePX1PQMDgXwFEEAsOGWAhkbH
GTMUWvTCXfrs80uGN9/w+B8JAAQQboNPMTAsVTnLcOiRIYOigDCDkaQWAwcLO8O///8g8gRcDBBA
uA3+Zc/IsOHg/8f23xk+qz8H5zZDCU2w1OefX4DkM7wGAwQQboPfHARiBkaQ2z58/stwxugpAy87
F4OTgj3DuefnCLoYIIBwGwwDd4CGMzL8/8r0j+EI0x2GX39+MzgoWAMLkzMMDIa4tQEEECOuXMbI
yAckPyMEVIBuNAXSWgwMAuzMDB9e/mVgmAV0+Kf/jNj0AwQQngwCNTQByv0HdPdpIH2RgeHDO6Ch
P4Hs37h1AwQQziwNzyDoQA7o8gggjmPAW1YABBDuDOKFymeGMb4BU8shIA3KfH9xOxgggPCEMdag
QwAJoItfMIBch1UhQADhNJhSABBANKvzAAIMAGMBGVw4LLe8AAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>675</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>1leftarrowb.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAACNUlEQVR4nGL8//8/Ay0AQAAx
0cRUIAAIIJwGMzIyomA3NL60dOB/RkYWnN4FCCCiXbzbEUROALOlpAL+CwtLAS1gx6keIIAIGtzH
C6XPgMgCsKEJCQkMenp6ePUBBBADKPKwYWwAZGhp6dr/z59//u/h0Q5UxPEfl36AACI6KECGpqWl
MHR1BTFs3HiJ4fv373iDAiCAiDIYZmh9vTfD2rWXGF68eM/AzMwMdNlHnHoAAginwbCwBRmamJgI
N/TmzecMX7/+JOgYgABiwSVR9BliaEFBNkNpqQvY0Hv3XjG8ffsJaPAPnPEAAwABhNNgkKFxcXEM
sbEWcJe+e/eZ4fPnb2B5QhkWIIBwGvzy5SmGvXtVGG7desQgLCzAoKQkycDGxgJ3KSEXAwQQToP/
/p/NeOFC/v9Pn+wZVFTUwblNUVECLPf9O+EwBgggnAYz/PNm+P2PgfHePYb/3759Zvj3z4iBk5Md
mDEUGO7ceQ5yM16DAQIIt8FQ8Pv3HcaXLxn/MzExMYDw799/GHR1FRiOHWNk4OIyxKkPIIDwGDwV
iLPBrF+/bjM+e/b/Pyg4fv78yfDw4TNgyvgCDJI7OHUDBBCeDAIxVFalFeJyhjuMT5+eZrhx4yIw
dbwDWvYTGIG/ceoGCCCcZQUsg2B4kUXuv7x8xH9l5Ti8ZQVAAOEuhFxQDXSF0ipMW4HZWeo/KJ0z
MLDiNBgggEgq3ZABM7MESBFOgwECiJFWdR5AANGszgMIMAAqdFR7tyRoMwAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>682</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>1leftarrowv.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAACQklEQVR4nGL8//8/Ay0AQAAx
0cRUIAAIIJwGMzIyomA3NL50oPR/RhZGnN4FCCCiXby7AUQGgdlSAVL/haWEGRjZGXGqBwggggb3
WULpnSByHdjQhIQEBj09Pbz6AAKIARR52DA2ADK0dG3p/+efn//3aPf4z8ABUopdP0AAER0UIEPT
UtIYuoK6GDZe2sjw/ft3vEEBEEBEGQwztN67nmHtpbUML96/YGBmZmb4/xF3UgUIIJwGw8IWZGhi
YiLc0JvPbzJ8/fmVoGMAAogFl0TRcYihBdkFDKUupWBD7726x/D201uGrz++4owHGAAIIJwGgwyN
i4tjiLWIhbv03ed3DJ+/fQbLA6MIr8EAAYTT4JenXjLsVdnLcOvRLQZhAWEGJUklBjYWNrhLCbkY
IIBwGvz3Vx3jhQ0t/z/Zf2JQUVcB5zZFCUWw3Pef3/EaCgIAAYTTYIY39Qy/3zAw3mO49//b528M
/4z+MXCyczLoKegx3Hl+h4FASDAABBBug6Hg953fjC8ZX/5nYmJiAOHff34z6CroMhxjPMbAZciF
Ux9AAOExOByIV4JZv27/Ynz2/9l/UHD8/PmT4eGzhwxfv3xl+H4Hd5AABBCeDAIxVDbBDeLyf78Z
n55+ynDj4g2Gd+/eMfz6+Yvh/2/c4QEQQDjLClgGwfCiHMt/+Qj5/8pxynjLCoAAwuniIi9UviuU
VvhWy/jk0BOG75+AwfAXt4MBAoik0g0ZMEswgxThdDFAADHSqs4DCCCa1XkAAQYA0Dg2Ui6gYe8A
AAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>695</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>1rightarrow.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAACB0lEQVR4nGL8//8/Ay0AQAAx
0cRUIAAIIJwGM/ox/mf0BWJGRgY4NkRiQzEuABBAuF0MCiFDOIuBQQyIVYl3MUAA4Q2KFeEtDAw1
UMNfAUleqEQSYYMBAgivi0FevVFwlIGhFioyDyo3D6cuOAAIINwG/2ZgePX1GYMAhwTDmcwtCJcT
CQACCLfBPxgYvv7+CjT8AcPJp7sYzmRtQbicCAAQQCz4XAwCt9+dY7j48jzD3vt7wS43YfBhYGgG
G86IL6wBAgiviz/8eAc04T/D73+/Gb78+s7QdqQcEizoYY4FAAQQboN/MTC8+/6e4frrCwwPPjxj
+PHnF8PHH18Zeo/XMiwJayAYLAABhDsofoJc/JHh3/9/DH///QML8bFzMWiLaTHU7u9iYLiF27Ug
ABBAuF38h4Hh9bcPDH///wVzhTn5GIylDBnmX9jAcP/oNwaGlUBBJQacWQ8ggHC7GBgUb799ZuBg
eYNi6N3DXxkYVoFVMDLcw+1igADCbfB3CCXNK86gIKCAaSgBABBAuIMCaPDnXz8ZmBiZcBsqgdtg
gADCm9x+/vkLTL/nEIYKQg2Nh6p5gdtggABiABX02DAQ/BfvZfvPEAZOUtiTFTCD4NIPEEB4S7eX
539BXOoIdakBmoKvuPUCBBAjrqoJWLLBJPBGFC79AAGE02BKAUAA0azOAwgwAGRF0N19O4alAAAA
AElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>636</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>1rightarrowb.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAACN0lEQVR4nGL8//8/Ay0AQAAx
0cRUIAAIIJwGS0r6/ZeQ8P3PyMjIAMNcXIYMyHwQxgUAAgivi9XUDEAUOKyYmSUYRERUiXYxQADh
NbisLJLBzq4WbPjfvy8YODl5oRYmETQYIIAYQJGHDYuL+/zfvPnq/9u33/y3ta35D3M5sfoBAgin
i//8+cXw/v03Bj4+DobJk7MYgIYz4DIcGwAIIJwG//37i+Hr158Mb99+Zbh48QnYcFiwEGMwQADh
MfgnONbv338HxK8YFi06wjBpUiaK4fjCGiCA8Bj8g+Hz5+9Q9j+GHz9+MSxceBjF8Fu35uE0GCCA
WHBJ/Pv3C2zww4dvGF69+gCOkH///jEsXXqcobAwDKzm0KFmkMuxJmaAAMJr8LdvP4GGfgQbCAKc
nBwMCgqiDMuWHQAGz02crgUBgADCGRT//v0GuvgbMHVADOXh4WRQUZFkOHDgIsOJE4cZHj9excDK
qoIz6wEEEE4X////i+HLl29AzSxgQ1VVpRj27TvPcPLkEbChQMD4+/cdnC4GCCC8BoOAkBAvg4SE
AMP+/RdQDMVpIhQABBCeMP7C8OvXbzAb3aUwNczMUjgNBgggPGXFD2D4/mG4fv0Bw6lTR8GGMjEJ
gg1VUYkHq/j79xlO3QABhDOvA8F/f//e/7KyYTjLCVAGwaUfIIDwlm6XL58Hu1RAwAHsUk5OA1Q/
/fiKUy9AADHiqpqA2RkmgTeicOkHCCCcBlMKAAKIZnUeQIABAIDCJOatcadvAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>684</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>1rightarrowv.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAACMElEQVR4nGL8//8/Ay0AQAAx
0cRUIAAIIJwGS/pJ/pfwlfjPyMjIAMNchlwMyHwQxgUAAginwaAgUjdUBzPBCsWYGERURYh2MUAA
4Q2K4vBiBtsaW7Dh/179Y+Dk5QSLqyWpETQYIIDALsOGxbzF/m++uvn/7Te3/9vV2v2HuZxY/QAB
hNPFf3//ZXj39R0DPwc/w6TMSXCXE3YqBAAEEG6Df/xl+P77O8Obr28YLj29xDA5azID0OVEGw4Q
QHhdDAIP3j1guPfyHsOiI4vALkc2HF9YAwQQXhd/+fEFaMJ/hj///jD8+PUDw/Bb827hNBgggFhw
Sfz79Y/hy/cvDA9eP2B4/eE1w79//8B4+fHlDIVhhWA1h5oPgVyONTEDBBBOg//+hLj433+IgSDA
yc7JIC8mz7B0/1KGB7ce4HQtCAAEEO4M8uc/w+dvn8EGgwAPJw+DqpQqw/4L+xlOHT3F8GjlIwZW
JVacWQ8ggHC6+P+v/wxfvn1hYGVhRTH0xOETDI9XPQYpYfx97zdOFwMEEG6Dv0NSlRCvEIOEgASG
oThNhAKAAMIZFP++/2P4+esnAxMjE05DmSWYcRoMEEC4y4ofDAx//vxhuHr/KtxQJkEmsKEq8Spg
JX9f/MWpHSCAcOZ1IPjv3+v/XzZMFmc5AcoguPQDBBDe0u3y+ctglwo6CoJdymnAieqprz9w6gUI
IEZcVROwEIdJ4I0oXPoBAginwZQCgACiWZ0HEGAAT+wqDVd/1MEAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>677</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>1toparrow.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsRAAALEQF/ZF+RAAAAB3RJTUUH0wceEBko6AuaDwAAAQdJREFUeJzVkT1Lw1AARU/ybKyk
BJsaqakUwSDBQapEhCB1LLaDFQd18h84+YPqIuomCCL4BwQHOwhvsaAWRFppUTSEhx+Dg0IV3MQz
3ssZLhf+IS4ms2xRxfyuFj2JR0bLUyuuT22mEsZky3k4QRL9LHmYDFGz5hLVpbDIcrDiy9uLifbw
4yES1St5GKQ5SC8YlfnAQ+iK3GCWUqHsnzVOg+5ItI/k5VNysbHZ0UPKlXAaO5nisnPD3VMT27Qo
zSyO16/PC93s8zGSSANgjF18VvU85NwMcRyjXhVCFyT7+nGtUdr3TRr1zh5HrH1IGhsYOAjAAa6+
7NSBAeANULRQbP/ugj/jHat9QwyQSEx1AAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>13</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>378</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>13</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>2leftarrow.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAlwSFlz
AAALEAAACxABrSO9dQAAAoZJREFUeJzVlUFLImEYx//vNMZsEyzoRVnIoEMLe/K5dHW7+QmEDoLM
6lLH3E+x0EKX3IMLXfoA3ovE24IRgpi2FFKzeJjCgcyypGcP07zpOJbXfS7PPP/5zf995mHeebEJ
J9wMAO8wHh89dVz7hZV4Vl6Px7q/wUo8i28++NcJtZv9FwHwwUcjIhZCsEeDEELWi8n1EU7xmvz1
MQ2Hw5iZmYE7MCKCq7mdBv/8HuJ8jL2mmUwGsVjsWfkBIsKw9jnqx71iTEScTqeRTCZxfX0NZgYR
wat9D41zr3ZaKBSYmblYLHIqleLZ2VkuFApgZhSLRaRSqYmcb8dExBsbGzAMA+VyGZZlQVVVPDw8
jGi1Wm0iN2ZMRJzNZiXcarVwd3cn77vazs7OqxwAqE7aBFGJc7kc1tbWUC6XYZomOp0Oer2enJtp
mtje3n6Tk8ZEJTYMA4lEQnZg2za63S4AyAe2tram4qRxs9nE4eEhzs7OEAwGsbCwgEAgIEE3T8vJ
Gd/e3or9/X1Uq1W0221cXl5ifn4eoVAIuq5LOJ/PT8U9Gzu7ybZtcXR0hEqlAtM0YVkWotEoNE2T
nViWhb29vTc5AFDj2ieU7iHNT09PWVEUKIqCwWCA5eVlCCEQiURwfn6OwWCA3d1dkU6nJ3Ltdhtq
6d4YeYVOpyNOTk5YCIF+v4+Liwt0u11cXV3h+PhYaqurq+Lg4MCXG/rcXkJbBOyWLer1Oj8+PmJp
aQn9fh9PT0+o1+sY1m5ubnw5X+P7lpN/vrdFptFgVVURCATcUaHRaMCjiYaH8w33VMAXJ+m6zkTE
iqIw4PzIdV0HEUFRXjaulxs5khxjbWyxubk5BsAebSru/4l/EkHU7hV+ID4AAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>740</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>2leftarrowb.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAACxElEQVR4nGL8//8/Ay0AQAAx
0cRUIAAIIAZ0F3NjUSMlFQBUxPwfTQxIMsP5fBYdcHUgMwECCMPFX7EYKiwsxcDIyA7kTYAbChNz
h6rjeXQCSR0DA0AA4Q0KkKEJCQkMenp6UJECsKHIYu682NQxMAAEEE6DQYqjo2MZcnOdGd6+fQ8M
sn9gQ9HFengx1YEAQABhNRhkaFpaCkNXVxDDxo2XGL5//w72IrqYlJQHVnUgABBAGAbDDK2v92ZY
u/YSw4sX7xmYmZmBLvmIInb79iWc6kAAIICY0A1NTEyEK7558znD168/4fIwsVmz5uBVBwIAAcQC
oSYADT3wv6Agm6G01AWs+N69V8Aw+wTU8AOeJEFiU6fOIKgOBAACiAXi0gP/4+LiGGJjLeAuePfu
M8Pnz9/AimDqJ0yYSpQ6EAAIILDBL1+eYti7V4Xh1q1HwPQpwKCkJMnAxsYCdwGMJlYdCAAEENjg
v3+fMV64sOH/p0/2DCoq6sCYZWRQVJQAK/j+HRF2LS3zGevqsgmqAwGAAGKBMX7/vsN47x7D/2/f
PjP8+2fEwMnJDkzwCgx37jwHuQWsBhTzM2YsYczIiMGrDgQAAogF2RaQ4S9fMv5nYmJiAOHfv/8w
6OoqMBw7xsjAxWUI1PwILDZp0gLG/PxEnOpAACCAUAwGgV+/bjM+e/b/P8ibP3/+ZHj48Bkwxr8A
vXqH4erV83AxPT0/xosXN2JVBwIAAYRhMBMf0OWf7jA+fcrw/8+f3wyysipAy34CI+Y3w9OnpxmQ
xX7/foJVHQgABBCGwf8+QehOjjuMZS9+/WdmZmFgYWGDBRUwnH8xoIkxvkBTBwIAAYRRHsuqtEIY
LhCKmVnqP6ScZQUrVGHaChKDlsescH3I6kBmAgQQFoNF0D0B1CQBUvQfTQynOpCZAAHESKs6DyCA
aFbnAQQYAIZNxpLHFlkwAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>825</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>2rightarrow.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAQAAABuvaSwAAAABGdBTUEAALGPC/xhBQAAAAlwSFlz
AAALEAAACxABrSO9dQAAAURJREFUeJytk09Kw1AQh79XKhTsQimuxBSyK8WF2bgQKQE3HiI7TyDu
c4MewG1voKAX6J8jFGxdWXQhUlxUSlsyLt4k5iVZOhAy75vf+2UYJqDRAUI6emqmmBoAvj4EBHiA
p2VPGfiEuYuXAIEEYo9W4jJouF/pgljHbtaEZQBrchHIUCJBIGBIVGCFOJORLLQ0YkFUYE6cyrMs
Za6lJXOiAsv1vGXNNzNiIpBDZsQFlorrsAM+eGNKDAzk2vRLDJM5/wAJGx7U6baCZc4r3vkiIeGJ
G2AgVQxT/3OGBsc88ko1g5p1ToB92kwYM6ZvygwDddiyYs+RtksMA810Gge0FN+bFpMCs7M4sdPY
gOI7Y7M8s1KY2p53vChOszw7crcuyRw0y9iVgU9nOaSXbUAP+8+k7AIIXXHFKubYub79kuj/4hfc
w8Zir8NtDgAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>418</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>2rightarrowb.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAADJElEQVR4nGL8//8/Ay0AQAAx
0cRUIAAIIAaQi8XFff6DMLK4hIQvGCMDbOrArmMSxDATIIDALmZkZGRQVzcEi4EITk4DsKSamgFc
MTOzBIY6GPj37z2GgwECCGwA0GX/N2688t/OrvY/TBPItUAxBqAYsi8w1OEKBYAAYoIzmBgZ5s7N
Z7C1rQELvXixGehKJmQxoMv+oYvhNBwggMCGCgu7/V+48NT/ly+//L9w4RmKi4BiDOfPPwMbJCzs
+n/RotNY1aGbCRBAYBf//fuL4fv33wyvX39luHjxCcOkSZmwIABGFg/DpUtPGCZPzgKq+8nw7dsv
hrdvMdWhGw4QQFCDf4JtefjwHcPduy8ZFi48zDBxYibcu/HxZmAxkANA4MEDhDpchgMEENTgHwxf
v/6EhuN/hp8/fzMsXnwE7EqYpv7+cLADvnz5AVf369cfhkWLjmA1HCCAWGAu/vTpG9DFb4DB8QEc
SSC8fPlxhsLCMLDCQ4ea///79wus7sEDVHVLlx5nKCgIhasDUowAAQRNFb+BYfeT4cULiGIQ4ORk
Z5CTE2VYtuwA0KBbDDAHfP36A64OlK45ONgYFBXFgI44yHD//k14UAAEEBPEW78ZPn/+Bg5nkGJe
Xi4GVVUphv37LzCcPHmE4dGjlQxFRasY////AzT4OzgYQICHhxOsbt++8wwnThxmePx4FUiYEUQA
BBALxMU/gGH3jYGdnZWBm5uDQVlZAmzoqVNHwYYWFq5kVFGRBKr7BXYACwsL2FCYOpDlyIaCAEAA
QQ2GRJyQEC+DqCgfw4EDF+EubWjYwggSA7nq///vYHUiInwMYmL8YEPRXQoDAAHEAgmK78AY/g0W
ABkKUxwaOhmsGOZ6kAN+/oQkOXyGggBAAEGLzR8Mv3//Zrh69T6K4j9//oDFYK7///8bMAL/Yqhj
ZVVBN5cBIIDg5TEo4tBdAIp5JDFoyvgLF1NTSwKr+/37DobBAAHEAK1B/isqRmPkeyWlGDAtKOgI
V46sTk4uHCyoohKPYSZAAMENRjcUB8CqTlo6GMNggABipFWdBxBANKvzAAIMAGtj+U+94cjoAAAA
AElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>921</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>Left.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAMAAACu/pY1AAAAA3NCSVQICAjb4U/gAAAASFBMVEXa
5ubZ5eXY5OTW4+PS5t7T5t690dG80dGvx8erxMSsxMSlwMCkv7+Lra2LrKyIq6uHqqqGqalumJhp
lJRkkZFlkZFjkJA9dHSAomvsAAAAGHRSTlP//////wD///////////////////////9BUS7PAAAA
CXBIWXMAAArwAAAK8AFCrDSYAAAAFnRFWHRDcmVhdGlvbiBUaW1lADI4LzExLzAxnczQOQAAACF0
RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgMi4w7qtbxwAAAE1JREFUeJxdyFsOgDAI
RFEUseKrrUW7/51aJcbA/Zo5AG/InKqmsEspibTnj2eesWvjk3CsQH9NZCEysuXeCl4TWeGCXgSc
xDg4qeS6AfHDBLDsY6PHAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>11</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>369</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>17</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>Left2.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAMAAACTbPdTAAAAA3NCSVQICAjb4U/gAAAASFBMVEXT
5t7S5t7R5d3S5d7D39nE39m83Na729a629W529W32tS22tSp1NCn08+m08+m0s+ZzcqYzMqXzMqW
y8mVy8mUysiTysh+wcGfyHjgAAAACXBIWXMAAAsSAAALEgHS3X78AAAAFnRFWHRDcmVhdGlvbiBU
aW1lADI4LzExLzAxnczQOQAAACF0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgMi4w
7qtbxwAAAENJREFUeJxjYIAADg5xIICweURERHig4qwifOxMTFAOiwA3AwKIciFxeHiYERwmMTYk
KU5hJiQehygSh0GcF4WHzAEAuJYB4DmjWhsAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>11</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>323</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>13</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>Right.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAMAAACu/pY1AAAAA3NCSVQICAjb4U/gAAAAS1BMVEXa
5ubZ5eXY5OTT5t7W4+O90dG80dGvx8esxMSrxMSpw8OlwMCkv7+Lra2LrKyIq6uHqqqGqalumJhp
lJRnkpJkkZFlkZFjkJA9dHTyGx1UAAAAGXRSTlP///8A////////////////////////////VGdH
8AAAAAlwSFlzAAAK8AAACvABQqw0mAAAACF0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29y
a3MgMi4w7qtbxwAAABZ0RVh0Q3JlYXRpb24gVGltZQAyOC8xMS8wMZ3M0DkAAABLSURBVHicXcpJ
EoAgEEPR1rQTDoA2yv1PaikLJX+VehXJpeCcSgmlYGZb88kzdIxn9/u8vux9LcCcWNq4kmC4lESP
iUQSC7xnQb4Br8gDzIYAsGQAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>11</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>371</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>17</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>activity_busy.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AAAAAAAA+UO7fwAAAAlwSFlzAAALEAAACxABrSO9dQAAAAd0SU1FB9EKERIuJegC5wQAAAMCSURB
VHiclZVNayRVFIafWxV7BkTpaBaKogwIJoIQssiqdybidMQxjAmOg4rf6MK9unDryr1rQdRhkmlJ
GhNQZrQD8wuUmICfwWTyaWJmYtU957iormtVdyeDBy5Unar73Pe+59Ypx22i1WpZr3ytVnMnzTv2
YQ4cHh4mjmOcczReeZ2bGxuc/exTVldXT1ygK5kDR0dHieMYM0NVUVUuT18g+WsfUs9ks0Gapiwv
L/dcwHVCh4aGqFarmFmAXnnpVfzfhyS7uyURk80GADs7O3z+wou8f33JdYFbrZYNDg7S39+PqmJm
fPXGW/yzf0C6sweApWnXlnP41tYWX7z2Jh9c+9YBRMWXqtUqIoKIMHvxZQ7XN0k2NntZGGK2fg6A
gYEBNtf+DPkoVzsyMhKgl6cvcPPGDfTgICjtpbYz3lu6ytuPPmYAfWGFKMJ7z8wz5/G3bt0WUoy8
HnEcg/cA9OXeigje+/8HVeVcsxFqYmbcU6nwYf1pC4rTNA1+qRmRWbgGSFULErPrqYV5tJ3PwXdG
MWvb25kVcRyXhBShqSrTC3OYGV+O18M7U4vzQWkOVlUqwPr6RgZ2zgW1YZcd0BwAxnML86Xt589m
xieIRZCoXbz0mIpPL8yV7qcW54O6bruV1KfsiRJXKhlYi/4BRBHn2we/uNXOUbTi0hNPYRj7Kgzc
fx9RrVZzKysrJe5ks1HqEb28LFohIpgoiLGryiffXXPhVBx54XRfDO1JnTtxLvv6RaTkq4gwM1bH
AUcm/K7ZOY4g60yPf/wRKpKNDng+kiQpqRYRZsfqKIZX5Uef8s2vP3f3ir2jIxIRLj05ESYWwXnk
+dmxOl4VVFkXzx93/IfraptL77zL3Thw8OzXc13FUlWujE/gVXEY3mDXlCVJ+P63X7rbZh4Xzzxi
D546zUOVU6j3TLaPWO6lYpgaYkafCj+Y8pNJCdoTXFzggUqFe3E8v9jM/iBjdRzGoShrKMsmXG17
2hkn/hABzj58xu6KMu9SVRJgG7h+DDCPfwGis07IRejK/QAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>901</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>appearance.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAA3NCSVQICAjb4U/gAAAAQlBMVEX/
///A///A/8D/3Kjc3NzAwP/Dw8P/qFigoKCAgP8AwMCAgIAAwADAWAAAgIAAgADAAABAQAAwMDAA
QEAAAIAAAAADa57qAAAAFnRSTlMA////////////////////////////VIGNowAAAAlwSFlzAAAK
8AAACvABQqw0mAAAACF0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgMi4w7qtbxwAA
AHxJREFUeJxVjwkSQiEMQ6vWsIMLuf9Vpb/o+MMMJa8dCCIipJxEUSe7sbwDKuh+LZpXwCvpB0CP
ujcipbk6G+gaSHcHyqeaMOcGXwFwEEIzn3Pfr4RbQ4zIFwfQ1h61jtj7uxzJLFG9jrKmdvZ12xij
eHLTy2Yi+Pdr8uc+I1YIOGqptl0AAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>16</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>374</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>16</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>boussole.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAASCAYAAABfJS4tAAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAAEiElEQVR4nGL4//8/Azb8/uUD
fWziv35+58OlBxkDBBALAxj8Z2ZgYPwLYj28e8ti/tw5k/Zu227KyMzEwMPDxcDGzsXAxcPPIMDP
yaBrqHfZ3t5+gpa+xTwGPAAggBhBpoPBv3/Mc2fOmNHW2pry9OkzBk4WLgZOTlYGQaBh3OysDCxM
DAwc3JwMzKzMDIYmhgwWTn6zHRxdOoWEhe9iMxgggKAG/2duravZ19jcbsfFwMLAzcfDIC0rwqCh
oQh2MQvrPwZ2NiYGEQFuhp/fvzL8/PmHQVBSkYGTT+Z8elaRJQsLy090gwECiAlEbFu/rqKlrc+O
hZmNQVRCjMHEUpPB2cOSQVxaiOHnn18MXPz8DDpGxgwq2obAYBFgcPUOYkjKTmRgYP1nePjAzjps
LgYIIKbvn9/KdnY0tfz9+5dBWICfQUtPgUHXQJ1BRJCXgZWNgUFHV40hKi6WQVpOi2Hm3M0Mf7nE
GCQUlRm+fGZjCA4OYTh2bH/Bt88fZNANBgggpqcvXj169PQ9AwcLK4OFpS6DqroCw/Pnbxi+//jG
YGVvxyCvpsVw+tRthuiYTAZzKxMGb38nhk9f3jD8/vWDQURYguHDx19cOzatnYxuMEAAMf36x8jw
j4GJQUCAk0FeSYJBSkaQQUVJmoGZS4Dhzz8+hkWz1jLkZhcz+Ad6MKSmBjE8vH+D4dcvTgYubl6G
n9++M3z6/Ithzeq1AX9//+BDNhgggJjEhUUYeICxzsPDDXTFb4aPn74zsAFjXs/AkOH29dsMzx7f
BfvmDzDSujq6GEREFBj+M7EyPH70huHj+88Mz589Zrhx+x7D6xfPdZENBgggJiFhIVZ5RXmGX3//
MXz8+I3h86dvDAzMjAx3bz9guH37PoO9myMDLx83w9N79xh4GH8zPLlxjuHXx5cMoiJcDA8f32a4
cukiwx+gg75//47iYoAAYmFkZPoTEB72tLWxQZqXh4dBWJCLgYeXl+HB09cMgqKCDFbmxgxfvr1j
cHBwYJAUE2X49vUhOKO8e/+YYfq0uQzvX79nUDEyYBAQFH6IbDBAAIGTm7eXS4aXtzvDvQePGLh5
eRhevfkITNosDLbWxgw/fr5kCI4IZwiNSGAwd3BnYObUBCY/WYZHDz8zbFq/l+EDMJJl5OWBjhC/
hmwwQAAhch4QFOen/P/w8R3Dy5dvgUkshEFXTx1YNvxjEBSRZZCWkmdgA2a/ew/vMkzum8wwZ8YC
Bm1tbWCYCzNs3bWHET1VAAQQCzInpySr8MLp8/07N+1m2L/7BMPrV78YxCWkGG5uPsbAysLC8OzJ
U4YzJ08yPLj3GBiu/xjevH7NEB4RhiV7MDAABBCKi5HB0uV9/5/ef8bw/PFzhjcf3jN8fPOJ4f3b
jwxvXr1nePHmLQMnLxfDs9dvMVwKAwABxIRLIjqyiFFEXBSYxUUYmIBp/c3L1wxv3rxnEBIVYQgN
D8BrKAgABBBOF4PAhXOnKz+8/yj/59dPof///7Fw8/A+lJGVOSQqLn6Ok4v3IU6NQAAQQHgNpgQA
BBgANg2+8ZeA2q8AAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1277</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>cash_in.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QYdExc7CfwtRQAAAB10RVh0Q29tbWVudABDcmVhdGVk
IHdpdGggVGhlIEdJTVDvZCVuAAAC2ElEQVQ4y72UXYiUVRjHf895z7zvzOw4riBJsERlQRbd2Fp0
k0RGduXHnUGFEFp3XU4fFEVRUYTrhSjYTRd5lRGCBLVKLgjJSmJusSDJmqyLX2Pzzsw775yvLga3
HXXXzbIHzsU5z3P+53n+/+c8wsIWbuGX+RyaWyGHm2OLyIL3FHfI7hiwvk1ur4+TxZIf5uN2Hq7l
f6NCFm6IcFvZzj0M/0G7yfXihYMX3qXZNIj0LhQKgtaK3/OziMgN4CLCaOM9gocTP1/CWkXt2ZEw
F1wDfLP/DK9tfxhHIISAiHD2z4scmvyFzWPDfeAiwusn17OkUkBEeGrt3WhR1G4m3uBgzGqpsUbe
mHUsL1dny9105DFEBBFh89gwZ+oX+HFqYjbWETiUvt9HqVzbHN37BLmv8PS2UcbDRwQgs11+OjfJ
0T8m6XqLQggEqkmZV9c8x0BUnAUR4MSpy2x99NNeYdfUtzNfou0OyJcjD3zP/qm38ATuu6dKCc0V
UtJuh1KUsDSqMDF5hW5ucR68DzgXSOKIiV/rfP7C3h7HIsLMzphW+XlWvvIttY/Xc/z4RdLU8oOZ
Ju9YsszRdjlBPNVyQqJitBZQghKIIqFSibl0rvC3eP6rKrJEYcwY428vY7j2HQfOv0NBC1nH0UwN
adPQTA2NRpc897Qzi3cBYzwd4zAmMHM+I89dP8fN0RW4ZS+ydPVnjOxaR33oQYrliFUPDTJQKYDy
EAUUigjF1FSLVsvgbEAXBBFFkihOn27wwcbdvYzzUy8Tl45h73qJ30brrHrmC978+n7q0zlpatCR
wnmP8RaiQCku0LzayyyOFVorokhIihGXZ0J/xtM7BshKj7Ny+2E+2bOBobWPUEw0WdvRajuylqfT
9rTbDmsD1gqEgDVgbWDntpH+PwQEv6+KVBTGak6OW4Y/vPqv544CRG1p0BpI6Ny7leLQk3MD/8ma
95WwyKm3KPsLehw5sSeeLwoAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>884</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>cash_inout.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QYdExcuZCHJrgAAAB10RVh0Q29tbWVudABDcmVhdGVk
IHdpdGggVGhlIEdJTVDvZCVuAAACb0lEQVQ4y7WVy0tVURSHv7XPuefcV2oQNZGIrEgiCLGiUURB
NYiaFj0QwvoTpEESGBhJqEgU2KRBTXoQRZOQGkSDCAnRohBCCJPIrtz3ueexG1wfx8fNa9qCPTlr
72+v32+vxYHVhZ5ei0JWA9W6zBSRRSxZLXQWtAAuFeQtR13yexgu1VQTPlgptxCuqtVeDTSkRiv+
U5gr8XZaZkWfw3kzDP2b1HAuDKjUwgrQL3+2r7kVCuDpk28M6s7lKlnRI5oAdXUWTdK27MGZi6sq
YMbfd/37cYIkh1oHlnwcEeHEmz1oNDV2nMt7j5IworMQAT4OT9Ky+2Z5+8xAeBP3Mb1ucDYg217N
g4sIb3U7mVKRmGFTayQZ+fKbkuPhBxAEGt/X2JbByKcUt870l60QESZ6LXLx4zRcfEZb5zGMHZtn
Jbf0naWv6yt530FLQE3cxlYWpimgBCVgGEIyafHre2TOiuBBDbJO4bqKoUFNc0eK5z+uEjGFQtEn
m3HJZF2yGZd0uoTjBOQLHoGvcd2AkuvjupqS4+M4Pi+uPZrzODuwCX/9OWqbuui5fYRU/XaicYPG
nXUkkhFQARgahcJAMTaWI5dz8T2NGRFEFLatGB1N03HqTtkKZ/gCVuw93sbzfB5I0Xj4HlcebyU1
7pDJuJiGwg8C3MADQxOzImSnfAAsS2GaCsMQ7KjB5ISe3xXj3QkKsX00XHrNjbsnqT+4i6htUsj7
5PI+hVxAMR+Qz/t4nsbzBLTGc8HzNL2tPfObCNDBwxokqXA9k6EPHs3Xp/5l2GTh5Ik6nSaXsClu
aSFafyC8cSWr4i16jf6FAPwBzXER3PYvgW0AAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>779</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>cash_out.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QYdExgTu9GZcAAAAB10RVh0Q29tbWVudABDcmVhdGVk
IHdpdGggVGhlIEdJTVDvZCVuAAACtklEQVQ4y7WV34uUVRjHP895z7zvzOw4u4IkwRLVKmjRjWjR
TRIVJV7kbYGJEGr/wWRRJEaKEa4XUbDddFFXbUQQQa5dBIKxkogmCwuxJevir133nZl33jm/vBh3
dcRdZ1f6wnNxOOd8zpfnec450LvCnehJ0is0hA5TRHraJyuBLm7qAS4rhfYKl9VAe4HLaqEPgyv+
J8kyrbVgfTmnS3L0/aBVKtwP10D45erH1OsGkY6TQkHQWrFz/aFlaSfnPuHcX9exVlF7bbgLrgF+
HP2H9/Y/gyMQQkBE+PfWtYfa7O+PeWn742hR1B5UvIGBmC1SY5u8vzixrlxdzOWD4l45AqfSQ10p
lYXB6ZEXyH2Fl/eNMR4+IwCZbXPm8gSn/5ug7S0KIRCoJmUObHudvqi4CBHg3IUb7H3uWMfPQs/a
mW/R9jjk65ANvzE69QGewFNPVCmhuUlK2m5RihL6owoXJ27Szi3Og/cB5wJJHHHx71m+eHukk2MR
YeZETKO8g6F3f6J25A3Onr1GmlpOmmnyliXLHE2XE8RTLSckKkZrASUogSgSKpWY65cLd4vnv6si
axTG/MH4h2vZWvuVn698REELWctRTw1p3VBPDfPzbfLc08ws3gWM8bSMw5jAzJWMPHfdOa6Prcet
3U3/ls8Z/vJVZgc3UixHbN40QF+lAMpDFFAoIhRTUw0aDYOzAV0QRBRJopicnOfwrq86jvMLe4hL
f2Ife4dLY7NsfuUbDv7wNLPTOWlq0JHCeY/xFqJAKS5Qn+s4i2OF1oooEpJixI2Z0O14+ngfWel5
hvb/ztGv32Rw+7MUE03WdDSajqzhaTU9zabD2oC1AiFgDVgbOLFvuPvGA8F/X0UqCmM158ctWz+d
e+R3RwGi3pqn0ZfQenIvxcEX7124kljylLCKv3BJ3Qa9Vizf6+4egAAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>850</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>checkall.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAADWUlEQVR4nGL8//8/AyUAIIAY
8/PzMQR//hQHkuwMb95cNOThYdj36dOXxZ8+fVrCwcFxCqaGlZWV4ciRIwwAAcSEzVSgq/h+/frZ
wMDwb6uzs6OAra1Nrqam5rE/f/40/P37Vw3Z1QABxGxhYQFxCiMjA1CS4du3rwKCgupr3N0jkr58
+cX74cMnBjExPgYlJQUmaWlph58/f3p//vzZAKj24JMnT34ABBDcgH///rELCAjUKCoqrnjx4r2W
pqYlg4mJFQMLixTD40s3GYw2rWR4b2zIoK6uLCgmJmH4/fv3jHv37n0FCCC4AV+/fhUyNDTcmp6e
zvH37xuGe/cuA/FtBm0pDQb/KYUMHN//MJxQc2Z48eIpg6ysOIO+vj7HiRMnvAACiAXkH6DtDObv
3s1z5ONjePr0KdhmNbX3DJ8e3mdQSDVi4H70gOGXsRODpWUQw+PHDxk2bKhmkJMTZbh7924ZQAAx
Af3EAHSOsri4uJVsUhLDt8OHGT5//sQgzsbBYFpVxyAK1AwCd/hZGN6/fw4Mq39A+g3D6dOnHwNd
vQUggJiYmZmB0fYzU8/YWIjxwwcG5YwMBvnbtxkEQkMZGM6eBWv+nZjI8K2umOHgwSUMq1f3Maiq
SjMcPnx0FVDqOkAAsfz48UPTzs4ujJubG6yY6eNHBnYfH3g0fQwPZ3hWWsywa8kaYCyJMnBxfWQ4
ceLSc6DUdJA8QAAxAZ3uY25uLisaGcnAkJaGkh4+hIUxfJ8wARi13xh+/GAHeu0Nw69fnxgePny8
Cyh9F6QGIIAYFi1a9B8EgAH5H5ja/n+KjAQlk/8fIyLAfBDIzc36X1a29L+/f8B/Nzd3UCoShVkC
EEDMampqb5cvX27FxsbGAUxpDIx+fgyscnIMHB0d4OS6a9d2hpcvuRiOH98JDJIDH4CJpwPo7b1A
vX9BBgAEELOent4pYIjOPHjwoPijR4/4gV4SVAgOZgDazvDgwQOGZcuWMHz8yMRw7tzePc+fP7QG
at4J0wwCAAHEAooFHh6eD8CYSDp//rzahQsXoqytrWuABjPLyMgw7N178PmNGzdmAdX2AfEn9HwD
EEAsMAYTExMD0LBbLCwsDVu3bt128uTJGKABsUApbyA+jy3TgQBAgAEAcfRso4IFafEAAAAASUVO
RK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>16</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>974</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>16</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>configure.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9AJGxA7E/DICfYAAAHISURB
VHic3ZSxrqJAFIZ/bmxMbDAUSktjCb0+gG9AJw3vYWEiNa0W8xjWSolRO4szNUNitJDK5myzzAWR
XdfsNvsnEwJkvm/OyckA/0u4bc3nc34HYLSBfd8HACwWC9zvd+R5DqUUgiB4Z387OE1TXC4XCCG0
AMAryUtGqxEAMzP2+31D8C4cqPex8Z2ZOU1T3mw27Ps+ExGfz2cWQjCA8tl6Oiai3wpc19Xgw+Gg
4c/Ar+qLaZogImy322oVZamG53mI4xgA0Ol00O122w76DQ7DEP1+H6ZpwrbthsB1XY7jGLZtt8Kq
KZvORIQoirBarQAA1+sVt9utdSMzoygKnE4nAKiOodEAA0AURbAsC8vlUgsA1CSmaeLxeICI0Ov1
UBQFpJRVgVEdE2ZmSCnhOA7CMKwJqlFKQSmFwWCAoihqK89zBEFgPM+fhgPQgmosy8JoNMJsNtOS
Z/h0Om2AgZ+TUAqyLKv9lFIiSRItKSsiIg2eTCYvwTVBGSEExuOxFpVVJUlSExyPR3ie90twq0gI
AcdxMBwOkWWZrqIUGIbxR+CGhIjgOI5uWSlYr9efcmsCJiJ9Jex2u7fu648EfxNcE/wLsM4PJu9e
MPeOToUAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>587</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>decheckall.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAADTElEQVR4nGL8//8/AyUAIIAY
8/PzMQR//hQHkuwMb95cNOThYdj36dOXxZ8+fVrCwcFxCqaGlZWV4ciRIwwAAcSEzVSgq/h+/frZ
wMDwb6uzs6OAra1Nrqam5rE/f/40/P37Vw3Z1QABxGxhYQFxCiMjA1CS4du3rwKCgupr3N0jkr58
+cX74cMnBjExPgYlJQUmaWlph58/f3p//vzZAKj24JMnT34ABBDcgH///rELCAjUKCoqrnjx4r2W
pqYlg4mJFQMLixTDrVtPGL5//8TAx8fJoK6uLCgmJmH4/fv3jHv37n0FCCC4AV+/fhUyNDTcmp6e
zvH37xuGe/cuA/FtoAZLBk1NfaDLQGHyneHFi6cMsrLiDPr6+hwnTpzwAgggZnNzc5DtDNzc3NMC
AwMNfvz4wSAtLc8gIyPEICLCxHD58iGg5j8MCgraQI06YBdt2DCT4f37lwy7d+8pAwggFqCfGICB
o6ympuYmKCjI8OzZMwZgaAP9LQG0XZNBV1eX4fz5SwxnzswBhkMgMKz+ATW/YXj58sFjoKu3AAQQ
CzMzM8j5mU5OTpIgw4SEhBiEhYUZODk5wS5jYmJjMDQ0ArJ/MGzcuITh/v1HDKqq0gwzZsxbBfT5
dYAAYgE6WdPOzi6Mj4+PAYR5gBEPipFv374xAOOeARjiQBf+Yti16zgwlkQZuLg+Mpw4cek5UPN0
UNgBBBCLuLi4DzAcZIEAFP8Mv3//Bmv8+PEjmA2MGYanTx8z/PjBDjTsDcOvX58YHj58vAuo9y7I
AIAAYgImkC49PT2w5i9fvoDD4OXLl2BXAOOdQUJCgmHhwgXAwJNjePfuPNDwH8AweFcKS0gAAcQM
DLy3y5cvt2JjY+MABiYoNoChL8IgKioKTq67dm0HGsjFcPz4ToazZw98ACaeDqC39wL1/gUZABBA
zEDbT50+fXrmwYMHxR89esQP9JKgsrIy2BsPHjxgWLZsCdA7TAznzu3d8/z5Q2ug5p0wzSAAEEDg
WAAG3AdgDCSdP39e7cKFC1HW1tY1QIOZZWRkGPbuPfj8xo0bs4Bq+4D4E3q+AQggFhiDiYmJAWjY
LRYWloatW7duO3nyZAzQgFiglDcQn8eVnQECDABScGQwDhbKlgAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>16</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>961</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>16</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>deselectall.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAAK8AAACvABQqw0mAAAACF0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgMi4w7qtb
xwAAAq5JREFUeJy1lb9LG3EYxj/nhSieIeLS1ck5mwaUlM6BLg7tluIQiMNRh24KkkHqUMSlg0Oz
dXH0D6gYJ7OIP8Cog0hzgmfkTnM/zOXeDq3XmsRUC33ghvve3fN8nveO+yoiwv9Q339xfa6y2axk
s9knVYw9x3R6evr+VAA2NjaUfzbO5z8KwPfvW9HaUwIeTbw3ffv2AwBfvy4DkE6/6LhvfX2d9oCu
xLquC4Dn/V7rFdCtQQexruuyvLxMq9WiUCgAkMt96Qjv1SCXy3UnDsMQ27ZZWVlBRHj//h0DAwO8
efP5SQ2gbca6rkuxWMSyrMhcURRGR0dRVZWlpSUAXr1a7IB5+VKhVCqRy+UAlAfE3q+h2rZNEARo
mkZfXx9BEKCqKouLPw3n5uYAeP36U7fCD5XP5+X6+lqOj4+lWq1KtVoV0zSl0WjIvYIgkNvbW7m7
u5OzszNJp9Py7ZsIIKVSSfj18uCPr8L3fcIwJB6P09/fj6ZpDA0NRTP3PA/XdWk0Griui2EYhGHY
m3Z2dlbq9brs7++LZVnSbDZFRCQMQ3EcR66uruT8/FyOjo5kb29Ptre3ZXx8/FHaB8SJRIKxsTFi
sRiKouD7Pq7r4jgOjuPg+z6Dg4Mkk0lUVSUej/emnZ+fl1arFc3R932xLEsMw5CTkxM5PDyUg4MD
MQxDXNeVWq0mU1NTPWkj4svLS5rNJslkMpqj53kEQcDIyAiapjE8PAyAaZpsbW21+3RXJpORTCYj
lUpFyuWy7O7uyunpqdi2HTW5uLiQSqUiExMTEe0fR4diAJubmwpAoVAQgLW1NUSERCKBaZo4jsPN
zQ21Wq39+Ud/Yl0vTE5OCsDq6iqO4wBQr9cpFovs7Oz81TQible5XFYAZmZmBGBhYeFJlM9WKpWS
VCr1rF33B0SXsK0PVdKKAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>825</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>do.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAMAAADzapwJAAAAA3NCSVQICAjb4U/gAAAA2FBMVEX/
///s7Ozg4ODW1tbMzMzExMS4uLitra2lpaWZmZmPj48urr0rrbyFhYU1pLEjqrk5oKw0nqo7mqUw
nKgXpbUUpLR6enoxlqIXn65Ei5Mqk59Iho1PgogGnrBEhYxTfoNwcHAgkJxXeX0njJcAm60OlaQc
jps8golUeHxbdHcyhI0bi5dQdnsiiZUAlK0Ak6RLdHlYbXA9eYBmZmZLcnYbhZEAjZ0if4k9dHpY
amwbgIwOhZNEcHVSam09cXdLbHBLa28AhJMOe4gHfYsAgI8HeYYAfIsAeYcCcJO5AAAASHRSTlMA
////////////////////////////////////////////////////////////////////////////
//////////////////+d/5k5AAAACXBIWXMAAArwAAAK8AFCrDSYAAAAIXRFWHRTb2Z0d2FyZQBN
YWNyb21lZGlhIEZpcmV3b3JrcyAyLjDuq1vHAAAA5ElEQVR4nLXPXVeCQBAG4MWRWRy20ETwK9PK
0KJ0g8rNFCmJ//+PWjgeu6DLnKt3nzNndoax/yzgtT8Ul7151c3nqZhBtZv6dpUByRehZgMRjQMa
fBmMmo5mSwbBSFql1tV9f9AUbgjW0OnNWvaQl2Mn3QjP2pqlfe6ZV6I7LkZI1ydGfifEgbggFnUW
sf4Frm39oLunGIPLiebX753m2txxFdB7mpjbdO2xKN+rYhlvunhLtlmegMpyhZv0gcq7N1m+X73c
3kj+8fW5Wj+qerkhH8fSoqgBRYpl43gtGMf0G09VP7O6Fv9pji7IAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>678</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>editcopy.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAlwSFlz
AAALEgAACxIB0t1+/AAAApVJREFUeJy1Vc9r01Ac/1Q8rbd3FGRsynryMLcWZntYtSyr9ORhsDWi
B3Hq2A4KKyKKLKfddpyX/Q/F06QQZLCY6KEqiEn1hfibYcNkZj+atF8PqzWx3ZYKfiC87wvffN6H
zyfvPeA/IQIAjDE6qtG27UjX7IwxOgiDg4O0uLhIYRbvijiVTBERkaqqXZEf808kSYKmaZAkCYqi
AACi0R5omoZEIoFCoRDKNsDncbVa7dgwLggAAMfZhrPtwLKsUH4HiCVJgqHrmJ2bw+rqKgRBQHzo
LJ5pz8E5R7lcxsrKSkeijosd5HHd3SNvZ4tqP23a3PhCT588JsYYra2tHRnucf/ksihiIBZDJpNB
qVTC29dlnD7Vh76TJ8BNC3lxqk1UtCeK+fl5jI6OIpvNUkC5X3HDc8nbdch1Nmnvxwbt2p9pZ8Mk
56tBbzSZGGO0sLBA6+vrREQkjI2RqqpERAHlAcXi1BRuTl9DqVSCYRi4fmUS+qsX+PCtCmrUMTlx
CQCQTqcxMjLS+u7B/futcDuG5+1sgbwaqO6i4R+btWmaSE/cQDKZRDwehyAISCQSUBQFnHNwzrG0
tATbtiMB4of3CjAqFUxfzTeVfkflvYULySGYHz9hIpdBRryNYrGIVCrV5reiKMjlcrBtOxKw4u6d
2aZCF0NnBkCeC/JqaNT3R/6uAgCwLAuyLMPQdQzEYujv7wfnHKIotv8V+ksV5O2h4TafZk1uDQ1v
d7+uewCA3t5e5PP5NsWmabYTnzt/sa3xb9i2DQCQZRmPlpdxa2am5S2AgOJQRyFjjIrFYuBdJ49N
08Tw8PCf8MIQ+7e8X6mh6xjPZlse/yYOw3voseoH57zzBjkM/mDCILQV3ZD+0zUWFr8A76sUmn8k
CckAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>755</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>editcut.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AKkAzQDefGi8WAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9ALDwogL8KbC+UAAACpSURB
VHic1ZS5EcQgDEWFN9lyqIuWlFAbkbr4mzAMli2vOBL/CAQ8XQDRmwUiwvf4oI6XFDpob4Na9wR1
Yh6GozuHJhQAiQgx8+WMlf6/sgAARATMbO59gk9DNRxqvgS1HCCE0B+chpoOdkGbcs77oVUAgBjj
NuilDESElNKe2tbmNXgpZek2kBq3PaPwkQfihs88aRf8NuWnSLxwbRxpjA8++dHrpr9QP53X9nr0
F8+dAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>300</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>editfield.png</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAT0lEQVQoz62SQQrAMAgEx5/Pz+2l
AQ+RlNgFQXFRlxUuEABqqqHmjlR7anCNMiVX7DjdJd81AfnmeeDU+gdNHWeuqfOpejL26fgRa/J4
0wOvUEJ61o2JSgAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>13</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>136</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>13</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>editform.png</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAOElEQVQoz2NgIAMwQun/UPZ/POr+
o+khD/xHov/jsPE/HpdQx0+MaK6hrp8Y6O4nRiyuYRzkoQcAh/kW+qSaw0UAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>13</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>113</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>13</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>editformaction.png</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAS0lEQVQoz72QMQoAMAgDtfjw/NxO
ggQr4tDM3hmiAFwoAFSaGB+FhGX5xl62ShQ5XY3im08gzXXju06GyMA6E9o3Yob8bCz/oNUQFyPH
KRHmHpbNAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>13</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>132</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>13</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>editpaste.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AAAAAAAA+UO7fwAAAAlwSFlzAAALBwAACwcBtnMLwAAAAAd0SU1FB9ALEQ0pN7W8HtMAAAQaSURB
VHicnZXfa1tlGMc/Sc5yzpIMS7eUYKqUtbgOZMOyRRxeyWQ3XuxGzNrB/IG/UJwibJOtXhgV+xco
KGPiuiGiwwstxYJeWRandhlil7Zp1mSatlkas5OT8+M95/Wi7dmyjfnjgYcDz/s+n+d7nvM+7wlw
F+vq6pL9Wx0e2R2ivlxFt2H0KwJ3y2mzYDAob/VwJCwf2BqWI8fvl64rZO7nt+SXnw3K1I6u2/au
+83MQDAYlJVKhXg8zsrKSlvBN57t5NQ5iWXNYlnLlObOc+mXrznzxRLH3v4YRVEIhUJomoaqqhwa
GuLHbDYAoADE43HOnj3rAxuNBn+V3ufUOcnc7x/RbP3JtWqJpr5a+NGBCh+88zy79jyFqipYliAa
jVKt132GArCysoIQAlVV2bhpEwBnvt/C6M5tmKYOgBCgKKtPUND1CvHkVTo6YgghsCwLsbp4AwzQ
arUQQhAIBEgkErz6+jHq9TqVSoWlpSUajQaqqmIYBpFIBMuysKwm169LVFWlp6eHWCzWDhZC0N2d
wLY9HMdhtlhEWYsLIcj/8LmfcN2UNG2XhunRtF3C0Xv8tfqtrRBCUCgsEIvF2LBhA5oCpnnjtQDG
Ly3d8UQNDAyQTqcZGRlpUxwEcF2X3t5eotEojiNpNi3q9TqlUonFxcU7AtctsjHCkSNHGBsbQ9f1
drAQgmKxiK7rSOmwefNm+vr6SCaTJJNJf3MmkyGbzZLJZJicnAQgGo2QzWZJpVIcPXqUzs5O2dYK
RVHQNA3TNCmXy371arXqg4eHhwFIpVJtqodPnKDZNDBaRnuPXddF13W/QCKRQAgol4uEQqE2xZen
p3nt8GHGx8fZt28fY99+w/mfLlAoFJiamuLkyZPA2uTlcjlyuRyKoqy1ZXa9JsvLy/z23ek7fjzP
sZDCwnMFhmGSm7rA/gPPUKvVAn4rpqen0TQNRVHYsiWBEIJKpYJlWbSc1Wvg4NAQ2/r72bt3LxMT
E0znfqWvt4et993L3PwVDh4cvL0V3d3dCCGo1+uUy2X/DN8MPj06iiccpLDYvaMfT9jg2kjhIF2L
YumPdrAQgmq1iqZpaJrGesw0TRRFwXQ8AIYGB3n5heeYmJhgJn+ZFw8dIH8xy8JiDc/zGHxy/+2K
TdP0VQohMAwD27ZpNBq0bBeATz/5EClsHt653Ve7e+d2pGOBazM/P98OBlAUxXfbtgmHwxQKBQzD
wFgbwsy77zEzM8NLTw+Sv5jlyuI18nMLPL7nIebLV0k/8Vg7uFwut51XAGGamKaJbdtYzqri42++
sqpU2Ox6sA+EjXQdP1aYzd8Ae54XSKfTbbf/zdbR0cHGTR3kpyaRwkI6LTzHxnNMpLDAMvE8E2lb
SNfx8/7V/2t9TP/JarXaf+L+L/sbU4JXMOarEXIAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1181</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>edittrash.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAQAAABuvaSwAAAABGdBTUEAALGPC/xhBQAAAAlwSFlz
AAALEgAACxIB0t1+/AAAAdNJREFUeJyN0z9IlWEUBvDfd/1SUBIRItEwzaIowxoqab4NQWAtTRJB
Qw1BQ0sUBQkNERWUUENgw11aoyX4tpb+YhINqQkadQulQb3azfRtuN+93myo5x3ew3Oec87De3ij
h8ZsM+aJEbCgHongkEFnK9yAg9zHoBJyEEqnr5qTOABlsiw7HI6G3nA1NIUdYVfoDJsljqMHEXT5
GBjXJu+GYfvEXjmhxRdnlFVkejAT7prWKrbkmIv65H0wq1GbOy4TmED8zEunLXshtkWDXgt+6LJb
jdemTSqA2xLxkHM2yDtiyXsUzaOoaEadooJFJE65K76H6eh6KGjXq0GD5+jGvFFzRk26FWXtWrUu
DNnqEdpFgilk1Bn11bhNUWkHmVyqnrbkgpN22qNRhw7tipYVMJK+d6ZfolxQ541F9WatU2uqsoAc
+iXim7J6UnJFQYPId80yJnSl/FOJb7Li8+mY6kWujcZkS579B56ndwYe/5GK1moryJB48B/dryGW
+vkXLpU7Q02FDlWSGrXYu2qj1LnF+r88Rxr99MtwWVyu2miTJt1a0awJnVYUzZurKk7RFj7L2a7W
F9/wyTuTit5WaSrBFQOE/dZZBLMK8mm+9In5Df6gmTDXwbUAAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>561</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>erp5_logo.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">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</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>250</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>12588</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>320</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>etat2.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWAQMAAAD+ev54AAAAA3NCSVQICAjb4U/gAAAABlBMVEX/
//8AAABVwtN+AAAAAnRSTlMA/1uRIrUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAhdEVYdFNvZnR3
YXJlAE1hY3JvbWVkaWEgRmlyZXdvcmtzIDIuMO6rW8cAAAAWdEVYdENyZWF0aW9uIFRpbWUAMjEv
MTIvMDEa4ToEAAAAHElEQVR4nGMwYGBgAOH//3+AMYht/v0BRTQQAACPuhhtdubYCQAAAABJRU5E
rkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>232</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>etat3.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAACyElEQVR4nGL8//8/Ay0AQACx
IHNCQkL+f//+neHHjx9gjIsNwlDAiKwf2ZEAAYRi8M+fPxmmTJmC1QUgwz58+MDw7t07Bh8fH4YZ
M2YwZGRk/Ec3HAYAAgjF4F+/foFpRUVFiHMYGVFc8fbtW4avX78yiIiIMBgaGuI1HCCAmNBdjA8I
CwszcHNzM4iKijKYmZnBDQcCjIgCCCAUg2EuBrkUhJHZMAxyLcjghw8f4jUcIICwBgXM++hBAQPA
SGaIi4tjeP36NRi/efMGQw1AAGFEHjFg1apVDJ8/vme4f/cGw8tnTxnOnrvIUN3YhqIGIICwuhgd
wIIF5hugPxgEhETgYgtmT8fQAxBARLkYOTj+//vD8O/3L4bfn98x/Pv7i+Hj+7cMFy9fw9ADEEBY
Iw+bi2EYZOi/Pz8ZWHmFGNgFJBjEFLUZuNkwkzJAABEVFP///WP4B3bpTyD+Aaa/vbrP8P/PLzD7
/v37GHoAAohgOgaHKRMTAzMLGwMrJy/YoP9AF3OJKTJwS6kz8MrrAX2A6SCAACLo4v9/fzP8/vYJ
SANd9+sH0NAf4OD4/PAi1MU/GO4/eIShDyCAWDBEsABWLj44+/ure2CaV14fLnZ+x1IMPQABhNPF
////A9MgF/369BocYf9+/YSG80+Gj3dOgoPgP5D94OFjDIMBAgi7i4Hh+h8abiCajU8ULvX5wQWw
Jfwq5nCxMxtmYhgBEEAoBjMxQeIS7LrfkIj8++s7w7cXd8Cug6QISKp4d2k3XN3Dx88wDAYIIBSD
//2DeR9hMMjFXBIqcDXvrx8EpwohPTe42MkVvRgGAwQQ1qCAuQrG/nTvHDBVQCz7D7X01ck1kDD+
+4fh4aOnGGYABBCGwb8+vWG4/wni0msn9gEj5gnUgF/gZAai/4NyH4z/5xc8PpABQAAxIpcDwCxL
Uc0KNAuetwECDADVp7MZmEeKCQAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>829</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>exec.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AAAAAADAYid5zwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9AFHAsVJuUoXdAAAAP8SURB
VHicxZVbbFRVFIa/M+ecmWk7N6Yz02nBOg2VFoLU0tqbjS3BaLxEeSExMT5oCEgIL2KIPmCAF02I
iYkowfiAIIg2ISiVRjStcunF1A5toRcolBawLa1t6W2mc2Zm+URlGIzEkPi/7bX2+lby773Xhv9b
Nluq2Gyp8lChubk50ne1T/qu9Enu0pwHgpvuE5OMDG9CsdfjI8Obhc+3BI/Hm7A5M9MvwL82k9ra
Wum/OiSAVJQVSkVZofxQd1LOtbRIY3OL/PhT3UIckOmZsNQ31CfBlbsXi1wOaWvrBWBu9hazhsL5
1tNMDXdjCo8hCKbUTJxZy6msfh6zKYbZ6mJs9AYVZaXMzIaU+4IBqqtK5YMP9zB4c4wzJ/bzyvJZ
lmWnYbakoKom5o15ugbCHO9UWff6u/i9TjZv2kBjczCBleTx6OgUYcNKe8NBtj+jsGKJA91iQ09J
xZzqxurIobq8nB3rFnPu+71oFjdT0+EkTxWAQCBbsvzpAGx/730u/HKItcsmybZbiZrM6ClpNHRO
Y1I1XqwqwWzLwKLFCDbVcbJLqF7/Dtvf3gLA0PA4/dcGFM3nc8vhw0coK3+Kvt4uhkYnyV2+Gk9K
A9MSx2e38XFNJ58cv4zEwuwem2Prts1EZ0LkPlZIdgzSPekc/rqGQGApnRe6WfX4CtEMw6DjfBsu
p5tbI9eJxM1keF1Ex0E166BqdA3OMTE1pwCcDl6RrRYNJWZGtbkJPJJGNBJi8I9RDCNK62+Nf1uR
6ffI0PAYFWWFvLHhLZ5etZj4xb047DYs9mzSl+SzfsseAGpOfU40FEczIoz0XkL8a2i/PMjunTto
bA7iz3AzPDKuJJyk1aLLupefY+PGzRSvCPBnwzbsnnwc/tXoOVmIWScei6OahKkr15hkKa7AE2x6
8zWOfVdHJBJb4Gl3g8PzhnK0plZWFRQQU62UrvmIUMcXzNzqxhINodrTMOka8UgcxV2K1byIY98e
4GhNbdLVTQADMjJ0na7uHn6tr2N6qpKSgi04HTpmJlDic8StWZhS07nU00/LuW+orHoWwzDQdV3u
hi+AU6wWqT1xjPlIBKfDxsCNG5z6eRdFxcUUrC7B6/OhKHB7opvO9vOcPXOWvPw8XnjpVWKiEmwP
Ul5aIuGwoQCod8DRaGynqsYxInMcOvglp8804nDY+b21leKiJylYuRKn3U5vzyX27fsUl9NFMNhB
98U2IMaRrw7Q2toBsCvptQCSn5dzZ8AsqKqySMKhsIiIVFUWJeQqygolb9mjSUPoXo+Vnt7+pG7j
k7M0NdWjmnQmbocScvfOiH8C31eDgzfZv+8zAK4NDDxIyYNL01TRNfXhfk3/RX8B3Zeg5Nld+AQA
AAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1151</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>exec16.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9ALFw4yNkygBFoAAAMeSURB
VHicdZNbTNsFFMZ//39LqazIOjbcZge1lZk5ZThWmFlKuzlkIY4xsweenNHocNJ2l7gsxqiEsJmK
TsBEExOyOONDQbmuIxEHGzBvxfxTH1wQBmYxXLYBYRm3lh4fJo1k2ff05STnnO985xylt7cHg17H
YnQJg16HPsHE+a+/QmJRMtIt1NR+ycGXS3gY9IGGwIpAbU0dHXWlBAfX0d7eIXabFUB5aIFl0vR9
M4B4fR4lOAhhTZP33q8AgcrKD2RbdrYC0NLcKgdKiuMF1WUSi8WkpfkiYU2TxYV5yXfuZObOCHcn
/2aP+3kkFpWwpsnF4CUaGxplOU/x+jxxOWFNk4rKKv78rQOr4QbJiRFUVWUmYuTmkp3tuw5w4piX
rP/UrBghrGlkZW1jIBRk16NhVpv0xBKM6A3JrDKlYp++zS8/t5Gbl8f8wkK8qfp7f7+kms1SVLRP
nDuzyUi4jukRhclZBc9n/ZR/2sdd0kjPfI5NhlF2O3Oxplskbe066ev9SfSxWJQX9hZg0OuYnhwj
NZZCTJ2ivuMG1pwiBeDzwBWpOvUKm2xbuWVcy27LE0QjQkPjd6g7HHlKYeGLvPHm64yPj5GctoXE
xFVUHSslMvGHRGYG5Mwnx1lKNGBMtTI1NcNrrx7G7c7H5c5XVpj4z81h8b59lKeMQxjmJ0ja8CQ6
sxkFmJ1PYnRuNR/5z5GcsubBNf74Q6eUlR3l+sBfhG6v595jBUSS7ESWzMypdobuGBkcGsbjPU53
15X4GnWBd6wcPn1BysuPYHl8I93dXbS0tjAyNg2mDYyMz3Hh2wbq6+u5NztHVtZ2zGtSOHvm7IcO
h6MCl8uJ1+chM9Mm+1/aK7k7nhUAt8spPVe75Fpfj7hdTunsvIwj5xkpKS6UzZk2CYVC9w/pEJex
nQpy3l9Nqc9D8f6DtLY1AZBuWS+qquPEydNKdLSVd89dxb+Yg1euxX1bYWJtTR3ffOElPGygvbYa
1bZZQNhTsC9u2knnOBmHAlR/XMXEran7Cjb6mh74sq1bnuZI2VtcagvQ1fMrfn81/2+2jH8B7yA9
2jGz/1AAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>16</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>929</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>16</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>favourite.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAAB1UlEQVR4nGL8//8/AyUAIICY
KNINBAABhGHA38NnjYHYBUN8/V6ln1HlLt9VvQSRxQECCMUAoMaZQOoMEO8Gss8AsSBUPO3/t+93
/794vfv/h893L/EZGsP0AAQQE5JmkK1pSOYZM/z52wEUV2L4/3/m3w37GP7fesjw8OdXwa///3bA
FAEEEAuM8W/fKWMmexMGBmaomR+/MPy7eDOU4e9fwX+XbzP8O36R4cGn9wwf/v9h+MXwH+5FgACC
G/Bn3R4Gxp1HGRj4eRkY+bgZGL7/ZPj/6p3g/y9fQ/+/fMtw8+dnhm///zH8ZPjH8Pc/w3uYPoAA
ghvw/+GzPfAIZWFmYGBkZPj3+w/D2/+/GV7++83wA6jxJyLK98AYAAHEiJwOrvIZrfrL8D8Uxv8F
tPE3w3+grf8ZfqOmFxPXL1fOghgAAYQSC9/+/03/8f/feyBm+A527n+wzWiaK2CaQQAggBjRU+JJ
Xn2Xfwz/d/8FhQumzXuAml2RBQACCCMhmX++uOcf0BagVxj+oGq+B8Rh6OoBAgjDBTBwgFd3FdD2
UCQhE2SnwwBAAOHMC/8Z/qdDbQWBCmyaQQAggBhALsCFd3FruwDxbnxqAAIIpxeIBQABBgD17wo7
rapDiwAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>16</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>586</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>16</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>filenew.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAlwSFlz
AAALEgAACxIB0t1+/AAAAdhJREFUeJy1lTtu20AURa8E2TFAGwhADlI4m1CjJahSp1619pAqTVag
gmvQTlTEgLs0kcEiARISsuIUmu97KYY/iRRFI8kFBvPB8Mydy0cQ+E8a1Cfz+ZwPhwOklJBS4txY
Stn6fF2j+kQphdVq1bpRSon9fo/dbofZbIY4jrFcLrkLXmo6nfJ2u+VzyrKMkyThKIp4s9lwHMcM
gNtYw1PHXQrDEEEQQAiByWSC8XiMOI7RBj8Ca60v3ioMQwghkCRJJ/wo4z5gABBCYLFYIE1TpGmK
LMsaexovr4/W6zV+/3rG09cv+PH9Gz4/POLDx0/nwX0dD8C4uw0gxDsMnMP9+93fO2ayIKPBRkG8
vcM1R0h/Rt3gS47ZWZDVIKvAVoGsRvBmhOC6Wcr9wMwgsiCjwFaDjMrhfnx7c9UNbouCmcHOgq0C
G++Sc8dsdOn8VY491HinToOMzHtdcyzBLeBhY+Uf6axjZgJbUzmzqubcZ0zWV0eb41FjxVPBVpet
AtUOyTMm0yPj4dAnU7jzWcocVuVZVkdxi0tgIvK9UY2SIuevTa6qBA/t4bg8wMjjPI0Gu5ODioyd
7Zexfsnw9IIq37wVZcZO+2yLeb7vVKffYuvf4BUqeX8A49z+bCt1xTwAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>566</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>fileprint.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AO4A7gDuimnwFAAAAAlwSFlzAAALEAAACxABrSO9dQAAAAd0SU1FB9ALEhQ7CQ1rRLoAAAQ4SURB
VHicnZVNbFRVGIafe+femd5p7dDEaadAaANJLabpz8LAip9BMO3CkpAMgZBI40ITUhNiwBIWbLQx
MTYNC1xYXNUQSUVrcIzQtCxw0TQoFaukVq2J1bQ2bWHo3Lk/53wuCiMISPVdnOTe3PO+z/edc8+B
VSqTyUhzc7McaN8tq/neWq3x5OQkQ5+8f+9RpmdvUVuV4NzgZWO1Hg+pvbVe5n8elXxuSVzXFdd1
Jb+ck/lfxuRA++5HVvJE4rY9jcSeqideWY8RsTGMu4CmRbyynrMfDqC8ZbzbM0z+Ni9165/m3OBl
44lltLfWywfv9VOaanjgvWiFhB4iGuXn8ZbnEXeBys3PAxj/SnyP9p+mABL6aBWAKEI/TxgEqNz8
k1vRtqcRO+LL2TPvooICZsTCwEAQRCtUWABR6NBH+XlEeRx76yyA8ZCxiJhbtmxRSikKYYJUMklw
Z56ICjGjJRiYK9O0Bh2ilY/28xgI+vbvDHw+THtrvQBE7jdta2tTJ0+epKWlhe/Hv6HnjQxmaQWC
gaFX6EQHaOWhggI6KOC7d5BgmddPnaYj8wevdr7E0NDNFWIRie7du9c7evQoc3NzXLt2jYISbnw7
Rsszc3il64mnnl0pOyggWgCFBD4GiqBwi3ODlzn8chtdXZ8y+MVNwwTYunWrd+TIEWZnZ/E8j6am
JjZu3EjrK6d57cwoN77+Cv+nSxT+/BFRPigXnb8NwR0kVBx7s4/eU6VsqGksttVYARZc1yWbzbK0
tEQYhsX9GovFuHr1Kn19fezfn+Hwrmqa6zagSlIgGqwo65/bz5eftfHCi9ni4hnpdFr6+/uxLItk
MomIUCgUyGazzM7OopQqBtwfkslk6NiV4p2PvmN4eJgfxrvY3PR2EdjIZDLS3d2NbduYponWGsuy
WLt2LVprPM8jm80yMzMDgO/7lJeXE4vFyGaznD9/nu3bt1NbW0tFRQXxeJzu7m6sxcVFFhYWsG2b
kpISlFKYpkk+n0dEiMVi7Nu3D6DYrqmpKbTWNDY20tDQgO/7OI5DWVkZFy5c+LvHPT091NbWkkwm
0VoTjUaxbRulFJZlEY1GMU2TWCzGpk2bHgiZmJggCAISiQQXL17Etm2Ghoa4d1YIwIkTJ6iuriaZ
TLJmzRqUUsTjcSKRCEqpYlW2beM4DnV1dbiuy/Xr1zl+/DiO4xCGISMjI8U/zwAYHR2V4eFhADo7
O0mlUqxbt45EIkEQBJSWlpLL5VBK4TgOc3NzaK0ZHx/HcRxyuRy+77Nt2zYee7ql0+liSEdHBzU1
NVRWVlJWVoZlWRz89SB0wcDHA1y6dInp6WkWFxcZGxtb2RWPM75fO3fulJGREQAOHTpETU0NVVVV
2LaN7/tMTEwwNTXFXRCjOPwX7dixQ65cuVIMKS8vJxqN0tvb+7/8Hql0Oi2sLPxDF+xfkQUOhFrx
738AAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1211</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>filter.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9AIDREqLSugfIkAAAGiSURB
VHictZW9rsIwDIWPnQRSkFiQWHgGxDPxAEw8GUiwMLAwsmVjZO2AQEURbVrf4d5W6Lb8SWApU63P
x8eJSyKCbwR/hQpAP0sgosaWRITeBltrRUTAzNjtdsjzHNZaEBGIqFawqQjdekxE0mq1sFgskOc5
tNYIIYCZ0e/3YYyB1nUto9GoVqDK0lrLarWC9x6n0wnMjCiKYK0FM+PRkJ1zlbASXg2vbFNrDWst
tNYwxiDLMhhjHoKbolKcZRkRkSilsNlscD6fcb1e0W63kaYpjDF3IU1W0H8lRCSlj1prbLdbeO/R
7XahlALzb5Pj8RgiUnVSG2D58fYAEOecOOdEKSWdTkcACAAhIhkOhzKfz2W5XMovos6oKb5VXg7l
NpIkQRzHAIDZbIb9ft94n+++PBGh0rsyiqJAHMdI0xTT6fQuFGjw+JHyJElwuVwwmUxwOBwevrxG
j+95vl6vZTAYNHr6/7y1hEIIiKLopdyXwaVl3vvPgvM8R1EUOB6PnwUzM5gZIYTPg3u93ss74+l1
qxL/9u+zBf82+N342j/vB9U9JyyjV9AaAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>549</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>filter_on.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsRAAALEQF/ZF+RAAAAB3RJTUUH1QcWFB8uQ9b7kgAAAYdJREFUOMvdlD1uU0EUhb87M++N
/YSQoLAIDhReBGIHiKWwAApEScUagqiQEEZUFMjKDrwFSwjJbRRLkMQmmTeHwg5YtmMceA3cajQ/
37135pyBfy1shz36k7MbF2OMkoRzjsP+HnUWregwA1ucePDo81bO6oTKsqR/cIe6FiEYKQnn4PYt
TxGMENZrWUpiawPvvd6/ustsJlI9h7WioxUN54yqMspiM3glgQG4nxnMMAMfIEbDe6MojIskigKk
v3s8ee/59Hafr98yWRBLI3ioKjcfX/cqluEhBABCCBz295h9z1Rth/eGW/T48PEXJKFfreyiMDQc
9DQc9OS9V1VVWshOZqZut6t3B/v68PqerpKj/Qa+Nnlymjk6rgF4/rLFaDTayHDb7n9Fq+QMR8c1
F+fi6Qt3JXRn511WfnKaOTvLPHkmxuOxNWF9DQc9fXxzX51OZyfhuevQUxLtdptGwZeqmk6nzYLr
WuQMk8mkWbBzc3OklJoGw80bftlpjYW2fPr/QfwAJ9uRmij7cLwAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>506</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>find.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AAAAAAAA+UO7fwAAAAlwSFlzAAALEAAACxABrSO9dQAAAAd0SU1FB9EGDwsuJY7DslYAAAPVSURB
VHicrZRNTFxVFMd/782MAQYcvmfA0pbYAMWWps0IiSGm1lTroqaxYSHIh25JTTHQ7oiumlQTTFyQ
1MQ2NJaFG3YFIwyJWAoGmUBVOkEaGb4mTN+bGWDm8T7muiAgLYzWxv/u3HvyO/97Tu6R2Ef19Q1i
fn4em81GMpnEbrfj8Xjo7b0j7Ze/n+y7g6amZhEOhzlWdYy6hvfJyslDAIlYhPs//kRJSYmorKxk
YGDgXwvsJJw9+5ao8Xq5+NGHFBZ60Ow2kB0YIsmGJci22yCm8tW1a0xPTzE4OPiPcBvA+fPviler
vbRc+ph8TxGejDRMJBY0A1XT+XMtQUCJQEY6b9e+hhJaweFwfDo3N/dZKrDs8/nKLMvi3Ht1ZOXk
UODY6k6Bw87LGQ7WDJOEaRLREtxbWGHKtHGh4QMWl5bp6+srS+nYsqzwhbo6jh4/jm63o5mCLIeN
VcMksBYnZlrErSQbusVKJIa6uUlGXiEnDxTww8D3lyYnJ/d1LSuKiruoGGdmFkrCYjGu70BXNRNl
0yCsGyxtWiw+VlCjKrIEBWWvEAwGU/bYDiA7toakJ3USksxoOIYmBErCRDUNFM1EVVaJranYHaAJ
QTowOjqaEizrus7q0gIbhkV4Q+ORuk5I03kc11FNHUUzebgeZSW0hK4quDKcyEIQfTSL2+1ODa6o
KOf36WkS4RDJF9KIaAlWohGCikJwVeFhVGFjNkB8ZRlnoZtTh0o5kojwzc1blJeXh1KCm5uby8fH
xvnu1k2OZqVR7MpGi8dZjsYIhRZIzAYwVAV36RHePOnlTH4mv9y/h2+gn87OztfZ9Rd2SxJCFHV1
dS1N+icpLS2l/nI7QT3JnBpFTcSJ6hYvpqdT48mn2CFx58svGBn7maH+u1QH5xkvOZgSbJckyWxo
aBC5ebm4XC6SB0s5ceIUBw4fBEAJLvDr3B8sjI3y24MHDPXfBSG43PYJfr+f4WHfHvjOgRAiu7Gx
UY1GY2RmOikufglZljFNEyEEUzMzCCHwDfRTHZwno7EZn2+I9vYOJiYm9sB3lpAkSZHtQm1tbSIQ
CCDLEoZhIISg7PAhuru7HVnf9hpcrEPOzaWj4wpXr17h+vXPAcRu+DOvQSGETZIkazusrq4hMzcX
b1UVLS3N3Ljx9RNteWJt1tbWSiMjI2LfYfwN3TYk1hWFkbExdF2nqalxx8PwsE96ZsepHrLtvKqi
gqamRnp6buP3+5Gfzmxtbf0vxSSAdUVhamaGnp7buFyurRuv1ys/nficzsWZc+8Ip9MpTp9+Y992
Pq8E8L9D9+gv2nfa+T8QLnEAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1112</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>help.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AAAAAAAA+UO7fwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9EBBg0gDndZibAAAAJTSURB
VHiczZTPa5JxHMffz6bPo2JYJtOQ0eZyDCzm1LaxDkFd1iF2GHYadYuoscNY1DkoasQ8eBMhVgTV
f1DzFLmcoy2CWkzTTVtlS51z/nx6/HToUKaPzwO79D6/3y++n/f38/0yaC3qO94PHu0o8zXwggAS
BPDVCirlEkrpL4xYsE0MqDukJ08gimPnJ6FSa6Dk1FCyaig4FY44z8JyZgIAiNWbSeJwf6D+YJzc
vjCZ+k6SUqVpCDIKlkanveS6fJv0jnMEQBp+tKeX3L4w2cauSgVodNpL9pmnTX3/VkFT3mfY/riK
ePg5AIh2CICJLMxDfdgM25U5aK1DdfCGjkOfq9jN/QBfzLdg/hZfyKFDq4CynQOYelQD+Pu7lxA0
RlhPj0NnMNFBg1G0jkQsApZrg0L4CaGQrR+niZ+sl+5Ca+6CRmcCJ/B465tCZmOtzjswOEIX7zzE
oxerWJl1N7CarRsTmb+JnbUwCon3yKWSyGys1RnsriG65nmMJ8sx7H4KQWXsFhuqqQgAabr766pw
Dg6TPxgn571F6h6bJNbQKXuPRWXrd5A/GCfX/SXqvXCDuI6u/UNP2B3kCURpeG6ZesZnJF9cqz39
W+QJRLEYyyAWXceb2QnJrNhf0aDNbynEszz2tqJoUx2Q9MsGL20xqMReI/c1iVq1KDcmSwSAOJNl
/xf2X0ruVsAycIqKxTIKO9vIpxKSOVngTpuL3LceIJkuIbnHIHR9BBD4llmFHHA2ncbiZhn4sID1
lVeAwEtmZFfB6s1ERBBKedTKecncLyVJ9AVjbcjYAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>726</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>history.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">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</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1640</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>imp-exp.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAMAAADzapwJAAAAA3NCSVQICAjb4U/gAAABd1BMVEX/
/////v7+/v38+/z9+vj8+fz9+vf89vH79fD79vH68uv58Or58On58Oj47eT47uT37OL36+Hs7Ozi
7vf26d326Nz26Nvd7fb05Nb049X049Ty4M/y3s7q39XN6fTh4eHk4Nvg4ODx28fe3t7Y0MrXzMTP
y8TWyL6e2uvQyMHJycnUxLjGxsbSwLLRvazGuKzOtJ/MsJm0tLS7sqtzytzLrJO4sanJqI2BvNhK
1OXIpIfHoIFFzto/zNxbu9agm5eYmJiBm7gvu9BapcElrswcqsmFf3ofmr4skq8RlcAli6wYkLcU
jbURjLoVhrAWhq8ahKcWeptTU1NMTExKSkpGRkYXVnYRVnoYUncXUHQWUHEVTnIcTG0STnE/Pz8+
Pj4cRmcUSGkUR2saRWc5OTkSQ10zMzMhNEwpKSkKJDkKIzkZGRkIGy8HGioIGSsKFycUFBQHFigT
ExMHFSYKER0QEBAGDhsMDAwICAgGBgYCAgIAAgMAAAALbezuAAAAfXRSTlMA////////////////
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////9jZ
4zEAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAhdEVYdFNvZnR3YXJlAE1hY3JvbWVkaWEgRmlyZXdv
cmtzIDIuMO6rW8cAAAAWdEVYdENyZWF0aW9uIFRpbWUAMjEvMTIvMDEa4ToEAAABQUlEQVR4nFXO
+VsBQRzH8SmRdImkU8eodF8qym4Nu7FYV+VIky6xckY6zB+fY5ft8+PreT8zXwCaI6RQKGHwf5Eb
EmZcNvz5TYiMr6EQcvpNePuQXMr8Fgoeh1+JdYvlTZk/tNmEgS4LZP4q1gCklmX+BnPedg0iqWxZ
/JY0F/MxvCVNSAavnVyJdR27KY7nWVqPnmpLGxfSI5VkwM6xVgW6R/H8wpHE79VokKIV6BEZg4nq
nsQfsJoIGtELUtBUMFqV+AuCfBzdIYWV5eyBZEXkHwhA7RnpaZbnOcqN6z3GmUYjbeEZX6x1cOdy
CPoHhjTj2OR3eHP70tsE9qkGNWOTWOl3eIQDiX+hSj2sNUy3ao9w3KvVI1rDzFynPu3x6MTU7PxK
s3aGhLMum82r61s7u9jmYsLkvMvicKlYlM77A2TUXvpMdlMEAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1017</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>info.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAgRQTFRF
AAAAO4O6O4G5OX22NXWyMnOyL3G0MHa3NX25NHu4O4K5OHqzMWaoKlqjKF+cKmeRKXm5HGO5Gmi+
Gm3DFWvHFmnDN3OuLVieKFWgJVimJ2KWOKzqI3/PFmrFE27LEHLSDnTVEW7MOXu0LVedKVSfIlys
JWOaK26TLYGvHXrOEHLRDXXYCnneCXrgEW/MMmipJlimI1ysHV+yGmG2HmmzG3HEEHHRDXXXB3zk
BIDqBX3lOX63K1qiJlilI1usGWC0GE2dF2jCEnzWEHXUAYTwCWfCJlmlI1urIF+yG2G1GDF3ExtV
D1iiDKP2DIHgCnndAYPwAIb0DF2zMnGyIF+xHWO4Gma+FkmYEBVGBSdJDKX5CnreB3zjDVyxMXO0
HWK3F2rEEm/MET2JARIiC5DqBIDpD2G5MHW2Gma9FG3KEHHQEUeYARAdCofnBX/pAYPvAIXzFVio
L3a4F2nEEXHQDnPVEFWrBlGWCIfqAoPvHEOIGWvCD3PTD3LSEUWWA2KzBortAIbzC3TVIzh0DnTW
C3faCnfbEUqdAoHtCY7sC5DrBH/oIkWIKTt4F2jBD3LTC3jcCHviA3/pB2zOCnPOCI7tAojyA4Hs
GVKfLDt4KzZvEm3KCXneBX/oAoPuBnzlHFSiKDl1Nzt1Em7KBnzkAoLuBXHTC1uvEVuuMESFIjdz
LzdxzRxIYAAAAKx0Uk5TACGG3/3////InHLu////tOb////bKvj////aK/n////1Pen////1WJ78
////4hX///////L8/////4vj/////vRvqvv/+v////3sQgMd6////v//////+VkQK+f5////2/+s
EEn///////+oBlH+////8////6cBaf//////ogF0+f/w////vQ478P//bir1/////tPj8///rwc9
4v////+5GRWK+P///+yKCd0IVlMAAAABYktHRIRi0FpxAAAACXBIWXMAAAsQAAALEAGtI711AAAB
BElEQVR42mNgYGBkZGJmYWVj5+BkZAABRi5uHl4+fgFBIWERUTBfTFxCUopBWkZWTl5BESigpKwi
qaqmrqEpp6Wto6vHwKSvYmBoZGxiKmdmrmNhacVgbWNrZ2Tv4OjkDOK7uDKwuLl7eHp5+/j6+VtY
BgQGMQS7h4SGhUdERkXHAPmBsQxxIfFhCYlJySkxqUB+YBpDenxGQmZWdk5uXj6QX1DIUJRRnFlS
WlZeUQnkB7pUMXBUZ5bU1NbVNzSCBJqaGRgTSlpa29o7OruA/O6eXgaGvv4JEydNnjJ1WmDg9Bkz
ZwF9M3vO3Hkg5YHzFyxcBPbv4iVLAwOXLV+xctVqBgYANZtKND90h34AAABHdEVYdFNvZnR3YXJl
AEAoIylJbWFnZU1hZ2ljayA1LjEuMCAwMC8wMS8wMSBROjggY3Jpc3R5QG15c3RpYy5lcy5kdXBv
bnQuY29thlvN6wAAACp0RVh0U2lnbmF0dXJlADUxOWY0MGQ1MDg3Mjk5Y2UxOTUyYWNlMDQ0ZGVl
YjU1C208jgAAAAl0RVh0RGVsYXkAMTAwXBmEDwAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>16</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1237</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>16</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>inspect.png</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAEhUlEQVQ4y62VbWiVZRjHf/fzPOd5
Oa87Z3Nnbeo2bVquFxMRyYIIUUGwKAi/JCaUgRHkhxJSCO1LBkLiRxUK8oXWByFRSCyKWshcak1S
gnR55nKdue2c55zn9b77MB1rm5/qDzfXzf3hx31f/+u+LsEMXbkysD6dTh8QQhDHijiWSKmIY0UY
SoIgpFQa/m7Pnp07BwYu1XmAjJkHo6OV+ZpmLwOBrmvYtkVzcwHHsQhDiet6SCmW7d693/rww/d2
DAz8PCdcv7/ZvfuQsXnztvdtO7nPjU0zMpLEwqBaixgrl6lW62QyKcIwBhSdnQueamlZ2tTX98PX
lcp4PCd4x459env7wk8biq1vBc2demd3p14sZmlszJAu5BgJLOpuHa8yjuPYeF5AR0eRhobcytbW
x/K9vefP1etuPAu8fv0r2xuaW96ttT3hLVw0z7ASmgYQSQgU6LbJmJYinHDxqxNEkSSVsrFtE8dJ
rWpre9K5cOH8t75fl1PgLVt2JTo62r+8obVrDy1eaBqa0IyE0JSAUIEvwYshkBqDdzVaEhVqtYA7
d8YZGhrF90MMw1zZ1/fjZ+Xy8NiUeY6TWeH6snXYnndrviuLhibQdQgtMHSQCvwAqp7CN5KMeiY5
S0PXLXw/wnFMwlARBL71r6qIIrlozNP805eHfhn6uz74zPLGLrEwV/RMAVIRxYpIgi8FrqcYkwa2
rGFZCUChlELKyThdWhCEURwGWkPGUIEfjty5ffeWGUXYSmIjsZQEL8QfD6i5EULFxPFUKhGCOcFG
ve4OaEElMT8XpoqF1Fgxr9PcoJFOCkDh+WBoEIUR1UpENlVDKQiCiDCMSSQMlFLM4KKdOXP4ml+v
XV6sDy4qZIRozGo0ZgXNOUFTSlBIQz4tyCQFTYlx9LiOadpIOZmC+5oFdt3xuFQq7cqHQ60pd7Aj
7QjSNqR1yCUgawoySQ2LOgvMMpVKDcPQ0fXJn6nrGkoxO8cAp04dPFf6c3CXXrraPXL1SldtokpC
B8cQiDikfPMmcek3RkfKCAGWHpA3/iKVsrCsxJzg+71C9vQcOLhhw7brS8Lgoy9ul5Y1zcuTTNqE
QUgum6ZQyBJ4IeU7w7RMnKC16QYy/TZ6ZvmcOZ7ehKKzZ4+eXreup7hx4+rDQeAhpSSbzZBMJolj
hV+v0X9kM90vrcZ5+DXEhYOUjXdQKv/AG095oOtWmM9nSKeb8LyAKJJEUUwYSsJI0tg0D/fXHnQz
QWHVNoz+T7gy8uJs82Z2pSiarFHHscjnM6RSJrouEAKEZpB/bj/9tx9nov8YweBFsiu28mzrCeOD
TW73dJ4xF3j6s5JJh2TSmTRCTq6uJce5eGQrj/QfIws0r3lT22wcOtrWoCY2fTx8DlCzwK5b/f3k
yW/OCoEex+re9JBTcXKqKPzaWq5d+mn+Cxx7NAtobRuyRlvxDTj+PeDNAu/d+2ov8PL0IfAgrVjg
pJLC+nzF+Inn/8i8zsXKmgk4LgAE/1Frl2YKXe0d20v202Zv71cnR0ZK1wHJ/yT9nl9TF/0HWbso
vSjssLkAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>1214</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>intranet.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AAAAAAAA+UO7fwAAAAlwSFlzAAALCgAACwoBv0NmUwAAAAd0SU1FB9AMCA8hFq25lO4AAANFSURB
VHiclZXPS2NXFMc/L3nW98bfDWESM4mLC4Ug0zoWBsRSIbSLbrtxMdBSUfGP6GKmC/0XBvyxahZu
tBBBN5J1upCYtrFMzeRRTdNOfpg8HZO8/LhdpGYmZsakBw5c3jv3c7/33HPPhd5N/uc9ma2XICGE
PD09JRAIIIToGd5mc3NzbcqEENIwDBkOh2U4HJaBQEDOzMx0hd+pWAghDw8PSaVSZDIZMpkMKysr
6LqO0+m8E652gxqGQTAYvL0rXC4X4XBYptNppWfw7OwswWCQVCrF6uoqqtoeZhgGk5OT+P1+LMuS
uVyuA94BzufzhEIhDMNoQZcWFng4NQXAL9Eo61tbxONxhBAAHB8fd8DtNwMppbqzs1MPhUIkk0nW
1tbaoD6fj5GRETRd54HbTfT4mIuLCzweD7quY5rm01Kp9KxDsd/vrx4cHBCJRNjc3ERVVVaWlvj4
0SPGx8dbSnw+X/Of3c7z9XXS6TRerxeAo6MjWSgUlJZiIYTc399nb2+P7e1tVFXlmydP+PTxY1wu
F1LKNh8cHMR5/z73+vv57eQE0zTxeDwMDAy0lNuFEHJjY4NoNMru7i6qqjI/P88nU1NMTEx0HKyU
zSrTNI17g4O43W5isVgLrus6+Xz+qZpIJJTFxUWpaRrFXI6F5WWmp6cZHR1tkqplfvrhW7J/nvEy
dsLfryVbLwpQLTM2NobD4cDr9RKJREgkElQqFYrFoqICJBIJBeCBy9VR9OvfzTHxxTzzy8/IJ2P8
/Px7Fj4a5Ufjmg9qRYaHh3E4HLzNgVs3r0/XW0r7+vqa2/7wcz776mvqhZe8ju8jpqdx2CvULasj
TW9bWx0nk0ns9mYFKoqCoigUz5JUzCzXZ3FshVPMFyf09zXj65aFpmk4nc4OcNfu1qjXKZkXVDIG
5X/+oFatoty6ZzZbJ6Z722w0sK7ylF+d0qhVqVi9dc2e+nHl6rI1vkltTd69wHu7242lMxnMV3+h
pmKUrquUqs08qLfz8X/BiqJg/npI/1WJWl1iWVBvdJv1DnA2m+X8/JxSqcTQ0BCFcpnfY2fY6jWu
yzUqDZViFRLJJJeXl2RzObLZbPeVePNovtNt7/n+pWZrS/q/xFCQ1lPtdmgAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>968</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>jump.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAABsElEQVR4nGL8//8/AyUAIIBY
sAlmt00QZGZiMv7x69fZWXUl7/EZABBATNgEp1YVvGdmZprJwcZWTsgFAAGE1QAQ+PX7zyxGRsby
tKYeF3wGAAQQHgN+z/r56zcDJzv7TNf0YkFc6gACCKcBs+tLQd4AuULp37//abjUAQQQ2IC8jkmh
BV1TjNElgQG5GkQDA7NDxjUEQx4EAAIIHAvff/58z8zEvAoY+ukszMxwSaDtDN9+/Hh/78kzQaAr
ZjLqO6xm+PcXJLH6/6VD90BqAAKIEZYOJJwCwQygnxlYWCCG/P37jwEUDu8/fWb4/gkYm3//wMy+
x8DOZfL/ypH3AAEEdgHQeWlAc86+3L/eBNl54o6BSq/evjvD8P2zIMO/f6sZ/v+bBbT+/f97F8/C
1AAEENiAbz9+vv/89Vs6uv/efPjowvDzmyDD///vGf7+Tv//4CpGogIIIAaQF3BhBk2L3Qwqhv8Z
FHTKcakBCCDcmrVtlMCalQ1247MEIICw5gUwYGJMA/mXgZEBw2vIACCAsCYkUXt/YMoDGsDE1Pn/
9rl7+AwACCBGSrMzQIABAIwZ5DyKBsBBAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>16</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>549</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>16</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>kmago.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">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
3yx1VQAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1840</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>language.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsSAAALEgHS3X78AAAAB3RJTUUH1AkGECIGP/eJUQAAAcZJREFUeJylkb9rFEEUxz9zuTVH
fkAmop6waxUrE7Dc3d4iiOWt8S+wlMsVbmO/geTyB1gGIe5BagtJEXE3KKYQGxsldytokdvTgBCO
u7XIzGXuwFj4YJh5X+b7fd/3HvxnCDOZztdsoGlA6Znc3b5MoFQUBfoAtsJr6jQnCb+XVjE5QhEB
GLz5wOzKpgukQAuoHXHn+VWshQmdzo2Fpw2AkklWEavKTYBThsvKjW0IrP/obWyNCQz33zG7slkH
HOBQ3Tzm6yf1Zbt762XwxXkRKHcOQFkLzD85MAcYa9xlblm/F9sPa4vgKkfemIAipWdy18+TyAXW
386cetcrljcFDOeJi5nR3xTIRi1Ueo/agHezb3mvj559BuJXcz/vn0wN7NvdCuUuXDkm+GjvCGV9
5FY7aADsHS/Vrw3KJ9IPH0znay7grP66G1vf4P29nZbhNgM6wMUae+mGXp8j/TD7nkfneR9EHwz7
AK2qDIPJGXhAKv0wM6oEWFBYY+ROVYaHOikDCCHIk8jTgwGoyjDjfF2XRsl4d4BankR1DeRJ5OZJ
1FZbGQvduiiKAiGEJiSqFTOa0g8bf3MgJgFVzQGQfvjPFv4AQNylzO+06SEAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>16</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>569</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>16</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>left3.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAMAAAArvOYAAAAAA3NCSVQICAjb4U/gAAAAPFBMVEXT
5t7S5d7R5d3E39nD39m83Na729a629W529W32tS22tSp1NCm08+n08+ZzcqWy8mVy8mUysiTysh+
wcEC1Ck4AAAACXBIWXMAAArwAAAK8AFCrDSYAAAAIXRFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZp
cmV3b3JrcyAyLjDuq1vHAAAAFnRFWHRDcmVhdGlvbiBUaW1lADEyLzEyLzAxpYYnegAAAEdJREFU
eJxjYIAAdnZhKIDwuQUEBLgZEIBZgIeNiQlJgIWPiwEVCHKiCXBzM6IKMAmxoinh4GdCE2EXRBNg
EObFEEEXGDkiAC9nAtde4XF+AAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>24</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>315</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>17</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>mail.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALEAAACxABrSO9dQAAAAd0SU1FB9AJHAMfFvL9OU8AAAPfSURB
VHictZRdaBRXFMd/987H7tbNx8aYtGCrEexDsOBDaKHFxirbh0qhsiY0ykppKq1osI99C4H2WSiF
FMHWUhXBrjRi0uCmtSEUGgP1QWqhWjGkoW7M1kTX3WRn5p4+TJJNGolQ6IXDnDtz+N0z/3PPUWBI
pdpYa23b9g09PZ2kUrOrvmUyGVKp1Ao/mUyi56YnVgWfO/P1CihAd/dJMpmaNROIRq8BkM1m0bH6
TasC3j6QXgFdXI+DR6PRJX/Pno8B+KLnMKqlpUU8z8MYs2RBEDzWf9J+0RcRbMdxGBsbw/fmCXwP
MUEYID4iAVp8wIRmDIHMo4yHSIBSASKC+CWE0C/PF9jU3B6Cp+4M07C5FUtKGNvGwQJctPgIsgD2
wRhEIqAMGB+UQYkHJgYYZD7P1HwVlmWhHcfhyk83KeRGUW4t6CgoG5SNUS4KBWgQDUov7AGlwYAS
BVqH0Bk49dXpCviVV3dw/tI1Bvr7kMIIlh0NYUpjlF0BAYvcxSXmEVLKceHSCJm+PnbueBHbtkNw
TXUNBzo6aGpq4sSZGwT5H7BsF6Wdf1GWHQAoM0upeI9PT1yioS7B7tdaSdSuw7KsUGMAy7HYsmUz
tTW1nMwM0txssX1rlHjjS5jy/Uq2YkK/eJuLl6/zx+1xkslW6mrixGIODx8EFSlEBC0+tmXT0NhA
2763iEUjnLv4C8XpUbSbAB1mKkGJ3J83Od77HW5EszvZSqK2iljMIeJaRGNuJePF6mspY7BJ1DXw
QnCd2fxGRq5OUCz8xt72dyhMZcn++Cu3xu9SKhdp2b4ZHWnAtTSxmIWlhcIjlksR3lNBYzlxZsb7
+f7ne+xtSzOdu83szH1OnThOPp/n+a0beeP1l4mvq+PU2Qyd+5PY1RuwlAqLYFaBfbTbyPSdfgaH
77A//QF4f1O/vpr6RJyq+C5Kc/M8FbFxXItYxOHDrvfo/fxLDnbsJBp5BowBReVWYAzabeTh5ABD
w7cWoNNL3YYYNtSv57lnn6Z+Qx01VeuIuBa2DV1HD3H63BAPZu4u1WGpeLHqRh7+NcjA0O+0p4+C
NwXigwnbWlQQdpuEpli+n+PIkcOc//YKuckJJFh2K2anrjFw+QZt6S6kPImIF/b+cqAJD1LihWAx
C61twBTofPcQF/oGsVW5ovHQlavs2/8+uYnRVSOUgHAmmAClBIOBwKC0gPjhIRgEIX2wg7NnwpZW
3d3d4vs+vu8TBMGK51rvPM9b8hdteZxdLBbVR8feJDs0Rlv6GFKeXJ21rNRXESxMPR+CBUl0nN7P
jtO+dye7Up/8v1I88bf/ixT/AO1/hZsqW+C6AAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1122</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ok.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAAC9ElEQVR4nGL8//8/Ay0AQAAx
0cRUIAAIIKoavPPFDuMNT9eXg9gAAUQ1gw+9PmjMysi6+z8DJGgBAogqBh95fdiYmZF599//fwV/
/v0JFgMIIIoN3v9qnzEDI8PuP///CH79+5Xh0+9PYHGAAKLIYFCYAlPV7t//fgt+/v2Z4c3PNwxv
fr0BywEEEIrBW59vmUmsodueb4UY+h9i6PMfzxmefn3C8PLeC7A8QAChGMzMwJwGjASChoMNZYAZ
+onhyffHDHef3WG4f+oBw6s7r8BqAAKIBVnDr3+/GLgYuNKOvznGYClilY7L+0Bq959/fwS//fnK
8OLHC4a71+8yPL70hOHr268MjEyMYHUAAYRi8Oc/nxg4WTgZmJmZ0068Pc5gIWyJYvjB1weMGRkY
wRH15c8XhmffnzHcOHWD4f7J+wwfnn1g+Pf336wLmy52gtQCBBCKwa9/vmZgZWJjYGJjYuBk5kw7
9fYkg5mwOdjw0+9OIQz9/YXh6fenDNeOXmO4feQ2w5t7bxh+//g9697J+3CHAAQQisFPnz1j+Cv5
j+Hf/78MwmwiDFwsXGlAAxmYGJhmAQ3cDQwqcEQ9/f6E4dqRqww3D9xieHn7JUgriqEgABBAqAYD
w+nLmy8MP7S+M/zg/MkgzC7MwM3MncbEyJT2899Phve/3jE8/PaI4drhqwy3Dt7GaSgIAAQQisEv
b796//bRO8EPT98zfND/yCAtJcUgwCrIAMxVDN+Aif/5txcMtw/eYrhz7C7D67uvcRoKAgABhGIw
MAJc//z8s/vd43eCQAsYXqi+YBBWEGZgYWdh+PwKmFavAdPqlacM75+8x2soCAAEECN6eaxkoWTM
AEz4TCzMgtxCwMTHz8XAzMrM8OPLD4ZPQMP//PhN0FAQAAggDIPBhpsrgtMqEAti0UPQUBAACCCs
ZQVQ41kg5QrE78kxFAQAAghnIYTFcKINBQGAAGIABQU+rGimYAzEHYTUoWOAAMIaxtQAAAEGAPSI
qLNHrHdKAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>873</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ok16.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAOBAMAAADUAYG5AAAAA3NCSVQICAjb4U/gAAAAFVBMVEX/
///A/8AAwAAAgAAAQABAAAAAAADQt7LdAAAAB3RSTlMA////////pX+m+wAAAAlwSFlzAAAK8AAA
CvABQqw0mAAAACF0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgMi4w7qtbxwAAAEpJ
REFUeJxjYIAARijNIAQTUIYJmMAE3BgYhMECCQyMSgZAAVcGhhQjZbAAA5uzkiFIgIEhxEjJJADE
YHMGaQGBFJAKsFAYAzIAAJ4vB/K+NvgFAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>14</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>264</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>16</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>option1.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAMAAAArvOYAAAAAA3NCSVQICAjb4U/gAAAASFBMVEXa
5ubZ5eXY5OTW4+PS5t7T5t690dG80dGvx8erxMSsxMSlwMCkv7+Lra2LrKyIq6uHqqqGqalumJhp
lJRkkZFlkZFjkJA9dHSAomvsAAAAGHRSTlP//////wD///////////////////////9BUS7PAAAA
CXBIWXMAAArwAAAK8AFCrDSYAAAAFnRFWHRDcmVhdGlvbiBUaW1lADExLzEyLzAxlG495wAAACF0
RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgMi4w7qtbxwAAAFBJREFUeJzlyG0SQDAM
hOEQi/pqq6H3v6nSMSa5gvfX7kP0xM6FXKuwSUoBtfv3R5y4KeOVYV8IX0VkBpSssdXC5wgtLrEV
ISPed0Yy8Fe5AKZTCetuXEyPAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>24</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>372</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>17</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>option2.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAMAAAArvOYAAAAAA3NCSVQICAjb4U/gAAAATlBMVEXa
5ubZ5eXY5OTS5t7W4+PT5t690dG80dGvx8esxMSrxMSpw8OlwMCkv7+Lra2LrKyIq6uHqqqGqalu
mJhplJRnkpJkkZFlkZFjkJA9dHTunx1JAAAACXBIWXMAAAsSAAALEgHS3X78AAAAIXRFWHRTb2Z0
d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyAyLjDuq1vHAAAAFnRFWHRDcmVhdGlvbiBUaW1lADEx
LzEyLzAxlG495wAAAE9JREFUeJxjkIQAQW5uFgYIYIUAQVFRUX5GhAiIwcIpJM6GpAYszivMjirC
ysojhi7CJMSHJsLKIcGCJsIiwoUmwiCGLsIqIIAuwio5ckQA7NYKON8XlRMAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>24</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>341</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>17</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>option3.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAMAAAArvOYAAAAAA3NCSVQICAjb4U/gAAAATlBMVEXa
5ubZ5eXT5t7W4+PS5d3R5NzO4tu90dG80dGqx8GsxMSrxMSpw8Okv7+gwLqLrKyHqqqGqamDqaVu
mJhplJRnkpJkkZFlkZFkkJA9dHRmh9y+AAAACXBIWXMAAAsSAAALEgHS3X78AAAAIXRFWHRTb2Z0
d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyAyLjDuq1vHAAAAFnRFWHRDcmVhdGlvbiBUaW1lADEx
LzEyLzAxlG495wAAAF5JREFUeJzdyUsOgCAMRdFSFFARCgra/W/UDzERRo69k9ecAlkr4UlOEwGl
lLwo4PO60vUYw6bP1VsYpRCAV/NiwCzzfRdBlyE7fAvGPfa1DDxgLYpVI8jdB8G/C7cdrcAINtIb
lmYAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>24</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>356</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>17</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>option4.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAMAAAArvOYAAAAAA3NCSVQICAjb4U/gAAAATlBMVEXa
5ubZ5eXY5OTS5t7W4+PT5t690dG80dGvx8esxMSrxMSpw8OlwMCkv7+Lra2LrKyIq6uHqqqGqalu
mJhplJRnkpJkkZFlkZFjkJA9dHTunx1JAAAACXBIWXMAAAsSAAALEgHS3X78AAAAFnRFWHRDcmVh
dGlvbiBUaW1lADExLzEyLzAxlG495wAAACF0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29y
a3MgMi4w7qtbxwAAAFJJREFUeJzlyFsOgCAMRNGqHR/EByCpsv+NijbG0C14v2YO0RM7F7KmsElK
Adr9+yNO3JTxyrAvhK8iMgOVrLGthc8RtbjEVoSMeN8ZycBfxHYBALwLc7UfEDYAAAAASUVORK5C
YII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>24</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>344</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>17</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>option5.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAMAAAArvOYAAAAAA3NCSVQICAjb4U/gAAAAS1BMVEXa
5ubZ5eXY5OTT5t7W4+O90dG80dGvx8esxMSrxMSpw8OlwMCkv7+Lra2LrKyIq6uHqqqGqalumJhp
lJRnkpJkkZFlkZFjkJA9dHTyGx1UAAAAGXRSTlP///8A////////////////////////////VGdH
8AAAAAlwSFlzAAAK8AAACvABQqw0mAAAABZ0RVh0Q3JlYXRpb24gVGltZQAxMS8xMi8wMZRuPecA
AAAhdEVYdFNvZnR3YXJlAE1hY3JvbWVkaWEgRmlyZXdvcmtzIDIuMO6rW8cAAABQSURBVHic3crJ
EYAwDENRg80WliTggPuvlAEfAJXAP2neiMxLIQh57CVVXapHriF93pvX5/Zpbb/CPBaUOs8g3B0C
ItsAQgWFY0Rh+60YdgLYQwjEh4NqTQAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>24</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>376</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>17</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>option6.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAMAAAArvOYAAAAAA3NCSVQICAjb4U/gAAAATlBMVEXa
5ubZ5eXT5t7W4+PS5d3R5NzO4tu90dG80dGqx8GsxMSrxMSpw8Okv7+gwLqLrKyHqqqGqamDqaVu
mJhplJRnkpJkkZFlkZFkkJA9dHRmh9y+AAAAGnRSTlP//wD/////////////////////////////
/zDtagYAAAAJcEhZcwAACvAAAArwAUKsNJgAAAAWdEVYdENyZWF0aW9uIFRpbWUAMTEvMTIvMDGU
bj3nAAAAIXRFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyAyLjDuq1vHAAAAXElEQVR4
nOXJRw6AMAxEUcehpPdC7n9RCBESsGLP34z1DE4pCldUSgcu52zJAFtScv0hfF2PXasXlBDAno4M
WNTnPQRNgWLwLhi2MD+FN45PWdryEmzTB8HfyNUOpAwHfmyPeK8AAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>24</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>392</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>17</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>option7.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAMAAAArvOYAAAAAA3NCSVQICAjb4U/gAAAATlBMVEXa
5ubZ5eXT5t7W4+PS5d3R5NzO4tu90dG80dGqx8GsxMSrxMSpw8Okv7+gwLqLrKyHqqqGqamDqaVu
mJhplJRnkpJkkZFlkZFkkJA9dHRmh9y+AAAACXBIWXMAAAsSAAALEgHS3X78AAAAFnRFWHRDcmVh
dGlvbiBUaW1lADExLzEyLzAxlG495wAAACF0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29y
a3MgMi4w7qtbxwAAAF5JREFUeJzdyUsOgCAMRdFSFJC/ICD736giIVFHjr2T15yC15rCiCrlwaeU
HOng8rb59pBr4efyskpKCGDLRAEimuvugjZDtngXDHuYn7LUBZ/CKnsJ1umD4N+ljoYcqoQHfqC3
iLAAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>24</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>356</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>17</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>print.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AO4A7gDuimnwFAAAAAlwSFlzAAALEAAACxABrSO9dQAAAAd0SU1FB9ALEhQ7CQ1rRLoAAAQ4SURB
VHicnZVNbFRVGIafe+femd5p7dDEaadAaANJLabpz8LAip9BMO3CkpAMgZBI40ITUhNiwBIWbLQx
MTYNC1xYXNUQSUVrcIzQtCxw0TQoFaukVq2J1bQ2bWHo3Lk/53wuCiMISPVdnOTe3PO+z/edc8+B
VSqTyUhzc7McaN8tq/neWq3x5OQkQ5+8f+9RpmdvUVuV4NzgZWO1Hg+pvbVe5n8elXxuSVzXFdd1
Jb+ck/lfxuRA++5HVvJE4rY9jcSeqideWY8RsTGMu4CmRbyynrMfDqC8ZbzbM0z+Ni9165/m3OBl
44lltLfWywfv9VOaanjgvWiFhB4iGuXn8ZbnEXeBys3PAxj/SnyP9p+mABL6aBWAKEI/TxgEqNz8
k1vRtqcRO+LL2TPvooICZsTCwEAQRCtUWABR6NBH+XlEeRx76yyA8ZCxiJhbtmxRSikKYYJUMklw
Z56ICjGjJRiYK9O0Bh2ilY/28xgI+vbvDHw+THtrvQBE7jdta2tTJ0+epKWlhe/Hv6HnjQxmaQWC
gaFX6EQHaOWhggI6KOC7d5BgmddPnaYj8wevdr7E0NDNFWIRie7du9c7evQoc3NzXLt2jYISbnw7
Rsszc3il64mnnl0pOyggWgCFBD4GiqBwi3ODlzn8chtdXZ8y+MVNwwTYunWrd+TIEWZnZ/E8j6am
JjZu3EjrK6d57cwoN77+Cv+nSxT+/BFRPigXnb8NwR0kVBx7s4/eU6VsqGksttVYARZc1yWbzbK0
tEQYhsX9GovFuHr1Kn19fezfn+Hwrmqa6zagSlIgGqwo65/bz5eftfHCi9ni4hnpdFr6+/uxLItk
MomIUCgUyGazzM7OopQqBtwfkslk6NiV4p2PvmN4eJgfxrvY3PR2EdjIZDLS3d2NbduYponWGsuy
WLt2LVprPM8jm80yMzMDgO/7lJeXE4vFyGaznD9/nu3bt1NbW0tFRQXxeJzu7m6sxcVFFhYWsG2b
kpISlFKYpkk+n0dEiMVi7Nu3D6DYrqmpKbTWNDY20tDQgO/7OI5DWVkZFy5c+LvHPT091NbWkkwm
0VoTjUaxbRulFJZlEY1GMU2TWCzGpk2bHgiZmJggCAISiQQXL17Etm2Ghoa4d1YIwIkTJ6iuriaZ
TLJmzRqUUsTjcSKRCEqpYlW2beM4DnV1dbiuy/Xr1zl+/DiO4xCGISMjI8U/zwAYHR2V4eFhADo7
O0mlUqxbt45EIkEQBJSWlpLL5VBK4TgOc3NzaK0ZHx/HcRxyuRy+77Nt2zYee7ql0+liSEdHBzU1
NVRWVlJWVoZlWRz89SB0wcDHA1y6dInp6WkWFxcZGxtb2RWPM75fO3fulJGREQAOHTpETU0NVVVV
2LaN7/tMTEwwNTXFXRCjOPwX7dixQ65cuVIMKS8vJxqN0tvb+7/8Hql0Oi2sLPxDF+xfkQUOhFrx
738AAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1211</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>question.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">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</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>88</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>6423</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>88</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>reload.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">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
u0oAAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1496</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>rose.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAABUElEQVR4nGL8//8/Ay0AQAAx
ggzOyFhMjFpBIH5PjMIZM2IZAAKIiQRHGAOxC7GKAQKIVIONiVUMEECkGAxyrSCxigECiGYGAwQQ
sQbDguAeA5HBARBAxBoMi7SzDERGIEAAkepiogFAABFjsBIDpiuVCGkCCCAWLGKw9ArLECAMC1sQ
LgfiDqjYHgZI8OyB8uEAIIBgBqcBcSiUfRaKkXNZJxDPhBp6Fs3lSlC9MEeA5GcBBBDM4FlQW12g
rurA4t2zULnVUPWwIBJEUwMyhwEggJCD4h5UA7JrYBaBsCsQv4O6HBZMMN9hAIAAwhbG2CwqZ0AE
DcigTjz6wAAggEjJeTCwhxhFAAFErMEg18PCHKvX0QFAABFrMCxiYWyCACCAiDUYFL6gCLvHQGRh
DxBApIYxUa4FAYAAIsVgWPIiCgAEEL7khg7QcyNeABBgAB49Ph50WBrQAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>453</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>save.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAACIAAAAhCAMAAACLDYleAAAAA3NCSVQICAjb4U/gAAAANlBMVEX/
///1///T5t7U1NT/sbOywru8vLyisKqZmZn/ZmZxe3dmZmb/AADBAAMkJCR1AAEzAAAAAAAP4BnB
AAAAEnRSTlP//wD////////////////////CzGlIAAAACXBIWXMAAArwAAAK8AFCrDSYAAAAIXRF
WHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyAyLjDuq1vHAAAAmklEQVR4nL3UyxLCMAhA
UaQm1tRI+f+flUnbBY/gwhnvhs0ZsgqAyGmIgFwwqTACl1uWGGCUOe/RBske+o3Q69lzQv3eczJE
Sg5BCTlFQi7BU6JESLSIiBEBscITJxzxwpJAGBIJQ6B6ockCS3VCExF1s8Jsqev2tkKRXlcPFOm0
B0AR2iPwh09yiUGKzHlNiFyGliWX4ft9+QD7GBjAnimK0AAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>33</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>388</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>34</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>save2.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAAFSklEQVR4nGL5//8/Az4wsbng
/9+/fxn+/P2Hgv/C2X/R+HB8QVPH+H1NTY0v0JjvQPwPnz0AAcSC1xUg3f//Mdh4xRJSxvDjxw+G
nz9/Mnz88IHhydMnDG/evDEAiScmJn6ZP3++GJD5Fp9jAAKIsEP+QULMzMwMrzpQyP769Yvh06eP
DM+fv2C4evUqw7179xgMDQ0ZgA55BVSC1zEAAcRErEOIAaysrAzc3DwMEhISDLIyMgwfP35kMDc3
Z2hvbwdJgxwjjMtOgAAiIkRQPTBp0iSs6nJzcxmYmJgYuLi4wA7S1NJiWLxkCTwkQY6prKzEGTIA
AQQOUny4rTLj/8mTJ/8TAkAHo/B///79Pzw8HM4HmQF0DCh4/zeAYhKEGxr+HwDSIHcABBARiZX4
qEEGLCwsDN+/f2d4+PAhg7y8PDxkgI5gcAAxDhxgOOjgAFcPEEAEHfKXyKgBhR4jIyOYnZeXBxd/
9uwZmAY5ZjswvYCstkdzBAgABBDRuQYGkC3B5RBksZCQEDA7DeggbI44AKGYAAKIZIeQEiILFy5k
ePH8KcMqbV18jgABLoAAIjnX4AoRbEBAQIBhkpAQXkc0QCgJgAAiObHiChFsjmwCZmciHBEJIgAC
iGppBB00AqOJkCMM9bUZzl+8CuYDBBDVcg0yeJ+fT9ARC2f2MkyYNg8uBxBAVA8RYkLi1OGtDPfv
3EDRBxBAVMs1IEBMSNy/fpLhE7AOYmVCzeoAAURUMwAZ4AoRYkLi9aMrDH9+/WT4w8nGwMbGjKIf
IIAoDhFQ+fGhoICgI9oayhlmz1vMkBAVyMDI8IeB8d9fFHMAAoiiNAJyBDFZ9OOzKwz///xm+PXn
F8OfP38YmMAVKqpDAAKI7FwDLuiA0VYPNBRYszIctLDA6ojO5kqG6bMXAdWCmpR/GFLjQhk42ZkZ
WFCTCANAAJEVIn+BvgL56OGjJ2AxERERhjcnTjD8ADoG2REfn1wCq/v/7zfQHX/BofLz93eowX9Q
zAUIIJJL1gkTJoB9B2yBMBQWlTLcvXsX1D4Fyx1oAFoPxOCQaCpnmD53CdARf8CtD4iD/jMkRHqC
1bKxoTbUAAKIpLrmLzBoc7LSgQb+ZWDl4IE74tGjRwzXrl1j2LBhA8MFoLoPTy9CQgAUEkC1///+
BpsDooFNJoZ/UDlkABBAJEUNyKDJkyeD04ZRaSUDBzA6QI5oa2tjuHDhAjA9VDFEBLozzJizBOwA
BpAjQBBEg9tkfxmSI72hZqEmVoAAItohf3//AjskOyOV4TiPEDgtHICmiU8vbkKC/s9vSCjA2ED6
HzBq4KEDEgOaAXIQegsaIICIzjUgX4EMnTJ1OsMXBkjO8GqtY/ACGjp99gJwmgGHABINw6AQhITA
P4akcDdwZ4zxP2rUAAQQ0Yn1319IiGSmJTH8T4llKIblBOQQ+AtNE0AxUIkMCxUIDZUDshn+/sYo
RwACiOioARv+9w9qdoQFN8NfVEcgRweIhjriHzB64eAPavYFCCCicw0kwcEsRPgOLgbEMxeuBvNT
ovzgjvj37xciJJDNZUR1CEAAER0iv4HxygDqcIOS2T9gyfjnOwMocP8wsjGwAOP+L9DXKXGBYJ/+
+fMDppkBVID+BZnBhBYKf1EdAhBARDnk78+3DNcuv4P67DvYAob/v6Ch8RdcSoKiB2QRIyyngKLj
919wWgElTHCaAMqDQwLoiAePX6DYAxBARCXW7NxSQsooAeAgBwggRkLjI8AuAg+Q0gdiGRCXBo74
BsRXAQKIYIhAFYJK7pdUdgQMgJLaD4AAAwAT7ffG1tvFbQAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>34</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1471</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>34</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>selectall.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAMAAADzapwJAAAAA3NCSVQICAjb4U/gAAAARVBMVEX/
///39/fv7+/m5ube3t7W1tbMzMzAwP/ExMS/v7+ysrKvr6+ZmZl9fX1xcXFnZ4lmZmZMTEz/AAA/
Pz88PDwzMzMAAACQd/T1AAAAF3RSTlMA/////////////////////////////7CLc98AAAAJcEhZ
cwAACvAAAArwAUKsNJgAAAAWdEVYdENyZWF0aW9uIFRpbWUAMjgvMDEvMDI5pagzAAAAIXRFWHRT
b2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyAyLjDuq1vHAAAAp0lEQVR4nJ3R2RKDIAwF0JAQ
scrmAv//qQ1gqVafygvDuReGAYB/x7I8qrX3IAThWxCMCcH+BN4L3wKvVIymBeu6WpsPJsQj+LJH
ImalnCso3MoRmbVGJQVBkxtH1A1hPWldFFQyv1IvFxZEkrkrxFqrSLx/2LVjNBfuCo4ISdeLAefO
sG3DyOJAg5Rz7i+SUmHNk/Dl/fZ9GMcp5avWHfOcnj4nnfUNH2gMovLOLJ0AAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>455</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>sepacla.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAAIAAAAWCAIAAABlk9r+AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAAAaklEQVR4nGKonrf7/L1nAAHE
xAAGAAEEpQACCEoBBBCUAgggKAUQQFAKIICgFEAAQSmAAIJSAAEEpQACCEoBBBCUAgggKAUQQFAK
IICgFEAAQSmAAIJSAAEEpQACCEoBBBCUAgggKAUQYACicgSS2c3YqAAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>223</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>2</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>sepafon.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAAIAAAAWCAIAAABlk9r+AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAAAaklEQVR4nGLeefaWvIUfQAAx
MYABQABBKYAAglIAAQSlAAIISgEEEJQCCCAoBRBAUAoggKAUQABBKYAAglIAAQSlAAIISgEEEJQC
CCAoBRBAUAoggKAUQABBKYAAglIAAQSlAAIISgEEGADX0gMzzUfECgAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>223</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>2</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>spacer.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA3NCSVQICAjb4U/gAAAABlBMVEX/
//////9VfPVsAAAAAnRSTlMAAHaTzTgAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAWdEVYdENyZWF0
aW9uIFRpbWUAMjgvMTEvMDGdzNA5AAAAIXRFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3Jr
cyAyLjDuq1vHAAAACklEQVR4nGNgAAAAAgABSK+kcQAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>214</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>text_block.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9AGBw4bD/9qgJcAAAA7SURB
VHicY2AY6uA8AwPDfwoxbQEjGp8aNqKbSV0w6mJsZlIXjLoYm5nUBaMuxmYmdQE1XExbFw59AACK
yxjIIZyqMwAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>190</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>toutsel.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAABE0lEQVR4nGL4//8/Azpex5BV
DsTG2OSIxQABhFUQaOgqIJ5JicEAAYTN0DSQa4H4HRALoihmYPhPCMPUAgQQ1mCA0jNhbHIwQACh
G+oCMxCIO4D4LrkGAwQQVtci8XeDgoacoAAIIPSwnQkLVxAN5Z8BYiVSXQwQQGTHOiEMEEAkxTgp
QQEQQDRzMUAA0cxggACiWVAABBDNXAwQQCRrgCZDFxwYniwBAojooEAyGGRAKJqB5dCyBV4iAgQQ
OS42xuIDUCYKRRYHCCCKwxJaxGIUVgABRHJQoBnagavcBgggSlyaBg0CQWzyAAFErqGgiuAuvsIJ
IIDISRWC6CkAOcXA2AABRI5rz0BxORruQDYYIMAAyNim+GLVHL8AAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>392</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>translate.png</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAACF0lEQVQoz6WRT0hTcQCAv/f2e3ub
e/PNzb2l5tT+qYEuEQrEPChYghXkIahTBy0wO9TNEKKb5CEPdYgoCMKDHSIrIkuWUp3KKFMnKVaK
bU3rTbe5ObVbFNGp7/rxnT74B9eosN5mpwPq/pZCvSorarcMcIn98gR6Q6Sx+VFiKLi6cqcvMy2p
zwbwFP7RaNlZ2ysqd/Sbycezc+6lPVvzgkXW8+ewer2slZejPnxab3Z2HeBt8MavKNut+a2aGqgs
0wJ5hhth/YTS2wtVVYiREfQPU7woqzhamlwIhEKhIeCeyDEc/i0FGh7DTml8DDlpkmltRVIU0ntr
SLweR31yv0mxWADOABfEzU69OGxsQxESuyJRVm99xtLTg6W6mvSbUVLTXziU7+PkYpQHElzexBB6
90V/yccJhM0GNTXI7e3YYjGk6RnWj7QQF260K11osRjHgDyJsBBtbf50Qx2ZaBT74CC2jg7MuXkS
m2lsqTSuklJEs4ynaINYEBJzhIU4fkL3KpDM9Wbmfdb4/Nfvesa3Tn6tE6WuANm04C4GPZNDdv0S
zr61iDiI0lSNbfer6HJkoCN2OmA4zrr8BrLhBacLZAusLMOiEym1SjzXDIsx4t/G1uLPAQrdksPu
UcFhhyyNpKSm3o9Gh969nO0PjS/OtOyTa4OTLEi/n24sx3WqyX5YzXX5fiRk8/rd8PDwZGYK2OB/
+QkqFrcGoZqVKAAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>13</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>592</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>13</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>translate_tooltip.png</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAB20lEQVQoz5WSPU9TYQCFn/tJbym2
9rYWijZoqKbGUIhxUdxMdDLxB5AQFn8AWzcGo3/AxKSDi6iDMTHGiaBIUr8IqGFB2wa5FFJoIynX
cnv79Tq01pmzPzknJ48ECI4ZFaDVyiLLEkIInE/rNBZX0SZv0C7sUH3xBP+jOTyDJgCSNIoEiJm7
7zHDKup+iVTtJfrsLHosRsNtUPqwRk0pcu72ZA9SAawiuIrO2egwykASLZ2GZBIlk8GX3eLVnZtU
HqSZmLjwf154yEswbBB3NlDsHZpTU0iGQf3yFY4+f+fn8gILayukUj86bYB483EPVYHzBxsEnz1G
abVQxsaoff1GZbdM3gzgX17kdanM3D/odyKBqmkwPo48PY3HcZA2N3EiUbZbXuyH9zBXviBcl1HR
hYq5HLJtYywt4Zl/SsWyqFLHcOs04wmObglMax37XZ3Ydhdy+zy4kQh7I34KeYtmuE30mg/zuol0
6EEbEZx0LdqlA5SZRueIrbfz6CE/gcJzgr/y+M+cQomEYSAAkoKwD2mVTyC7NaALxa8mAXD3a/QF
deg3wOvDbvvYLUWR9UtogyFUbRW435knRA4Ap1qlnM3QaP6hLfdjhC4ydHoYWZZ7CvWMOK57fwGB
orZD1qiTeAAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>13</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>532</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>13</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>trier.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAAA4UlEQVR4nGL8//8/Ay0AQAAx
0cRUIAAIIBZqGNLI2Iji7fr/9YwAAUQ1FzcwNDCCMIwPEEA0CwqAAKJKUIAA0LUowQEQQIzUSBWM
jIwofJCZAAFEkotBBqC7DBq26K5jBAggssIYPaKwiQEEEM0iDyCAyIo8LF7HEAMIIJyRhx4hpACQ
mQABhNfFxEQUrsgDCCCCYUxMRGETAwggmkUeQAARjDxiIgqbGEAAgQOa2mUyyDyAAIK7mNyIwhV5
AAHEhEURyRGFTQwggGgWeQABhBJ5ZEcUFjGAAKJKsYkNAAQYAD8nXy80wncmAAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>342</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>triorder.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AAB6JQAAgIMAAPn/AACA6AAAdTAAAOpgAAA6lwAAF2+XqZnUAAAAlklEQVR4nGL4//8/Ay0wQADR
xFAQBgggBIOB4T81MMw8gACimcEAAUSzoAAIIJoZDBBAmAIUBgEMAwQQzQwGCCCaBQVAANHMYIAA
wi1BZhDAMEAA0cxggACiWVAABBDNDAYIIMIKSAwCGAYIIJoZDBBANAsKgACimcEAAUS8QiKDAIYB
AohmBgMEEM2CAiCAaGYwQIABAFEq31ksZmf3AAAAAElFTkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>267</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>userhelp.png</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAE30lEQVQ4y41VbUyVZRi+nvcA54Nz
OOflBHgkRARSNJaQ5ETTNJsfy8wflR/F2so/rpoVs9mHYi5n/mitH6lZuhqSa1mwOcVQkKGijkSx
FD+YkCAHOMA573vOez7e93nufgRsKEjXdv+6d1/PdT/39Tw3wwSo37ExriA9eaopqqVxTYEWGOzZ
e7a1Y8eZW/qj6th4ieixb+eanCmbmJy2EvZkN8w2BsGB/m7Cl5/59FBndZ8l9l3GkXvnAYiJBCJU
fdDNv/m0nLff4NwwSAhBnPOREIpCdPEi0aGDRBuW8dCzCb8cfRqeB3lMo1TW/DjN3Hi1VrKmL8as
2QwOB4hodIXPB2gaWFoaMO95Fm+dOivjxqWX56ZG64540fcQcaj6h2Rz45VallU4HQUFgKaBZBkk
SRBCwDAMcM7B2tsBIQAigAgsMwsJmYXJ7ku1yxy2WGXdIAKjiHcW5R+QWPJizJwF0nWIaBS614ug
CCNy9jct0FDZFr54ok/sLLVHmlri2aQMSDYboOtgLhlWe7os+1qz9nUEKwEYbGhQzyScvNyIpask
AsABRJqaEDl3NNj8eNK+j07+Vd7cE+wGYCxPM7l2Z/N1Kf2WLYmvliZZ5xTB5HaDzZyJQEuD+Omt
1S9tbsNxAAD/4t1DVFZGVF5ORnk5hfbsob5FM9TPn8vZAMA5hntMVYVYeLfI41evX6doJEK6rpMe
i9LptcWVACxS7fa347Bk+Uqxfj345MkwhIB2ohLNqeZ9287cOQYgAOCBCYKvvowGX2Jwu6Kr4EJA
CAEmmeCZt3RRajxkaU6GOxOTpqSIrCwYxcUw1qwBXl8R3trQdhiA8ghnUn2nekitrwpyzkFEICI4
nsh3rkhCroRwKInMNjacMDiHFlE6/vQGu8dQOgqld6CGe7pbDcOAEAJEhISUyczB4JFIU/57UcDI
qcyIEgAdE4M4gYbriAiCCFEBJkWDARVK34gySZJgcz2W+UKq5JyItSIXibzuXJ6oqwN1dQFCINh9
n7pi6Iv7vvFmx5aFtweQU+QGAAiBWC/Z9uSI9QW92D3kvjHhAt6w3A/aeUUFBGNgsoyeW82Beg3t
0senWnW9pb6aCQ7p2jVg61bQ7yche01bqgoxf7yPqioXTyUOmnY50qeCqSokRQFruYrmy02NIYEB
BgD31mYsSLfOrqdWnxQmQhiAOjCAWOROQEkRZWcVHPzgNlQAdDgXNpmxEls/25XmzpEdycmwAbAC
6Lx7S5SqA29Wafh5WI0UWhB/xNrleUW3ORAGEAGgRSKIyDZIJauC4d7uVi5Aktszw55d4KBPymAF
YBkiNakq9vb/c+rDEEoAdMcNEYs/wvrmpYmdhTZfSrY5PmHEZ5Zla2F67T27U4g5w8M1mUzg626C
7d8PC4B4PYZjal/ngRi2Aeh96N4qC5DfO521GU47RVwuUlwuChw/Tn6/n/x+Pw0ODpLf7ydFUSjo
9VIwL4+CDjv9amP35ifgxaEGxt4oZdMw5coMVA7KEo/JLgr7fKRpGoVCoZHQNI3CoRDdfP8d/lUi
TuXFo/hB0vFWk+XrbCx50une6CnZtMiRm+9KSPEwAYaQ9z55/76mXD1dc6Hm/IWKKg01Q+3z/7Xz
hnJmdxxcK53INQOyLsAGdITOaGhXBfoBBMd7of8CdyyUV+GeHd4AAAAASUVORK5CYII=</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <long>1304</long> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>view_choose.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALDwAACw8BkvkDpQAAAAd0SU1FB9AKAgE3NfklaIUAAAEiSURB
VHic3ZOxTsMwFEWvq4xhpWuHDh3fTBfWrv4Jhu79q8yV+gEwZHmfEAakKChqIyo3lAozoIBN7MRm
gyNFiq3n+67l+4B/CRGBiABAh55Juh8p5dchpRTqukae56LbY+ZgUQsppdZa67dXpV+qQpvuDLdO
8e39Ebd3T27HHW1ToT0UfgfzDSjdWTdY3aRmhbCElVI4Pj+iPRQ47weEmwcgBYhI+EqY+Vu4LEtc
Xc/8goEwMwBgYmwILNYC06XA53XcjibvUY30wNd7vB9r55kgxlLhopeKiEZerMcbG5BYLMdZluFy
PqFtKn9C5hsAO+ckmhGMH5CRHPfiFjwgsRCRNzajqVisgenyV01dwoMZTowiH75kDCYmCSkKFfvb
fACVQJ/aPyixfQAAAABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>421</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.Image</string>
<string>Image</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>view_tree.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9AJCgIFHaGyeGgAAADdSURB
VHic7ZNNDoIwEIXfSFmwcOvaI3CWXptL4I5giBjNBO1iXAi1LRQNISYmfgnJpD9vOo8Z4JeRNcU2
a4q5qNiG1tpWwMxomgZFUdCSJJ4VWmsRETE3lktdSrj/jtCKkUB3rtG1pXeIiCTLMhni4V6SJPZu
KEz9B2bG9XhA15a4n17CImLPubF7N8R7aZ7n9iVuJb0Ywjgk+vNi2YloMg5xrVi1j13+A2L5aEDm
OsFl0YCkaSrPHAKl1KglAd8Kr8zYgACAMYYA226T9kQ9rqoK291+tD7Xu3++ywPdHYaTlNf1oAAA
AABJRU5ErkJggg==</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>352</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>22</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2004,2005 Nexedi SARL and Contributors. All Rights Reserved.\n
Yoshinori Okuji <yo@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode request/editable_mode | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:main_template;\n
layout_id layout_form/pt | default_layout;">\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<div id="content_well"\n
style="float: left; top: 0; width: 80%;">\n
\n
<span tal:condition="python: not here.portal_membership.isAnonymousUser()">\n
<br/>\n
<br/>\n
<br/>\n
<br/>\n
<h2 align="center" i18n:translate="" i18n:domain="ui">\n
Welcome to ERP5\n
<tal:block tal:define="info python: \'Translate ERP5 title\';\n
message python: \'Welcome to ERP5\';\n
image python: \'translate.png\'">\n
<tal:block metal:use-macro="context/form_developper_buttons/macros/translate_link"/>\n
</tal:block>\n
</h2>\n
<table border="1" align="center">\n
<tr tal:define="module_list python:here.ERP5Site_getModuleItemList();\n
module_len python:len(module_list);\n
col_size python:12;\n
col_len python:module_len%col_size and (module_len + col_size) / col_size or (module_len) / col_size">\n
<td>\n
<a href="http://www.erp5.org/"><img src="images/erp5_logo.png" alt="ERP5 Logo" /></a>\n
</td>\n
<tal:block tal:repeat="col_no python:range(col_len)">\n
<td valign="top" class="ModuleShortcut">\n
<tal:block tal:repeat="module python:module_list[col_size*col_no:min(col_size*(col_no+1),module_len)] ">\n
<p>\n
<a tal:content="python: module[0]"\n
tal:attributes="href python: module[1] + \'/view\'">\n
</a>\n
<tal:block tal:define="info python: \'Translate this module title\';\n
message python: module[0];\n
image python: \'translate.png\'">\n
<tal:block metal:use-macro="context/form_developper_buttons/macros/translate_link"/>\n
</tal:block>\n
</p>\n
</tal:block>\n
</td>\n
</tal:block>\n
</tr>\n
</table>\n
</span>\n
\n
<span tal:condition="python: here.portal_membership.isAnonymousUser()">\n
<p tal:define="dummy python:request.RESPONSE.redirect(\'%s/login_form\' % here.absolute_url())"/>\n
</span>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>index_html</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
Jean-Paul Smets <jp@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
metal:define-macro="master">\n
\n
<script language="JavaScript" src="erp5.js"\n
tal:attributes="src python:\'%s/erp5.js\' % here.portal_url()">\n
</script>\n
\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by list_dialog_master" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id" i18n:translate="" i18n:domain="ui">The title</title>\n
<link href="erp5.css" rel="stylesheet" type="text/css"\n
tal:attributes="href python: here.portal_url() + \'/\' + \'erp5.css\'" />\n
</head>\n
\n
<body>\n
<form action="Test" method="POST" id="main_form"\n
tal:attributes="action here/absolute_url;\n
method form/method | nothing;\n
enctype form/enctype | nothing"\n
tal:define="selection_name request/selection_name | string:">\n
<div metal:use-macro="here/global_definition/macros/global_definition" />\n
<input type="hidden" name="form_id" value="form"\n
tal:attributes="value request/form_id">\n
<input type="hidden" name="query_string" value="query"\n
tal:attributes="value request/QUERY_STRING">\n
<input type="hidden" name="dialog_id" value="form"\n
tal:attributes="value form/id">\n
<input type="hidden" name="selection_name" value="selection_name"\n
tal:attributes="value selection_name">\n
<!-- Menu Boxes -->\n
<table cellpadding="0" cellspacing="0" border="0" width="100%">\n
<tr>\n
<td>\n
<!-- Navigation Box Goes Here -->\n
<div class="NavigationBox">\n
<div metal:use-macro="here/navigation_box/macros/navigation_box"\n
>Navigation Box</div>\n
</div>\n
</td>\n
</tr>\n
<tr>\n
<td>\n
<!-- Menu Box Goes Here -->\n
\n
<div class="MenuBox">\n
<!--<div metal:use-macro="here/list_menu_box/macros/list_menu_box"\n
>MenuBox</div> -->\n
</div>\n
</td>\n
</tr>\n
</table>\n
<!-- Breadcrumb, owner and date-->\n
<div class="Breadcrumb">\n
<div metal:use-macro="here/breadcrumb/macros/small_breadcrumb"\n
>Breadcrumb</div>\n
</div>\n
<!-- Optional Portal Status Message -->\n
<div class="Main"\n
tal:condition="request/portal_status_message | nothing">\n
<table><tr><td class="error"\n
tal:content="request/portal_status_message">\n
</td></tr>\n
</table>\n
</div>\n
<!-- Main Zone -->\n
<table border="0" cellpadding="0" cellspacing="0" width="100%">\n
<tr>\n
<div class="OutMain">\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
</div>\n
<td>\n
<!-- Main Content -->\n
<div class="Main">\n
<div metal:define-slot="main">Main Content</div>\n
</div>\n
</td>\n
<div class="OutMain">\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
</div>\n
</tr>\n
<tr>\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
<td></td>\n
<td></td>\n
</tr>\n
<tr>\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
<td align="left"\n
tal:define="cancel_url request/cancel_url | request/HTTP_REFERER;\n
previous_form_id request/previous_form_id | nothing">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img"\n
tal:attributes="src string:$portal_url/images/spacer.png"/>\n
<input type="hidden" name="dialog_method" value="cancel_url"\n
tal:attributes="value python: form.action"/>\n
<input type="hidden" name="cancel_url" value="cancel_url"\n
tal:attributes="value cancel_url">\n
<input type="hidden" name="previous_form_id" value="previous_form_id"\n
tal:attributes="value previous_form_id">\n
<input type="Submit" value="Cancel" name="Base_cancel:method"\n
i18n:attributes="value" i18n:domain="ui"\n
/>&nbsp;\n
<input type="Submit" value="Search"\n
name="Base_callListDialogMethod:method"\n
i18n:attributes="value" i18n:domain="ui"\n
tal:attributes="value form/title"/>\n
</td>\n
<td></td>\n
</tr>\n
</table>\n
</form>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>list_dialog_master</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
Jean-Paul Smets <jp@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
metal:define-macro="master">\n
\n
<script language="JavaScript" src="erp5.js">\n
</script>\n
\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by list_master" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id" i18n:translate="" i18n:domain="ui">The title</title>\n
<link href="erp5.css" rel="stylesheet" type="text/css"\n
tal:attributes="href python: here.portal_url() + \'/\' + \'erp5.css\'" />\n
</head>\n
\n
<body>\n
<form action="Test" method="POST" id="main_form"\n
tal:attributes="action here/absolute_url;\n
method form/method | nothing;\n
enctype form/enctype | nothing">\n
<div metal:use-macro="here/global_definition/macros/global_definition" />\n
<input type="hidden" name="form_id" value="form"\n
tal:attributes="value form/id">\n
<input type="hidden" name="query_string" value="query"\n
tal:attributes="value request/QUERY_STRING">\n
<input type="hidden" name="is_list" value="1">\n
<!-- Menu Boxes -->\n
<table cellpadding="0" cellspacing="0" border="0" width="100%">\n
<tr>\n
<td>\n
<!-- Navigation Box Goes Here -->\n
<div class="NavigationBox">\n
<div metal:use-macro="here/navigation_box/macros/navigation_box"\n
>Navigation Box</div>\n
</div>\n
</td>\n
</tr>\n
<tr>\n
<td>\n
<!-- Menu Box Goes Here -->\n
<div class="MenuBox">\n
<div metal:use-macro="here/list_menu_box/macros/list_menu_box"\n
>MenuBox</div>\n
</div>\n
</td>\n
</tr>\n
</table>\n
<!-- Breadcrumb, owner and date-->\n
<div class="Breadcrumb">\n
<div metal:use-macro="here/breadcrumb/macros/full_breadcrumb"\n
>Breadcrumb</div>\n
</div>\n
<!-- Optional Portal Status Message -->\n
<div class="Main"\n
tal:condition="request/portal_status_message | nothing">\n
<table><tr><td class="error"\n
tal:content="request/portal_status_message">\n
</td></tr>\n
</table>\n
</div>\n
<!-- Main Zone -->\n
<table border="0" cellpadding="0" cellspacing="0" width="100%">\n
<tr>\n
<div class="OutMain">\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
</div>\n
<td>\n
<!-- Main Content -->\n
<div class="Main">\n
<div metal:define-slot="main">Main Content</div>\n
</div>\n
</td>\n
<div class="OutMain">\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
</div>\n
</tr>\n
</table>\n
</form>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>list_master</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
Jean-Paul Smets <jp@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
xmlns:metal="http://xml.zope.org/namespaces/metal">\n
\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by list_menu_box" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id" i18n:translate="" i18n:domain="ui">The title</title>\n
<link href="erp5.css" rel="stylesheet" type="text/css" />\n
</head>\n
\n
<body>\n
<div metal:define-macro="list_menu_box">\n
<div metal:use-macro="here/menu_box/macros/menu_box">\n
<div metal:fill-slot="buttons"\n
tal:define="form_id form/id;\n
list_method_id request/list_method_id | nothing;\n
selection_name form/listbox/selection_name | string:">\n
<input type="hidden" name="selection_name" value="selection_name"\n
tal:attributes="value selection_name">\n
<input type="hidden" name="list_method_id" value="list_method_id"\n
tal:attributes="value list_method_id" tal:condition="list_method_id">\n
<img src="/images/erp5_html_style/images/sepacla.png" alt="|"\n
tal:attributes="src string:$portal_url/images/sepacla.png"/>&nbsp;\n
<input type="image" src="/images/erp5_html_style/images/editcut.png" title="Cut"\n
width="22" height="22"\n
name="Folder_cut:method" alt="Cut"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/editcut.png"/>&nbsp;\n
<input type="image" src="/images/erp5_html_style/images/editcopy.png" title="Copy"\n
width="22" height="22"\n
name="Folder_copy:method" alt="Copy"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/editcopy.png"/>&nbsp;\n
<input type="image" src="/images/erp5_html_style/images/editpaste.png" title="Paste"\n
width="22" height="22"\n
name="Folder_paste:method" alt="Paste"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/editpaste.png"/>&nbsp;\n
<img src="/images/erp5_html_style/images/sepacla.png" alt="|"\n
tal:attributes="src string:$portal_url/images/sepacla.png"/>&nbsp;\n
<span tal:condition="print_actions">\n
<input type="image" src="/images/erp5_html_style/images/print.png" title="Print"\n
width="22" height="22"\n
name="Folder_print:method" alt="Print"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/print.png"/>&nbsp;\n
</span>\n
<input type="image" src="/images/erp5_html_style/images/filenew.png" title="New"\n
width="22" height="22"\n
name="Folder_create:method" alt="New"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/filenew.png"/>&nbsp;\n
<input type="image" src="/images/erp5_html_style/images/edittrash.png"\n
title="Delete" width="22" height="22"\n
name="Folder_deleteObjectList:method" alt="Delete"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/edittrash.png"/>&nbsp;\n
<img src="/images/erp5_html_style/images/sepacla.png" alt="|"\n
tal:attributes="src string:$portal_url/images/sepacla.png"/>&nbsp;\n
<span tal:condition="search_actions">\n
<a href="" tal:attributes="\n
href python:search_actions[0][\'url\']\n
+ \'?selection_name=%s&dialog_category=%s&form_id=%s\'\n
% (selection_name , \'object_search\', form_id) ">\n
<img src="/images/erp5_html_style/images/find.png" width="22" height="22" border="0"\n
title="Find" alt="Find"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/find.png"/>\n
</a>&nbsp;\n
</span>\n
<input type="image" src="/images/erp5_html_style/images/toutsel.png" title="Show All"\n
width="22" height="22"\n
i18n:attributes="title" i18n:domain="ui"\n
name="Folder_show:method" alt="Show All"\n
tal:attributes="src string:$portal_url/images/toutsel.png"/>&nbsp;\n
<input type="image" src="/images/erp5_html_style/images/filter.png" title="Filter"\n
width="22" height="22"\n
name="Folder_filter:method" alt="Filter"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src python:(here.portal_selections.getSelectionFor(selection_name) is not None and here.portal_selections.getSelectionFor(selection_name).isInvertMode()) and \'%s/images/filter_on.png\'%portal_url or \'%s/images/filter.png\'%portal_url;"/>&nbsp;\n
<span tal:condition="sort_actions">\n
<a href="" tal:attributes="\n
href python:sort_actions[0][\'url\']\n
+ \'?selection_name=%s&form_id=%s\' %\n
(selection_name, form_id)">\n
<img src="/images/erp5_html_style/images/trier.png" width="22" height="22" border="0"\n
title="Sort" alt="Sort"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/trier.png"/>\n
</a>&nbsp;\n
</span>\n
<img src="/images/erp5_html_style/images/sepacla.png" border="0" alt="|"\n
tal:attributes="src string:$portal_url/images/sepacla.png"/>&nbsp;\n
<span tal:condition="exchange_actions">\n
<a href="" tal:attributes="\n
href python:exchange_actions[0][\'url\']\n
+ \'?selection_name=%s&dialog_category=%s&form_id=%s\'\n
% (selection_name , \'object_exchange\', form_id) ">\n
<img src="/images/erp5_html_style/images/imp-exp.png" width="22" height="22" border="0"\n
title="Import / Export" alt="Import / Export"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/imp-exp.png"/> &nbsp;\n
</a>\n
</span>\n
<span tal:condition="report_actions">\n
<a href="" tal:attributes="\n
href python:report_actions[0][\'url\']\n
+ \'?selection_name=%s&dialog_category=%s&form_id=%s\'\n
% (selection_name , \'object_report\', form_id) ">\n
<img src="/images/erp5_html_style/images/etat3.png" width="22" height="22" border="0"\n
title="Report" alt="Report"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/etat3.png"/> &nbsp;\n
</a>\n
</span>\n
<span tal:condition="exchange_actions | report_actions">\n
<img src="/images/erp5_html_style/images/sepacla.png" border="0" alt="|"\n
tal:attributes="src string:$portal_url/images/sepacla.png"/>&nbsp;\n
</span>\n
<span tal:condition="ui_actions">\n
<a href="" tal:attributes="\n
href python:ui_actions[0][\'url\']\n
+ \'?selection_name=%s&form_id=%s\' %\n
(selection_name, form_id)">\n
<img src="/images/erp5_html_style/images/configure.png" width="22" height="22" border="0"\n
title="Configure" alt="Configure"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/configure.png"/>\n
</a>\n
</span>\n
</div>\n
</div>\n
</div>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>list_menu_box</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:condition="here/portal_skins/updateSkinCookie | nothing"\n
tal:define="dummy here/setupCurrentSkin" />\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode request/editable_mode | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:main_template;\n
layout_id layout_form/pt | default_layout;">\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<div tal:define="p_props here/portal_properties;\n
p_url here/portal_url;\n
mtool here/portal_membership;\n
isAnon mtool/isAnonymousUser|nothing;\n
member mtool/getAuthenticatedMember;\n
now here/ZopeTime;\n
never string:2000/01/01;">\n
<div tal:condition="isAnon">\n
<span tal:define="dummy python:request[\'RESPONSE\'].expireCookie(\'__ac\'\n
, path=\'/\')"/>\n
<h1 class="DesktopTitle" i18n:translate="">Login failure</h1>\n
\n
<p class="Desktop" i18n:translate="">You are not currently logged in. Your\n
username and or password may be incorrect. Your browser may also not be\n
configured to accept HTTP cookies. If you need help please contact\n
<a href="mailto:admin@here.com" title="Email Admin"\n
tal:attributes="href string:mailto:${p_props/email_from_address}"\n
tal:content="p_props/email_from_address"\n
i18n:name="admin_email">Email Admin</a>.\n
</p>\n
</div><!-- isAnon -->\n
\n
<div tal:condition="not: isAnon"\n
tal:define="first_time python:(\n
member.getProperty( \'login_time\', None ) == never\n
and p_props.validate_email )">\n
\n
<div tal:condition="first_time">\n
<div tal:define="dum_reg python:member.setProperties(\n
last_login_time=now,\n
login_time=now)" />\n
\n
<h1 class="DesktopTitle" i18n:translate="">Welcome!</h1>\n
\n
<p class="Desktop" i18n:translate="">\n
This is the first time that you\'ve logged in to\n
<span tal:replace="p_props/title" i18n:name="portal_title">Here</span>.\n
Before you start exploring you need to change your original password.\n
This will ensure that the password we sent you via email cannot be\n
used in a malicious manner.</p>\n
\n
<p class="Desktop" i18n:translate="">\n
Please use the form below to change your password.</p>\n
\n
<form action="change_password" method="post"\n
tal:attributes="action string:${p_url}/change_password"\n
>\n
<input type="hidden" name="user" value=""\n
tal:attributes="value member" />\n
<input type="hidden" name="domains:tokens" value="" />\n
<input type="hidden" name="redirect" value=""\n
tal:attributes="value string:${p_url}/" />\n
\n
<table>\n
\n
<tr valign="top" align="left">\n
<th i18n:translate="">Username</th>\n
<td><span tal:replace="member">You</span></td>\n
</tr>\n
\n
<tr valign="top" align="left">\n
<th i18n:translate="">New password</th>\n
<td><input type="password" name="password" /></td>\n
</tr>\n
\n
<tr valign="top" align="left">\n
<th i18n:translate="">Confirm new password</th>\n
<td><input type="password" name="confirm" /></td>\n
</tr>\n
\n
<tr>\n
<td><br /></td>\n
<td>\n
<input type="submit" value="Change password"\n
i18n:attributes="value" />\n
</td>\n
</tr>\n
\n
</table>\n
\n
</form>\n
\n
</div><!-- first_time -->\n
\n
<div tal:condition="not: first_time">\n
\n
<div tal:define="d_reg python:member.setProperties(\n
last_login_time=member.login_time);\n
ereg python:member.setProperties(\n
login_time=here.ZopeTime());\n
" />\n
\n
<div tal:define="came_from python:request.get(\'came_from\') or here.portal_url() + \'/view\';\n
response request/RESPONSE;\n
dredirect python: response.redirect(came_from);\n
" />\n
\n
<h1 class="DesktopTitle" i18n:translate="">Login success</h1>\n
\n
<p class="Desktop" i18n:translate="">Welcome. You are currently logged\n
in.</p>\n
\n
</div><!-- not first_time -->\n
\n
</div><!-- not isAnon -->\n
\n
</div><!-- define p_props -->\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>logged_in</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>action</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode request/editable_mode | nothing;\n
layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:main_template;\n
layout_id layout_form/pt | default_layout;"\n
i18n:domain="ui">\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<div class="Desktop">\n
<span tal:condition="python: request.get(\'came_from\', None) is not None">\n
<h1 class="Desktop" i18n:translate="">You don\'t have enough permissions to access this page</h1>\n
<span i18n:translate="">You can log in with another user name or</span>\n
<a href="javascript:history.back();" i18n:translate="">go back.</a>\n
<br/> <br/>\n
</span>\n
<span tal:condition="python: request.get(\'came_from\', None) is None">\n
<h1 class="Desktop" i18n:translate="">Log in</h1>\n
</span>\n
<!-- <form action="" method="post"\n
tal:attributes="action string:${here/portal_url}/logged_in">-->\n
<!-- ****** Enable the automatic redirect ***** -->\n
<span tal:condition="exists: request/came_from">\n
<input type="hidden" name="came_from" value=""\n
tal:attributes="value request/came_from" />\n
</span>\n
<!-- ****** Enable the automatic redirect ***** -->\n
<table class="FormLayout">\n
<tr>\n
<td align="left" valign="top">\n
<strong i18n:translate="">Name</strong>\n
</td>\n
<td align="left" valign="top">\n
<input type="text" name="__ac_name" size="20" value=""\n
tal:attributes="value python: request.get(\'__ac_name\') or \'\'" />\n
<script>setFocus("__ac_name");</script>\n
</td>\n
</tr>\n
<tr>\n
<td align="left" valign="top">\n
<strong i18n:translate="">Password</strong>\n
</td>\n
<td align="left" valign="top">\n
<input type="password" name="__ac_password" size="20" />\n
</td>\n
</tr>\n
<tr valign="top" align="left">\n
<td></td>\n
<td>\n
<input type="checkbox" name="__ac_persistent" value="1" checked\n
id="cb_remember" />\n
<label for="cb_remember" i18n:translate="">Remember my name.</label>\n
</td>\n
</tr>\n
<tr>\n
<td align="left" valign="top"></td>\n
<td align="left" valign="top">\n
<input type="submit" name="submit" value=" Login "\n
i18n:attributes="value" />\n
</td>\n
</tr>\n
</table>\n
<!-- </form> -->\n
<p><a tal:attributes="href string:${here/portal_url}/mail_password_form"\n
i18n:translate="">I forgot my password!</a></p>\n
<p i18n:translate="">Having trouble logging in? Make sure to enable cookies in your web browser.</p>\n
<p i18n:translate="">Don\'t forget to logout or exit your browser when you\'re done.</p>\n
<p i18n:translate="">Setting the \'Remember my name\' option will set a cookie with your username, so that when you next log in, your user name will already be filled in for you.</p>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>logged_in</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>login_form</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
Jean-Paul Smets <jp@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
metal:define-macro="master">\n
\n
<script language="JavaScript" src="erp5.js"\n
tal:attributes="src python:\'%s/erp5.js\' % here.portal_url()">\n
</script>\n
\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\',\'text/html;; charset=UTF-8\')">\n
<meta name="description" content="Generated by main_template" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="here/portal_properties/title_or_id" i18n:translate="" i18n:domain="ui">The title</title>\n
<link href="erp5.css" rel="stylesheet" type="text/css"\n
tal:attributes="href python: here.portal_url() + \'/\' + \'erp5.css\'" />\n
</head>\n
\n
<body LEFTMARGIN=0 TOPMARGIN=0 MARGINHEIGHT="0" MARGINWIDTH="0">\n
<form action="Test" method="POST" id="main_form"\n
tal:attributes="action request/came_from | here/absolute_url"\n
tal:define="global has_local python: \'local_pt\' in here.objectIds();\n
global util_macros here/index_html_utils/macros;">\n
<div metal:use-macro="here/global_definition/macros/global_definition" />\n
<input type="hidden" name="object_uid" value="uid"\n
tal:attributes="value here/getUid">\n
<!-- Menu Boxes -->\n
<table cellpadding="0" cellspacing="0" width="100%">\n
<tr>\n
<td nowrap>\n
<!-- Navigation Box Goes Here -->\n
<div class="NavigationBox">\n
<div metal:use-macro="here/navigation_box/macros/navigation_box"\n
>Navigation Box</div>\n
</div>\n
</td>\n
</tr>\n
<tr>\n
<td>\n
<!-- Empty Menu For Design Consistency -->\n
<div class="MenuBox">\n
</div>\n
</td>\n
</tr>\n
<span tal:replace="nothing"><!-- No Use For Now - Add Management Actions to Main Page -->\n
<tr tal:condition="python: not here.portal_membership.isAnonymousUser() and len(here.breadcrumbs()) > 1">\n
<td valign="middle" >\n
<!-- Menu Box Goes Here -->\n
<div class="MenuBox">\n
<span\n
metal:use-macro="here/view_menu_box/macros/menu_box">\n
Menu Box\n
</span>\n
</div>\n
</td>\n
</tr>\n
</span>\n
</table>\n
<!-- Breadcrumb, owner and date-->\n
<div class="Breadcrumb">\n
<span metal:use-macro="here/breadcrumb/macros/full_breadcrumb">\n
Breadcrumb\n
</span>\n
</div>\n
<!-- Optional Portal Status Message -->\n
<div class="Main"\n
tal:condition="request/portal_status_message | nothing">\n
<table><tr><td class="error"\n
tal:content="request/portal_status_message">\n
</td></tr>\n
</table>\n
</div>\n
<!-- Main Zone -->\n
<table border="0" cellpadding="0" cellspacing="0" width="100%">\n
<tr>\n
<div class="OutMain">\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
</div>\n
<td>\n
<!-- Main Content -->\n
<div class="Main">\n
<div metal:define-slot="main">Main Content</div>\n
</div>\n
</td>\n
<div class="OutMain">\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
</div>\n
</tr>\n
</table>\n
<!--<span tal:replace="structure request" />-->\n
</form>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>main_template</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_dav_writelocks</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<tal:block tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
Jean-Paul Smets <jp@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
metal:define-macro="master">\n
\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by menu_box" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\n
<title tal:content="template/title_or_id" i18n:translate="" i18n:domain="ui">The title</title>\n
</head>\n
\n
<body>\n
<div metal:define-macro="menu_box" tal:define="absolute_url here/absolute_url">\n
<table border="0" cellpadding="0" cellspacing="0" width="100%">\n
<tr>\n
<td valign="middle" align="left" nowrap>&nbsp;\n
<select name="jump_select" size="1" tal:attributes="onChange string:submitAction(this.form,\'${absolute_url}/Base_doJump\')">\n
<option selected="selected" value="1" disabled i18n:translate="" i18n:domain="ui">Jump...</option>\n
<tal:block tal:repeat="action jump_actions">\n
<option tal:content="action/name"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value action/url"></option>\n
</tal:block>\n
<tal:block tal:condition="python: here.getPortalType() in here.portal_types.objectIds() and here.portal_types[here.getPortalType()].Base_getSourceVisibility()">\n
<option tal:attributes="value python: \'%s/manage_workspace\' % (here.portal_types[here.getPortalType()].absolute_url(),)"\n
tal:content="python: \'Edit Portal Type \\\'%s\\\'\' % (context.getPortalType(),)"\n
i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n
<tal:block tal:condition="context/portal_workflow/Base_getSourceVisibility">\n
<option value="1" disabled="disabled" i18n:translate="" i18n:domain="ui">-- Workflows --</option>\n
<tal:block tal:repeat="workflow python: context.portal_workflow.getWorkflowsFor(context)">\n
<option tal:attributes="value python: \'%s/manage_properties\' % (workflow.absolute_url(), )" tal:content="workflow/title"></option>\n
</tal:block>\n
</tal:block>\n
</select></td>\n
<td valign="bottom" align="center" nowrap>\n
<input type="image" src="/images/erp5_html_style/images/jump.png" title="Jump"\n
alt="Jump" name="Base_doJump:method"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/jump.png"/> &nbsp;\n
<img src="/images/erp5_html_style/images/sepacla.png" alt="|"\n
tal:attributes="src string:$portal_url/images/sepacla.png"/>&nbsp;&nbsp;\n
</td>\n
<td valign="middle" align="right" nowrap>\n
<select name="action_select" size="1" tal:attributes="onChange string:submitAction(this.form,\'${absolute_url}/Base_doAction\')">\n
<option selected value="" i18n:translate="" i18n:domain="ui">Action...</option>\n
<tal:block tal:repeat="content here/allowedContentTypes | nothing">\n
<tal:block tal:condition="python: not content.id in here.portal_types.getTypeInfo(here).getHiddenContentTypeList()">\n
<option value="" tal:attributes="value python: \'add \' + content.id"\n
i18n:translate="" i18n:domain="ui">Add <tal:block tal:content="content/Title" i18n:name="portal_type" i18n:translate="" i18n:domain="ui">portal type</tal:block></option>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:condition="document_template_list">\n
<option disabled>-- <tal:block i18n:translate="" i18n:domain="ui">Templates</tal:block> --</option>\n
<tal:block tal:repeat="document_template document_template_list">\n
<option value="1"\n
tal:attributes="value python:\'template \' + document_template.getRelativeUrl()">\n
<tal:block i18n:translate="" i18n:domain="ui">Add <tal:block tal:content="document_template/getTitle" i18n:name="document_template">Document Template</tal:block></tal:block></option>\n
</tal:block>\n
</tal:block>\n
<option disabled>-- <tal:block i18n:translate="" i18n:domain="ui">Workflows</tal:block> --</option>\n
<tal:block tal:repeat="action workflow_actions">\n
<option value="1" tal:content="action/name"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value python: \'workflow \' + action[\'url\']">Saut</option>\n
</tal:block>\n
<option disabled>-- <tal:block i18n:translate="" i18n:domain="ui">Object</tal:block> --</option>\n
<tal:block tal:repeat="action object_actions">\n
<option value="1" tal:content="action/name"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="value python: \'object \' + action[\'url\']">Saut</option>\n
</tal:block>\n
<tal:block tal:replace=\'nothing\'>\n
<!-- XXX folder actions is inherited from CMF, but not used in ERP5 (for now) -->\n
<option disabled>-- <tal:block i18n:translate="" i18n:domain="ui">folder</tal:block> --</option>\n
<tal:block tal:repeat="action folder_actions">\n
<option value="1" tal:content="action/name"\n
tal:attributes="value python: \'folder \' + action[\'url\']">Saut</option>\n
</tal:block>\n
</tal:block>\n
</select></td>\n
<td valign="bottom" align="left" nowrap> &nbsp;\n
<input type="image" src="/images/erp5_html_style/images/exec16.png" title="Action"\n
alt="Action" name="Base_doAction:method"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/exec16.png"/> &nbsp;\n
</td>\n
<td width="100%"><tal:block metal:define-slot="buttons"/></td>\n
<!-- URL target is invalid for now. -->\n
<!--td align="right" valign="center"\n
tal:define="form_id form/id|nothing">\n
<a title="Help" tal:attributes="href python: here.Base_getHelpUrl(form_id=form_id)"><img src="images/userhelp.png" alt="Help"></a>\n
</td-->\n
<td align="right" valign="center"\n
tal:condition="here/portal_preferences/getPreferredHtmlStyleDevelopperMode">\n
<a title="Inspect object" tal:attributes="href python: \'%s/Base_viewInspectionReport\' % (here.absolute_url(),)"><img src="images/inspect.png" alt="Inspect object"></a>\n
</td>\n
<td aligh="right" valign="center"\n
tal:condition="here/hasActivity | nothing">\n
<a title="Portal Activities"\n
tal:attributes="href python: context.portal_membership.checkPermission(\'View management screens\', context.portal_activities) and \'%s/manageActivities\' % (here.portal_activities.absolute_url(), ) or \'#\'">\n
<img alt="Activity Pending" src="/images/erp5_html_style/images/activity_busy.png"\n
border="0" title="Activity Pending"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/activity_busy.png"/>\n
</a>\n
</td>\n
</tr>\n
</table>\n
</div>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>menu_box</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_dav_writelocks</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<tal:block tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
meta:define-macro="master">\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by navigation_box" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id" i18n:translate="" i18n:domain="ui">The title</title>\n
</head>\n
\n
<body>\n
<table width="100%" metal:define-macro="navigation_box">\n
<tr>\n
<td valign="middle" align="center" nowrap>\n
<!-- Hidden button as explained in http://ppewww.ph.gla.ac.uk/~flavell/www/formquestion.html -->\n
<!-- We should probably call the default method instead -->\n
<input class="input_image" type="image" src="/images/erp5_html_style/images/spacer.png" width="3" height="3" border="0"\n
alt="dummy" name="Base_doSelect:method"\n
tal:define="form_action form_action | form/action | form/id | template/action | template/id | script/id"\n
tal:attributes="name python:form_action + \':method\';\n
src string:$portal_url/images/spacer.png">\n
<select name="favorite_select" size="1"\n
tal:attributes="onChange string:submitAction(this.form,\'${here/absolute_url}/Base_doFavorite\')">\n
<option selected value="" i18n:translate="" i18n:domain="ui" disabled>My favourites</option>\n
<tal:block tal:condition="ordered_global_actions">\n
<tal:block tal:repeat="action ordered_global_actions">\n
<option disabled tal:condition="action/disabled">\n
-- <tal:block i18n:translate="" i18n:domain="ui" tal:content="action/title" /> --\n
</option>\n
<tal:block tal:condition="not:action/disabled"\n
tal:define="name python: action.get(\'name\', \'\');\n
index python: name.find(\' (\');\n
">\n
<tal:block tal:condition="python: index >= 0">\n
<option value="1" tal:attributes="value action/url">\n
<tal:block tal:content="python: name[:index]"\n
i18n:translate="" i18n:domain="ui">\n
Drafts to confirmed\n
</tal:block>\n
<tal:block tal:replace="python: name[index:]">\n
(12)\n
</tal:block>\n
</option>\n
</tal:block>\n
<tal:block tal:condition="python: index < 0">\n
<option value="1"\n
i18n:translate="" i18n:domain="ui"\n
tal:content="action/name"\n
tal:attributes="value action/url">\n
name\n
</option>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:condition="user_actions">\n
<option disabled> -- <tal:block i18n:translate="" i18n:domain="ui">User</tal:block> -- </option>\n
<tal:block tal:repeat="action user_actions">\n
<option value="1"\n
i18n:translate="" i18n:domain="ui"\n
tal:content="action/name"\n
tal:attributes="value action/url">Saut</option>\n
</tal:block>\n
</tal:block>\n
</select>\n
</td>\n
<td valign="middle" align="left" nowrap>\n
<input class="input_image" type="image" src="/images/erp5_html_style/images/favourite.png" title="Select Favorite"\n
i18n:attributes="title" i18n:domain="ui"\n
alt="Select Favorite" name="Base_doFavorite:method"\n
tal:attributes="src string:$portal_url/images/favourite.png"/>&nbsp;\n
<img src="/images/erp5_html_style/images/sepafon.png" alt="|" tal:attributes="src string:$portal_url/images/sepafon.png"/>&nbsp;&nbsp;\n
</td>\n
<td align="center" valign="middle" nowrap>\n
<select name="module_select" size="1"\n
tal:attributes="onChange string:submitAction(this.form,\'${here/absolute_url}/Base_doModule\')"\n
tal:define="module_list here/ERP5Site_getModuleItemList">\n
<option selected value="" i18n:translate="" i18n:domain="ui" disabled>ERP5 Modules</option>\n
<tal:block tal:repeat="module module_list">\n
<option value="something"\n
tal:attributes="value python: module[1]"\n
tal:content="python: module[0]" />\n
</tal:block>\n
</select>\n
</td>\n
<td align="left" valign="middle" nowrap>\n
<input class="input_image" type="image" src="/images/erp5_html_style/images/appearance.png" title="Select Module"\n
i18n:attributes="title" i18n:domain="ui"\n
alt="Select Module" name="Base_doModule:method" tal:attributes="src string:$portal_url/images/appearance.png"/>&nbsp;\n
<!--img src="/images/erp5_html_style/images/sepafon.png" alt="img" />&nbsp;\n
<a href="undo_form">\n
<img border="0" src="/images/erp5_html_style/images/kmago.png" alt="img"/>&nbsp;&nbsp;\n
</a>\n
<img src="/images/erp5_html_style/images/reload.png" alt="img"/-->\n
</td>\n
<td valign="middle" align="center" nowrap width="100%">\n
<div align="center">\n
<!--img src="/images/erp5_html_style/images/mail.png" alt="Email" title="Email"\n
i18n:attributes="title"/>\n
<a href="http://www.coramy.fr">\n
<img src="/images/erp5_html_style/images/intranet.png" alt="Intranet" title="Intranet"\n
i18n:attributes="title"/></a>\n
<a href="http://192.168.253.14:9673/coramy/help/index"\n
tal:attributes="href here/portal_properties/online_help_url">\n
<img src="/images/erp5_html_style/images/help.png" alt="Online Help" title="Online Help"\n
i18n:attributes="title"/></a-->\n
</div>\n
</td>\n
<td align="right" valign="middle">\n
<!-- XXX This part depends on Localizer because of get_languages_map -->\n
<select name="language_select" size="1"\n
tal:attributes="onChange string:submitAction(this.form,\'${here/absolute_url}/Base_doLanguage\')"\n
tal:define="language_map python: here.Localizer.get_languages_map()">\n
<option selected value="" i18n:translate="" i18n:domain="ui" disabled>My language</option>\n
<tal:block tal:repeat="language language_map">\n
<tal:block tal:condition="language/selected">\n
<option value="en"\n
selected\n
tal:attributes="value language/id"\n
tal:content="python: here.Localizer.erp5_ui.gettext(language[\'title\'], lang=language[\'id\'])">\n
English\n
</option>\n
</tal:block>\n
<tal:block tal:condition="not:language/selected">\n
<option value="en"\n
tal:attributes="value language/id"\n
tal:content="python: here.Localizer.erp5_ui.gettext(language[\'title\'], lang=language[\'id\'])">\n
English\n
</option>\n
</tal:block>\n
</tal:block>\n
</select>\n
</td>\n
<td align="right" valign="middle" nowrap>\n
<input class="input_image" type="image"\n
src="/images/erp5_html_style/images/info.png"\n
title="Change Language" alt="Change Language" name="Base_doLanguage:method"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/language.png" />&nbsp;\n
<img src="/images/erp5_html_style/images/sepafon.png" alt="|" tal:attributes="src string:$portal_url/images/sepafon.png"/>&nbsp;&nbsp;\n
</td>\n
<td align="right" valign="middle">\n
<input type="text" name="SearchableText">\n
</td>\n
<td align="right" valign="middle">\n
<input class="input_image" type="image"\n
src="/images/erp5_html_style/images/info.png"\n
title="Search" alt="Search" name="Base_viewSearchResultList:method"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/info.png" />\n
</td>\n
</tr>\n
</table>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>navigation_box</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thomas Bernard <thomas@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
\n
<!--\n
This Page template is aimed to generate the HTML code necessary to display correctly the\n
PlaningBox. The process is based on the strucutre passed in parameter (i.e options/struct)\n
Beware this only generates the HTML code, no CSS generation is done in this script\n
-->\n
\n
\n
<tal:block tal:condition="python:struct.build_error_list != None"\n
tal:define="struct options/struct;\n
basic python:struct.basic;\n
adress python:basic.here.getUrl()">\n
\n
<input type="hidden" name="list_selection_name" value="PLanningView" tal:attributes="value python:basic.field.get_value(\'selection_name\')"/>\n
\n
<table>\n
<tr><td><h3><span tal:replace="structure python:struct.basic.field.get_value(\'title\')"/>\n
</h3></td>\n
<td>\n
<select name="report_root_url" onChange="submitAction(this.form,\'/portal_selections/setReportRoot\')"\n
tal:attributes="onChange string:submitAction(this.form,\'${adress}/portal_selections/setReportRoot\')">\n
<tal:block tal:condition="python:basic.selection is None"\n
tal:define="global selection_report_path python:basic.report_root_list[0][0]"/>\n
<tal:block tal:condition="python:basic.selection is not None"\n
tal:define="global selection_report_path python:basic.selection.report_path"/>\n
<tal:block tal:repeat="report_root_element python:basic.report_root_list">\n
<tal:block tal:condition="python:report_root_element[0]==selection_report_path">\n
<b tal:replace="nothing">actual value is selected</b>\n
<option selected value="None"\n
tal:attributes="value python:report_root_element[0]"\n
tal:content="structure python:report_root_element[1]">_</option>\n
</tal:block>\n
<tal:block tal:condition="python:report_root_element[0]!=selection_report_path">\n
<b tal:replace="nothing">actual value is not selected</b>\n
<option value="None"\n
tal:attributes="value python:report_root_element[0]"\n
tal:content="structure python:report_root_element[1]">_</option>\n
</tal:block>\n
</tal:block>\n
</select>\n
</td>\n
</tr>\n
</table>\n
\n
<tal:block tal:repeat="error_message python:struct.build_error_list"\n
tal:content="python:str(error_message)">\n
</tal:block>\n
\n
</tal:block>\n
\n
\n
<tal:block tal:condition="python:struct.build_error_list == None"\n
tal:define="struct options/struct">\n
<tal:block tal:define="basic python:struct.basic;\n
planning python:struct.planning;\n
adress python:basic.here.getUrl()">\n
\n
<!-- hidden fields holding some usefull data-->\n
<input type="hidden" name="list_selection_name" value="PLanningView" tal:attributes="value python:basic.field.get_value(\'selection_name\')"/>\n
<!-- setPage needs \'listbox_uid:list\'-->\n
<input type="hidden" name="listbox_uid:list"/>\n
<!-- block_moved_list -->\n
<input type="hidden" name="previous_block_moved" value="None"\n
tal:attributes="value python:basic.REQUEST.get(\'previous_block_moved\',\'\')"/>\n
<input type="hidden" name="block_moved"/>\n
\n
<!-- Planning\'s header -->\n
<div id="header">\n
\n
<table>\n
<tr>\n
<td>\n
<h3><span tal:replace="structure python:basic.field.get_value(\'title\')"/></h3>\n
</td>\n
<b tal:replace="nothing"><!-- report path selection --></b>\n
<td>\n
<select name="report_root_url" onChange="submitAction(this.form,\'/portal_selections/setReportRoot\')"\n
tal:attributes="onChange string:submitAction(this.form,\'${adress}/portal_selections/setReportRoot\')">\n
<tal:block tal:condition="python:basic.selection is None"\n
tal:define="global selection_report_path python:basic.report_root_list[0][0]"/>\n
<tal:block tal:condition="python:basic.selection is not None"\n
tal:define="global selection_report_path python:basic.selection.report_path"/>\n
<tal:block tal:repeat="report_root_element python:basic.report_root_list">\n
<tal:block tal:condition="python:report_root_element[0]==selection_report_path">\n
<b tal:replace="nothing">actual value is selected</b>\n
<option selected value="None"\n
tal:attributes="value python:report_root_element[0]"\n
tal:content="structure python:report_root_element[1]">_</option>\n
</tal:block>\n
<tal:block tal:condition="python:report_root_element[0]!=selection_report_path">\n
<b tal:replace="nothing">actual value is not selected</b>\n
<option value="None"\n
tal:attributes="value python:report_root_element[0]"\n
tal:content="structure python:report_root_element[1]">_</option>\n
</tal:block>\n
</tal:block>\n
</select>\n
</td>\n
\n
<td>\n
<tal:block tal:repeat="nb python:range(8)">\n
&nbsp;\n
</tal:block>\n
<tal:block tal:condition="python:planning.main_axis == planning.Y">\n
Y Axis\n
</tal:block>\n
<tal:block tal:condition="python:planning.main_axis != planning.Y">\n
X Axis\n
</tal:block>\n
<tal:block tal:repeat="nb python:range(1)">\n
&nbsp;\n
</tal:block>\n
</td>\n
\n
<td>\n
<b tal:replace="nothing">\n
<!-- page selection need to be implemented here\n
for that will use structure.basic-->\n
</b>\n
<tal:block tal:condition="python:basic.main_axis_info[\'bound_start\']!=0">\n
<b tal:replace="nothing"> previous page exists </b>\n
<input type="image" src="/images/1leftarrowv.png" title="Previous Page" name="" border="0"\n
tal:attributes="src string:${adress}/images/1leftarrowv.png;\n
name string:${adress}/portal_selections/previousPage:method"/>\n
</tal:block>\n
\n
<select name="list_start" title="Change Page" size="1"\n
onChange=""\n
tal:condition="python:basic.main_axis_info[\'bound_page_total\'] > 1"\n
tal:attributes="onChange string:submitAction(this.form,\'${adress}/portal_selections/setPage\')">\n
<tal:block tal:repeat="current_page_number python:range(basic.main_axis_info[\'bound_page_total\']+1)[1:]">\n
<tal:block tal:condition="python:current_page_number==basic.main_axis_info[\'bound_page_current\']">\n
<b tal:replace="nothing"> actual page is selected </b>\n
<option selected value="None"\n
tal:attributes="value python:(current_page_number - 1)*basic.main_axis_info[\'bound_axis_groups\']"\n
tal:content="structure python:str(current_page_number) + \' of \' + str(basic.main_axis_info[\'bound_page_total\'])">page</option>\n
</tal:block>\n
<tal:block tal:condition="python:current_page_number!=basic.main_axis_info[\'bound_page_current\']">\n
<b tal:replace="nothing"> actual page is not selected </b>\n
<option value="None"\n
tal:attributes="value python:(current_page_number - 1)*basic.main_axis_info[\'bound_axis_groups\']"\n
tal:content="structure python:str(current_page_number) + \' of \' + str(basic.main_axis_info[\'bound_page_total\'])">page</option>\n
</tal:block>\n
</tal:block>\n
</select>\n
\n
<tal:block tal:condition="python:basic.main_axis_info[\'bound_stop\']!=basic.main_axis_info[\'bound_end\']">\n
<b tal:replace="nothing"> next page exists </b>\n
<input type="image" src="/images/1rightarrowv.png" title="Next Page" name="" border="0"\n
tal:attributes="src string:${adress}/images/1rightarrowv.png;\n
name string:${adress}/portal_selections/nextPage:method"/>\n
</tal:block>\n
\n
</td>\n
\n
\n
\n
<td>\n
<tal:block tal:repeat="nb python:range(8)">\n
&nbsp;\n
</tal:block>\n
<tal:block tal:condition="python:planning.main_axis == planning.Y">\n
X Axis\n
</tal:block>\n
<tal:block tal:condition="python:planning.main_axis != planning.Y">\n
Y Axis\n
</tal:block>\n
<tal:block tal:repeat="nb python:range(1)">\n
&nbsp;\n
</tal:block>\n
</td>\n
<td>\n
\n
<!-- processing zoom level select -->\n
<select name="zoom_level" title="Change Zoom Level" size="1"\n
onChange=""\n
tal:attributes="onChange string:submitAction(this.form,\'${adress}/portal_selections/setZoomLevel\')">\n
<tal:block tal:repeat="current_zoom_level python:[0.25,0.5,1,2,3,4,8]">\n
<tal:block tal:condition="python:current_zoom_level==basic.secondary_axis_info[\'zoom_level\']">\n
<b tal:replace="nothing"> current zoom level is selected </b>\n
<option selected value="None"\n
tal:attributes="value python:current_zoom_level"\n
tal:content="structure python:\'Zoom \' + str(current_zoom_level) + \'x\'">Zoom level</option>\n
</tal:block>\n
<tal:block tal:condition="python:current_zoom_level!=basic.secondary_axis_info[\'zoom_level\']">\n
<b tal:replace="nothing"> current zoom level is not selected </b>\n
<option value="None"\n
tal:attributes="value python:current_zoom_level"\n
tal:content="structure python:\'Zoom \' + str(current_zoom_level) + \'x\'">Zoom level</option>\n
</tal:block>\n
</tal:block>\n
</select>\n
\n
\n
<!-- previous Zoom page-->\n
<tal:block tal:condition="python:basic.secondary_axis_info[\'zoom_start\']!=0">\n
<b tal:replace="nothing"> previous page exists </b>\n
<input type="image" src="/images/1leftarrowv.png" title="Previous Zoom Page" name="" border="0"\n
tal:attributes="src string:${adress}/images/1leftarrowv.png;\n
name string:${adress}/portal_selections/previousZoom:method"/>\n
</tal:block>\n
\n
<!-- pocessing zoom page selection widgets -->\n
<select name="zoom_start" title="Change Zoom Page" size="1"\n
onChange=""\n
tal:condition="python:basic.secondary_axis_info[\'zoom_level\'] > 1"\n
tal:attributes="onChange string:submitAction(this.form,\'${adress}/portal_selections/setZoom\')">\n
<tal:block tal:repeat="current_zoom_page_number python:range(basic.secondary_axis_info[\'zoom_level\'])">\n
<tal:block tal:condition="python:current_zoom_page_number == basic.secondary_axis_info[\'zoom_start\']">\n
<b tal:replace="nothing"> actual zoom page is selected </b>\n
<option selected value="None"\n
tal:attributes="value python:current_zoom_page_number"\n
tal:content="structure python:str(current_zoom_page_number + 1) + \'of \' + str(max(int(float(basic.secondary_axis_info[\'zoom_level\'])),1))">Zoom page</option>\n
</tal:block>\n
<tal:block tal:condition="python:current_zoom_page_number != basic.secondary_axis_info[\'zoom_start\']">\n
<b tal:replace="nothing"> actual zoom page is not selected </b>\n
<option value="None"\n
tal:attributes="value python:current_zoom_page_number"\n
tal:content="structure python:str(current_zoom_page_number + 1) + \'of \' + str(max(int(float(basic.secondary_axis_info[\'zoom_level\'])),1))">Zoom page</option>\n
</tal:block>\n
</tal:block>\n
</select>\n
\n
\n
<!-- next Zoom Page-->\n
<tal:block tal:condition="python:basic.secondary_axis_info[\'zoom_start\']!=(basic.secondary_axis_info[\'zoom_level\'] - 1) and basic.secondary_axis_info[\'zoom_level\'] > 1">\n
<b tal:replace="nothing"> next page exists </b>\n
<input type="image" src="/images/1rightarrowv.png" title="Next Zoom Page" name="" border="0"\n
tal:attributes="src string:${adress}/images/1rightarrowv.png;\n
name string:${adress}/portal_selections/nextZoom:method"/>\n
</tal:block>\n
</td>\n
</tr>\n
</table>\n
\n
\n
\n
\n
\n
<!-- planning structure (axis and group representation)-->\n
<div tal:repeat="axis python:(planning.main_axis,planning.secondary_axis)"\n
tal:attributes="id python:axis.name">\n
<!-- groups of the current axis-->\n
<div tal:repeat="axis_group python:axis.axis_group"\n
tal:attributes="id python:axis_group.name;\n
title python:axis_group.tooltip">\n
<!-- depth of the current group -->\n
<div tal:repeat="depth python:range(axis_group.depth)"\n
tal:attributes="id python: axis_group.name + \'_depth_\' + str(depth)">\n
</div>\n
<!-- title of the current group-->\n
<a tal:attributes="href python:axis_group.info_title.link;\n
id python:axis_group.name + \'_info\'"\n
tal:content="python:axis_group.info_title.info">\n
</a>\n
</div>\n
\n
\n
<tal:condition tal:condition="python:axis==planning.X">\n
<tal:block tal:define="global previous_src string:${adress}/images/1leftarrowv.png;\n
global next_src string:${adress}/images/1rightarrowv.png">\n
</tal:block>\n
</tal:condition>\n
<tal:condition tal:condition="python:axis==planning.Y">\n
<tal:block tal:define="global previous_src string:${adress}/images/1toparrow.png;\n
global next_src string:${adress}/images/1bottomarrow.png">\n
</tal:block>\n
</tal:condition>\n
\n
\n
<!-- widgets of the current axis -->\n
<tal:block tal:condition="python:axis==planning.main_axis">\n
<!-- current axis is main axis-->\n
<tal:block tal:condition="python:basic.main_axis_info[\'bound_start\']!=0">\n
<!-- previous page exists -->\n
<input type="image" src="/images/1leftarrowv.png" title="Previous Page" name="" border="0"\n
tal:attributes="src previous_src;\n
name string:${adress}/portal_selections/previousPage:method;\n
id python:axis.name + \'_previous\'"/>\n
</tal:block>\n
<tal:block tal:condition="python:basic.main_axis_info[\'bound_stop\']!=basic.main_axis_info[\'bound_end\']">\n
<!-- next page exists -->\n
<input type="image" src="/images/1rightarrowv.png" title="Next Page" name="" border="0"\n
tal:attributes="src next_src;\n
name string:${adress}/portal_selections/nextPage:method;\n
id python:axis.name + \'_next\'"/>\n
</tal:block>\n
\n
\n
\n
<!-- inserting depth widget -->\n
<div tal:condition= "python:axis==planning.X"\n
tal:define="url python:\'%s/%s\' % (basic.here.absolute_url(),basic.form.id);\n
selection_name python:basic.field.get_value(\'selection_name\')"\n
tal:attributes="id python:axis.name + \'_depth\'">\n
<a tal:repeat="unfold_level python:range(0,4)"\n
tal:attributes="href python:\'%s?selection_index=&amp;selection_name=%s&amp;ignore_layout:int=0&amp;report_depth:int=%s\' % (url,selection_name,unfold_level)"\n
tal:content="structure python:str(unfold_level) + \'&lt;br&gt;\'">\n
0\n
</a>\n
</div>\n
\n
<div tal:condition= "python:axis==planning.Y"\n
tal:define="url python:\'%s/%s\' % (basic.here.absolute_url(),basic.form.id);\n
selection_name python:basic.field.get_value(\'selection_name\')"\n
tal:attributes="id python:axis.name + \'_depth\'">\n
<a tal:repeat="unfold_level python:range(0,4)"\n
tal:attributes="href python:\'%s?selection_index=&amp;selection_name=%s&amp;ignore_layout:int=0&amp;report_depth:int=%s\' % (url,selection_name,unfold_level)"\n
tal:content="structure python:str(unfold_level) + \'&nbsp;\'">\n
0\n
</a>\n
</div>\n
\n
\n
\n
\n
\n
</tal:block>\n
<tal:block tal:condition="python:axis==planning.secondary_axis">\n
<!-- Zoom page-->\n
<tal:block tal:condition="python:basic.secondary_axis_info[\'zoom_start\']!=0">\n
<!-- previous page exists -->\n
<input type="image" src="/images/1leftarrowv.png" title="Previous Zoom Page" name="" border="0"\n
tal:attributes="src previous_src;\n
name string:${adress}/portal_selections/previousZoom:method;\n
id python:axis.name + \'_previous\'"/>\n
</tal:block>\n
<tal:block tal:condition="python:basic.secondary_axis_info[\'zoom_start\']!=(basic.secondary_axis_info[\'zoom_level\'] - 1) and basic.secondary_axis_info[\'zoom_level\'] > 1">\n
<!-- next page exists -->\n
<input type="image" src="/images/1rightarrowv.png" title="Next Zoom Page" name="" border="0"\n
tal:attributes="src next_src;\n
name string:${adress}/portal_selections/nextZoom:method;\n
id python:axis.name + \'_next\'"/>\n
</tal:block>\n
</tal:block>\n
\n
</div>\n
\n
<!-- planning content-->\n
<div id="content"\n
tal:condition="python:struct.build_error_list == None">\n
\n
<!-- display main axis lines -->\n
<tal:block tal:repeat="axis_group python:planning.main_axis.axis_group">\n
<div tal:attributes="id python:axis_group.name + \'_line\'"></div>\n
<b tal:replace="nothing">\n
<!-- display main axis sub_lines if necessary --></b>\n
<tal:block tal:condition="python:axis_group.axis_element_number > 1">\n
<div tal:repeat="axis_element_number python:range(axis_group.axis_element_number)[1:]"\n
tal:attributes="id python:axis_group.name + \'_line_\' + str(axis_element_number)">\n
</div>\n
</tal:block>\n
\n
</tal:block>\n
\n
<!-- display secondary axis lines -->\n
<div tal:repeat="axis_group python:planning.secondary_axis.axis_group"\n
tal:attributes="id python:axis_group.name + \'_line\'"></div>\n
\n
<!-- display blocks -->\n
<tal:block tal:repeat="block python:planning.content">\n
<div tal:condition="python:block.property_dict[\'stat\']== 0"\n
tal:attributes="id python:block.name;\n
ondblclick string:showGrips();\n
title python:block.title;\n
style python:\'text-align:center\'">\n
<tal:block tal:condition="python:block.zone == 1">\n
<div tal:repeat="area python:block.info.keys()"\n
tal:attributes="id python:block.name + \'_\' + area">\n
<tal:block tal:condition="python:block.info[area].info != \'\'">\n
<a tal:condition="python:block.info[area].info != \'__\'"\n
tal:content="python:block.info[area].info"\n
tal:attributes="href python:block.info[area].link">\n
</a>\n
<a tal:condition="python:block.info[area].info == \'__\'"\n
tal:attributes="href python:block.info[area].link">\n
<img tal:attributes="src python:basic.here.getUrl() + \'/images/question.png\'"\n
height="15" width="15">\n
</a>\n
</tal:block>\n
</div>\n
</tal:block>\n
</div>\n
<div tal:condition="python:block.property_dict[\'stat\']== 1"\n
tal:attributes="id python:block.name;\n
title python:block.title">\n
</div>\n
</tal:block>\n
</div>\n
\n
<!-- generic div used for redimensionning-->\n
<div id="top" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n
<div id="right" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n
<div id="bottom" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n
<div id="left" style="position:absolute; width:5px;height:5px; background:#a45d10"></div>\n
\n
<!-- declaring DTML properties -->\n
<tal:block tal:replace="structure python:here.planning_dhtml(planning=planning)"/>\n
\n
</div>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>planning_content</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
"""\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thomas Bernard <thomas@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
"""\n
\n
"""\n
This script is aimed to generate the coordinates and the properties necessary to\n
display correctly the PlaningBox in HTML style (i.e using HTML code + CSS class\n
for positionning). The process is based on the strucutre passed in parameter (i.e\n
\'structure\').\n
Beware this only generates a dict based structure, and need to be passed through\n
the CSS script (\'planning_css\') to have CSS compliant code, no HTML generation is\n
done in this script.\n
\n
This script is also used by the validator script in order to recover the\n
groups of moved blocks\n
"""\n
\n
# the following values are hard-defined and can be modified if necessary to comply with\n
# special constraints (big fonts for example)\n
car_height = 10 # caracter height\n
car_width = 6 # caracter width\n
depth_width = 10 # space to insert between each depth\n
depth_height = 10 # the same over the vertical axis\n
block_width = 40 # mid block size in wich we try to insert text\n
margin = 5 # margin between the block and the delimitation (this permits to have\n
# blocks a bit smaller that lines or columns)\n
\n
\n
\n
size_planning_width = structure.basic.field.get_value(\'size_planning_width\')\n
size_x_axis_height = structure.basic.field.get_value(\'size_x_axis_height\')\n
size_x_axis_space = structure.basic.field.get_value(\'size_x_axis_space\')\n
size_border_width_left = structure.basic.field.get_value(\'size_border_width_left\')\n
size_header_height = structure.basic.field.get_value(\'size_header_height\')\n
size_planning_height = structure.basic.field.get_value(\'size_planning_height\')\n
size_y_axis_width = structure.basic.field.get_value(\'size_y_axis_width\')\n
size_y_axis_space = structure.basic.field.get_value(\'size_y_axis_space\')\n
y_axis_position = structure.basic.field.get_value(\'y_axis_position\')\n
if y_axis_position == \'right\':\n
y_axis_position = 1\n
else:\n
y_axis_position = 0\n
x_axis_position = structure.basic.field.get_value(\'x_axis_position\')\n
if x_axis_position == \'top\':\n
x_axis_position = 1\n
else:\n
x_axis_position = 0\n
\n
\n
properties_structure = {}\n
properties_structure[\'base\'] = {}\n
properties_structure[\'frame\'] = {}\n
properties_structure[\'main_axis\'] = {}\n
properties_structure[\'secondary_axis\'] = {}\n
properties_structure[\'line\'] = {}\n
properties_structure[\'content\'] = {}\n
properties_structure[\'info\'] = {}\n
\n
\n
# getting number of elements to display on the main axis\n
if structure.planning.main_axis.size != structure.basic.main_axis_info[\'bound_axis_groups\']:\n
# number of groups to display over the main axis is different from the expected\n
# value : updating planning size to fit exactly the number of groups \n
if structure.planning.main_axis == structure.planning.Y:\n
# updating Y axis\n
main_axis_step = float(size_planning_height) / float(structure.basic.main_axis_info[\'bound_axis_groups\'])\n
size_planning_height = main_axis_step * structure.planning.main_axis.size\n
else:\n
main_axis_step = float(size_planning_width) / float(structure.basic.main_axis_info[\'bound_axis_groups\'])\n
size_planning_width = main_axis_step * structure.planning.main_axis.size\n
else:\n
if structure.planning.main_axis == structure.planning.Y:\n
main_axis_step = float(size_planning_height) / float(structure.basic.main_axis_info[\'bound_axis_groups\'])\n
else:\n
main_axis_step = float(size_planning_width) / float(structure.basic.main_axis_info[\'bound_axis_groups\'])\n
\n
# defining planning area CSS class\n
planning_dict=None\n
planning_dict= {}\n
planning_dict[\'position\'] = \'relative\'\n
planning_dict[\'border-style\'] = \'solid\'\n
planning_dict[\'border-color\'] = \'#000000\'\n
planning_dict[\'border-width\'] = 0\n
planning_dict[\'background\'] = \'#d5e6de\'\n
planning_dict[\'width\'] = size_planning_width + size_border_width_left + size_y_axis_width + size_y_axis_space\n
planning_dict[\'height\'] = size_header_height + size_x_axis_height + size_x_axis_space + size_planning_height + 100\n
planning_dict[\'margin-top\'] = 0\n
planning_dict[\'margin-left\'] = 0\n
properties_structure[\'base\'][\'header\'] = planning_dict\n
\n
# recovering axis CSS class informations\n
for axis in (structure.planning.Y, structure.planning.X):\n
axis_dict= None\n
axis_dict= {}\n
axis_previous = None\n
axis_previous = {}\n
axis_next = None\n
axis_next = {}\n
axis_depth = None\n
axis_dict[\'position\']= \'absolute\'\n
axis_dict[\'border-style\'] = \'solid\'\n
axis_dict[\'border-color\'] = \'#53676e\'\n
axis_dict[\'border-width\'] = 0\n
axis_dict[\'background\'] = \'#d5e6de\'\n
# adding cursors position informations\n
axis_previous[\'position\'] = \'absolute\'\n
axis_previous[\'border-width\'] = 0\n
axis_next[\'position\'] = \'absolute\'\n
axis_next[\'border-width\'] = 0\n
if axis == structure.planning.X:\n
# current axis is X axis\n
# positionning it\n
axis_dict[\'width\'] = size_planning_width\n
axis_dict[\'height\'] = size_x_axis_height\n
if x_axis_position:\n
axis_dict[\'margin-top\'] = size_header_height\n
else:\n
axis_dict[\'margin-top\'] = size_header_height + size_planning_height + size_x_axis_space\n
if y_axis_position:\n
axis_dict[\'margin-left\'] = size_border_width_left\n
else:\n
axis_dict[\'margin-left\'] = size_border_width_left + size_y_axis_width + size_y_axis_space\n
\n
axis_previous[\'margin-left\'] = -20\n
axis_previous[\'margin-top\'] = (axis_dict[\'height\'] - 15) / 2\n
axis_next[\'margin-left\'] = axis_dict[\'width\'] + 5\n
axis_next[\'margin-top\'] = axis_previous[\'margin-top\']\n
\n
if axis == structure.planning.main_axis:\n
# current axis is main axis : need to implement depth widget\n
axis_depth = {}\n
axis_depth[\'margin-left\'] = -10\n
axis_depth[\'margin-top\'] = 0\n
axis_depth[\'broder-width\'] = 0\n
axis_depth[\'position\'] = \'absolute\'\n
# updating axis previous values\n
axis_previous[\'margin-left\'] = axis_previous[\'margin-left\'] - 10\n
else:\n
# current axis is Y axis\n
# positionning it\n
axis_dict[\'width\'] = size_y_axis_width\n
axis_dict[\'height\'] = size_planning_height\n
if x_axis_position:\n
axis_dict[\'margin-top\'] = size_header_height + size_x_axis_height + size_x_axis_space\n
else:\n
axis_dict[\'margin-top\'] = size_header_height\n
if y_axis_position:\n
axis_dict[\'margin-left\'] = size_border_width_left + size_planning_width + size_y_axis_space\n
else:\n
axis_dict[\'margin-left\'] = size_border_width_left\n
\n
\n
axis_previous[\'margin-left\'] = (axis_dict[\'width\'] -15) / 2\n
axis_previous[\'margin-top\'] = -20\n
axis_next[\'margin-left\'] = axis_previous[\'margin-left\']\n
axis_next[\'margin-top\'] = axis_dict[\'height\'] + 5\n
if axis == structure.planning.main_axis:\n
axis_depth = {}\n
axis_depth[\'margin-left\'] = 0\n
axis_depth[\'margin-top\'] = -15\n
axis_depth[\'border-width\'] = 0\n
axis_depth[\'position\'] = \'absolute\'\n
# updating axis previous values\n
axis_previous[\'margin-top\'] = axis_previous[\'margin-top\'] - 10\n
# adding axis_definitions to dictionnary\n
properties_structure[\'frame\'][axis.name] = axis_dict\n
properties_structure[\'frame\'][axis.name + \'_previous\'] = axis_previous\n
properties_structure[\'frame\'][axis.name + \'_next\'] = axis_next\n
if axis_depth != None:\n
properties_structure[\'frame\'][axis.name + \'_depth\'] = axis_depth\n
\n
\n
# now processing groups over the main axis, including their info object\n
# at the same time generating line to separate each group\n
for axis_group in structure.planning.main_axis.axis_group:\n
axis_group_dict=None\n
axis_group_dict={}\n
axis_group_dict[\'position\']= \'absolute\'\n
axis_group_dict[\'border-style\'] = \'solid\'\n
axis_group_dict[\'border-color\'] = \'#53676e\'\n
axis_group_dict[\'border-width\'] = 1\n
axis_group_dict[\'background\'] = \'#d5e6de\'\n
if axis_group.property_dict[\'stat\'] == 1 :\n
axis_group_dict[\'background\'] = \'#ddefe7\'\n
# info definition\n
axis_info_dict= {}\n
axis_info_dict[\'position\'] = \'absolute\'\n
axis_info_dict[\'border-style\'] = \'solid\'\n
axis_info_dict[\'border-color\'] = \'#53676e\'\n
axis_info_dict[\'border-width\'] = 0\n
# group line separator definition\n
axis_line_dict=None\n
axis_line_dict = {}\n
axis_line_dict[\'position\']= \'absolute\'\n
axis_line_dict[\'border-style\'] = \'solid\'\n
axis_line_dict[\'border-right-width\'] = 0\n
axis_line_dict[\'border-bottom-width\'] = 0\n
if structure.planning.main_axis == structure.planning.X:\n
# current axis is X axis\n
axis_group_dict[\'width\'] = float(axis_group.axis_element_number) * main_axis_step\n
axis_group_dict[\'margin-left\'] = float( axis_group.axis_element_start -1) * main_axis_step\n
axis_group_dict[\'height\'] = size_x_axis_height #- axis_group.depth * depth_height * 2\n
axis_group_dict[\'margin-top\'] = 0 #axis_group.depth * depth_height * 2\n
axis_info_dict[\'margin-top\'] = axis_group.depth * depth_height\n
axis_info_dict[\'margin-left\'] = 1\n
# dotted line must be vertical\n
if axis_group.depth == 0 :\n
#current group is main group : line must be bold\n
axis_line_dict[\'border-left-width\'] = 2\n
else:\n
axis_line_dict[\'border-left-width\'] = 1\n
axis_line_dict[\'border-top-width\'] = 0\n
axis_line_dict[\'height\'] = size_planning_height\n
axis_line_dict[\'width\'] = 0\n
axis_line_dict[\'margin-left\'] = axis_group_dict[\'margin-left\']\n
axis_line_dict[\'margin-top\'] = 0\n
\n
# processing depth\n
for depth in range(axis_group.depth):\n
axis_depth_dict = None\n
axis_depth_dict = {}\n
axis_depth_dict[\'position\'] = \'absolute\'\n
#axis_depth_dict[\'border_style\'] = \'solid\'\n
#axis_depth_dict[\'border-color\'] = \'#53676e\'\n
#axis_depth_dict[\'border-right-width\'] = 0\n
#axis_depth_dict[\'border-left-width\'] = 0\n
#axis_depth_dict[\'border-top-width\'] = 1\n
#axis_depth_dict[\'border-bottom-width\'] = 0\n
axis_depth_dict[\'background\'] = \'#53676e\'\n
axis_depth_dict[\'margin-top\'] = (depth +1) * depth_height\n
axis_depth_dict[\'margin-left\'] = 0\n
axis_depth_dict[\'width\'] = axis_group_dict[\'width\']\n
axis_depth_dict[\'height\'] = 1\n
\n
# adding current depth line info to properties structure\n
properties_structure[\'info\'][axis_group.name + \'_depth_\' + str(depth)] = axis_depth_dict\n
\n
\n
# updating info size\n
if axis_group_dict[\'height\'] - axis_info_dict[\'margin-top\'] < car_height:\n
# block height is too low to be able to display any text\n
# removing block title but keeping tooltip\n
axis_group.info_title.edit(\'\')\n
else:\n
# height matches info\n
if len(axis_group.info_title.info) * car_width > axis_group_dict[\'width\']:\n
# defining number of caracts to leave\n
nb = max((axis_group_dict[\'width\'] - car_width * 3) / car_width, 0 )\n
# cutting activity\n
axis_group.info_title.edit(axis_group.info_title.info[:int(nb)] + \'..\')\n
\n
\n
if axis_group.axis_element_number > 1:\n
# subgroups are present\n
for axis_element_number in range(axis_group.axis_element_number)[1:]:\n
# iterating each subgroup except the first one\n
# for each of them, building a new line over the axis as a delimiter\n
axis_element_dict = None\n
axis_element_dict = {}\n
axis_element_dict[\'position\']= \'absolute\'\n
axis_element_dict[\'border-right-width\'] = 1\n
axis_element_dict[\'border-bottom-width\'] = 1\n
axis_element_dict[\'border-left-width\'] = 2\n
axis_element_dict[\'border-top-width\'] = 1\n
axis_element_dict[\'border-style\'] = \'dotted\'\n
axis_element_dict[\'width\'] = 0\n
axis_element_dict[\'height\'] = size_planning_height\n
axis_element_dict[\'margin-left\'] = axis_group_dict[\'margin-left\'] + axis_element_number * main_axis_step\n
axis_element_dict[\'margin-top\'] = 0\n
\n
# adding current sub line info to properties_structure\n
properties_structure[\'line\'][axis_group.name + \'_line_\' + str(axis_element_number)] = axis_element_dict\n
\n
else:\n
# current axis is Y axis\n
axis_group_dict[\'margin-left\'] = 0 #axis_group.depth * depth_width * 2\n
axis_group_dict[\'width\'] = size_y_axis_width #- axis_group.depth * depth_width * 2\n
axis_group_dict[\'margin-top\'] = float( axis_group.axis_element_start - 1) * main_axis_step\n
axis_group_dict[\'height\'] = float( axis_group.axis_element_number) * main_axis_step\n
\n
# positionning info object in the middle of the axisGroup\n
axis_info_dict[\'margin-top\'] = ((float(axis_group_dict[\'height\']) - car_height ) / 2.0)\n
axis_info_dict[\'margin-left\'] = axis_group.depth * depth_width + depth_width / 2\n
\n
# main line must be horizontal\n
if axis_group.depth == 0:\n
axis_line_dict[\'border-top-width\'] = 2\n
else:\n
axis_line_dict[\'border-top-width\'] = 1\n
axis_line_dict[\'border-left-width\'] = 0\n
axis_line_dict[\'width\'] = size_planning_width\n
axis_line_dict[\'height\'] = 0\n
axis_line_dict[\'margin-left\'] = 0\n
axis_line_dict[\'margin-top\'] = axis_group_dict[\'margin-top\']\n
\n
\n
# processing depth\n
for depth in range(axis_group.depth):\n
axis_depth_dict = None\n
axis_depth_dict = {}\n
axis_depth_dict[\'position\'] = \'absolute\'\n
#axis_depth_dict[\'border_style\'] = \'solid\'\n
#axis_depth_dict[\'border-color\'] = \'#53676e\'\n
#axis_depth_dict[\'border-right-width\'] = 0\n
#axis_depth_dict[\'border-left-width\'] = 1\n
#axis_depth_dict[\'border-top-width\'] = 0\n
#axis_depth_dict[\'border-bottom-width\'] = 0\n
#axis_depth_dict[\'border-width\'] = 2\n
axis_depth_dict[\'background\'] = \'#53676e\'\n
axis_depth_dict[\'margin-top\'] = 1\n
axis_depth_dict[\'margin-left\'] = (depth +1) * depth_width\n
axis_depth_dict[\'width\'] = 1\n
axis_depth_dict[\'height\'] = axis_group_dict[\'height\']\n
\n
# adding current depth line info to properties structure\n
properties_structure[\'info\'][axis_group.name + \'_depth_\' + str(depth)] = axis_depth_dict\n
\n
\n
\n
# updating info size\n
if axis_group_dict[\'height\'] < car_height:\n
# block height is too low to be able to display any text\n
# removing block title but keeping tooltip\n
axis_group.info_title.edit(\'\')\n
else:\n
# height matches info\n
if len(axis_group.info_title.info) * car_width > axis_group_dict[\'width\']:\n
# defining number of caracts to leave\n
nb = max((axis_group_dict[\'width\'] - car_width * 3) / car_width, 0 )\n
# cutting activity\n
axis_group.info_title.edit(axis_group.info_title.info[:int(nb)] + \'..\')\n
\n
\n
\n
if axis_group.axis_element_number > 1:\n
# subgroup are present\n
for axis_element_number in range(axis_group.axis_element_number)[1:]:\n
# iterating each subgroup except the first one\n
# for each of them, building a new line over the axis as a delimiter\n
axis_element_dict = None\n
axis_element_dict = {}\n
axis_element_dict[\'position\']= \'absolute\'\n
axis_element_dict[\'border-right-width\'] = 0\n
axis_element_dict[\'border-bottom-width\'] = 0\n
axis_element_dict[\'border-left-width\'] = 0\n
axis_element_dict[\'border-top-width\'] = 1\n
axis_element_dict[\'border-style\'] = \'dotted\'\n
axis_element_dict[\'width\'] = size_planning_width\n
axis_element_dict[\'height\'] = 0\n
axis_element_dict[\'margin-left\'] = 0\n
axis_element_dict[\'margin-top\'] = axis_group_dict[\'margin-top\'] + axis_element_number * main_axis_step\n
\n
# adding current sub line info to properties_structure\n
properties_structure[\'line\'][axis_group.name + \'_line_\' + str(axis_element_number)] = axis_element_dict\n
\n
\n
# adding axis_definitions to dictionnary\n
properties_structure[\'main_axis\'][axis_group.name] = axis_group_dict\n
properties_structure[\'line\'][axis_group.name + \'_line\'] = axis_line_dict\n
properties_structure[\'info\'][axis_group.name + \'_info\'] = axis_info_dict\n
\n
\n
\n
# processing secondary_axis_group\n
for sec_axis_group in structure.planning.secondary_axis.axis_group:\n
sec_axis_group_dict=None\n
sec_axis_group_dict={}\n
sec_axis_group_dict[\'position\']= \'absolute\'\n
sec_axis_group_dict[\'border-color\'] = \'#53676e\'\n
sec_axis_group_dict[\'border-style\'] = \'solid\'\n
sec_axis_group_dict[\'border-width\'] = 1\n
sec_axis_group_dict[\'background\'] = \'#d5e6de\'\n
# info definition\n
sec_axis_info_dict= {}\n
sec_axis_info_dict[\'position\'] = \'absolute\'\n
sec_axis_info_dict[\'border-style\'] = \'solid\'\n
sec_axis_info_dict[\'border-color\'] = \'#53676e\'\n
sec_axis_info_dict[\'border-width\'] = 0\n
# line definition\n
sec_axis_line_dict=None\n
sec_axis_line_dict = {}\n
sec_axis_line_dict[\'position\']= \'absolute\'\n
if sec_axis_group.delimiter_type == 0:\n
sec_axis_line_dict[\'border-style\'] = \'dotted\'\n
else:\n
sec_axis_line_dict[\'border-style\'] = \'solid\'\n
sec_axis_line_dict[\'border-right-width\'] = 0\n
sec_axis_line_dict[\'border-bottom-width\'] = 0\n
if structure.planning.main_axis == structure.planning.Y:\n
# current axis is X axis\n
sec_axis_group_dict[\'width\'] = sec_axis_group.position_secondary.absolute_range * size_planning_width\n
sec_axis_group_dict[\'margin-left\'] = sec_axis_group.position_secondary.absolute_begin * size_planning_width\n
sec_axis_group_dict[\'height\'] = size_x_axis_height\n
sec_axis_group_dict[\'margin-top\'] = sec_axis_group.depth\n
sec_axis_info_dict[\'margin-top\'] = 1\n
sec_axis_info_dict[\'margin-left\'] = 1\n
# dotted line must be vertical\n
if sec_axis_group.delimiter_type == 2:\n
sec_axis_line_dict[\'border-left-width\'] = 2\n
else:\n
sec_axis_line_dict[\'border-left-width\'] = 1\n
sec_axis_line_dict[\'border-top-width\'] = 0\n
sec_axis_line_dict[\'height\'] = size_planning_height\n
sec_axis_line_dict[\'width\'] = 0\n
sec_axis_line_dict[\'margin-left\'] = sec_axis_group_dict[\'margin-left\']\n
sec_axis_line_dict[\'margin-top\'] = 0\n
\n
# updating info size\n
if sec_axis_group_dict[\'height\'] - sec_axis_info_dict[\'margin-top\'] < car_height:\n
# block height is too low to be able to display any text\n
# removing block title but keeping tooltip\n
sec_axis_group.info_title.edit(\'\')\n
else:\n
# height matches info\n
if len(sec_axis_group.info_title.info) * car_width > sec_axis_group_dict[\'width\']:\n
# defining number of caracts to leave\n
nb = max((sec_axis_group_dict[\'width\'] - car_width * 3) / car_width, 0 )\n
# cutting activity\n
sec_axis_group.info_title.edit(sec_axis_group.info_title.info[:int(nb)] + \'..\')\n
\n
else:\n
# current axis is Y axis\n
sec_axis_group_dict[\'margin-left\'] = sec_axis_group.depth\n
sec_axis_group_dict[\'width\'] = size_y_axis_width\n
sec_axis_group_dict[\'margin-top\'] = sec_axis_group.position_secondary.absolute_begin * size_planning_height\n
sec_axis_group_dict[\'height\'] = sec_axis_group.position_secondary.absolute_range * size_planning_height\n
# positionning info object in the middle of the axisGroup\n
sec_axis_info_dict[\'margin-top\'] = ((float(axis_group_dict[\'height\']) - car_height ) / 2.0)\n
sec_axis_info_dict[\'margin-left\'] = 1\n
# dotted line must be horizontal\n
sec_axis_line_dict[\'border-left-width\'] = 0\n
if sec_axis_group.delimiter_type == 2:\n
sec_axis_line_dict[\'border-top-width\'] = 2\n
else:\n
sec_axis_line_dict[\'border-top-width\'] = 1\n
sec_axis_line_dict[\'width\'] = size_planning_width\n
sec_axis_line_dict[\'height\'] = 0\n
sec_axis_line_dict[\'margin-left\'] = 0\n
sec_axis_line_dict[\'margin-top\'] = sec_axis_group_dict[\'margin-top\']\n
\n
\n
# updating info size\n
if sec_axis_group_dict[\'height\'] < car_height:\n
# block height is too low to be able to display any text\n
# removing block title but keeping tooltip\n
sec_axis_group.info_title.edit(\'\')\n
else:\n
# height matches info\n
if len(sec_axis_group.info_title.info) * car_width > sec_axis_group_dict[\'width\']:\n
# defining number of caracts to leave\n
nb = max((sec_axis_group_dict[\'width\'] - car_width * 3) / car_width, 0 )\n
# cutting activity\n
sec_axis_group.info_title.edit(sec_axis_group.info_title.info[:int(nb)] + \'..\')\n
\n
\n
## testing if text can be displayed in current group\n
#if len(sec_axis_group.title) * car_width > sec_axis_group_dict[\'width\']:\n
# # defining number of caracts to leave\n
# nb = max((sec_axis_group_dict[\'width\'] - car_width * 3) / car_width, 0)\n
# # cutting activity\n
# sec_axis_group.setTitle(sec_axis_group.title[:int(nb)] + \'..\')\n
\n
# adding axis_definitions to dictionnary\n
properties_structure[\'secondary_axis\'][sec_axis_group.name] = sec_axis_group_dict\n
properties_structure[\'line\'][sec_axis_group.name + \'_line\'] = sec_axis_line_dict\n
properties_structure[\'info\'][sec_axis_group.name + \'_info\'] = sec_axis_info_dict\n
\n
\n
\n
\n
\n
# defining CSS properties for content\n
content_dict=None\n
content_dict={}\n
content_dict[\'position\'] = \'absolute\'\n
content_dict[\'width\'] = size_planning_width\n
content_dict[\'height\'] = size_planning_height\n
if y_axis_position:\n
content_dict[\'margin-left\'] = size_border_width_left\n
else:\n
content_dict[\'margin-left\'] = size_border_width_left + size_y_axis_width + size_y_axis_space\n
if x_axis_position:\n
content_dict[\'margin-top\'] = size_header_height + size_x_axis_height + size_x_axis_space\n
else:\n
content_dict[\'margin-top\'] = size_header_height\n
content_dict[\'background\'] = \'#ffffff\'\n
content_dict[\'border-style\'] = \'solid\'\n
content_dict[\'border-color\'] = \'#53676e\'\n
content_dict[\'border-width\'] = 1\n
properties_structure[\'frame\'][\'content\'] = content_dict\n
\n
\n
\n
# processing blocks in the planning content\n
for block_object in structure.planning.content:\n
block_dict = None\n
block_dict = {}\n
block_dict[\'position\'] = \'absolute\'\n
block_dict[\'border-style\'] = \'solid\'\n
block_dict[\'border-color\'] = \'#53676e\'\n
block_dict[\'border-width\'] = 1\n
if block_object.error == 1: # task has error (not validated)\n
block_dict[\'background\'] = \'#e4c4da\'\n
elif block_object.warning == 1: # other bloc in the same task has error\n
block_dict[\'background\'] = \'#e9e3f0\'\n
elif block_object.property_dict[\'stat\'] == 1: # stat\n
block_dict[\'background\'] = \'#97b0c1\'\n
block_dict[\'border-color\'] = \'#97b0c1\'\n
elif block_object.color != \'\': # color specified\n
block_dict[\'background\'] = block_object.color\n
else: # default color\n
block_dict[\'background\'] = \'#bdd2e7\'\n
\n
\n
block_dict[\'width\'] = block_object.position_x.relative_range * size_planning_width\n
block_dict[\'height\'] = block_object.position_y.relative_range * size_planning_height\n
block_dict[\'margin-left\'] = block_object.position_x.relative_begin * size_planning_width\n
block_dict[\'margin-top\'] = block_object.position_y.relative_begin * size_planning_height\n
\n
if block_object.parent_activity.property_dict[\'stat\'] == 0:\n
# the whole following process is aimed to take care of the non-stat blocks\n
\n
if structure.planning.main_axis == structure.planning.Y and block_object.parent_activity.property_dict[\'stat\'] == 0:\n
# Y axis is main axis\n
# adapt Y block size\n
block_dict[\'height\'] = block_dict[\'height\'] - 10\n
block_dict[\'margin-top\'] = block_dict[\'margin-top\'] + 5\n
elif block_object.parent_activity.property_dict[\'stat\'] == 0:\n
# X axis is main axis\n
# adapt X block size\n
block_dict[\'width\'] = block_dict[\'width\'] - 10\n
block_dict[\'margin-left\'] = block_dict[\'margin-left\'] + 5\n
\n
# for each block processing its info objects and placing them\n
# testing if there is enough room horizontally to display the info,\n
# first checking when 2 info on the same line (top or bottom)\n
top_string = \'\'\n
top_list = []\n
bot_string = \'\'\n
bot_list = []\n
center = \'\'\n
# recovering full string that will have to be displayed on the top & bottom line()\n
for info_name in block_object.info.keys():\n
if \'top\' in info_name:\n
top_string += block_object.info[info_name].info\n
top_list.append(info_name)\n
if \'bot\' in info_name:\n
bot_string += block_object.info[info_name].info\n
bot_list.append(info_name)\n
if \'center\' in info_name:\n
center = info_name\n
# checking if block length can fit them\n
if (len(top_string) * car_width) > block_dict[\'width\']:\n
# block is too short, escaping top line\n
for top_id in top_list:\n
block_object.info[top_id].edit(\'.\')\n
if (len(bot_string) * car_width) > block_dict[\'width\']:\n
for bot_id in bot_list:\n
block_object.info[bot_id].edit(\'.\')\n
# testing if need to update center info object (horizontal test)\n
# as center info is automatically splitted into lines if necessary, need to check\n
# the length of the biggest line.\n
center_content_list = block_object.info[center].info.split(\' \')\n
center_length = 0\n
for center_content_string in center_content_list:\n
if center_length < len(center_content_string):\n
center_length = len(center_content_string)\n
# now center_length contains the maximum length of a line\n
# applying test\n
if center_length * car_width > block_dict[\'width\']:\n
# center length is too long, escaping it\n
block_object.info[center].edit(\'__\')\n
\n
# now testing vertical limit (..)\n
# lines contains the nuber of \'lines\' to display\n
lines = 1 # center line is always present\n
for list_object in (top_list,bot_list):\n
if list_object is not (None,[]):\n
lines += 1\n
if block_dict[\'height\'] < car_height:\n
# there is no room to display any text in the block\n
# escaping all text\n
for info_name in block_object.info.keys():\n
block_object.info[info_name].edit(\'\')\n
else:\n
if block_dict[\'height\'] < (car_height* lines):\n
# there is not enought room to display all the text in the block\n
# keeping only the most important : center\n
for list_object in (top_list,bot_list):\n
for info_name in list_object:\n
block_object.info[info_name].edit(\'\')\n
else:\n
pass\n
\n
# now processing standard testing and positionning\n
# testing if the info can fit inside the block horizontally\n
for info_name in block_object.info.keys():\n
block_info_dict = None\n
block_info_dict = {}\n
block_info_dict[\'position\'] = \'absolute\'\n
if \'top\' in info_name:\n
block_info_dict[\'margin-top\'] = 0\n
if \'bottom\' in info_name:\n
block_info_dict[\'margin-top\'] = block_dict[\'height\'] - car_height\n
if \'left\' in info_name:\n
block_info_dict[\'margin-left\'] = 0\n
if \'right\' in info_name:\n
block_info_dict[\'margin-left\'] = block_dict[\'width\'] - (car_width * len(block_object.info[info_name].info))\n
if \'center\' in info_name:\n
block_info_dict[\'margin-left\'] = (block_dict[\'width\'] - (car_width * len(block_object.info[info_name].info)))/2\n
if block_info_dict[\'margin-left\'] < 0:\n
block_info_dict[\'margin-left\'] = 0\n
block_info_dict[\'margin-left\'] = block_info_dict[\'margin-left\']\n
block_info_dict[\'margin-top\'] = (block_dict[\'height\'] - car_height)/2\n
if \'error\' in info_name:\n
block_info_dict[\'margin-left\'] = 0\n
block_info_dict[\'width\'] = block_dict[\'width\']\n
block_info_dict[\'margin-top\'] = block_dict[\'height\']\n
properties_structure[\'info\'][block_object.name + \'_\' + info_name] = block_info_dict\n
\n
\n
properties_structure[\'content\'][block_object.name] = block_dict\n
\n
return properties_structure\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_skins/erp5_html_style/planning_coordinates</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>structure</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>structure</string>
<string>car_height</string>
<string>car_width</string>
<string>depth_width</string>
<string>depth_height</string>
<string>block_width</string>
<string>margin</string>
<string>_getattr_</string>
<string>size_planning_width</string>
<string>size_x_axis_height</string>
<string>size_x_axis_space</string>
<string>size_border_width_left</string>
<string>size_header_height</string>
<string>size_planning_height</string>
<string>size_y_axis_width</string>
<string>size_y_axis_space</string>
<string>y_axis_position</string>
<string>x_axis_position</string>
<string>properties_structure</string>
<string>_write_</string>
<string>_getitem_</string>
<string>float</string>
<string>main_axis_step</string>
<string>None</string>
<string>planning_dict</string>
<string>_getiter_</string>
<string>axis</string>
<string>axis_dict</string>
<string>axis_previous</string>
<string>axis_next</string>
<string>axis_depth</string>
<string>axis_group</string>
<string>axis_group_dict</string>
<string>axis_info_dict</string>
<string>axis_line_dict</string>
<string>range</string>
<string>depth</string>
<string>axis_depth_dict</string>
<string>str</string>
<string>len</string>
<string>max</string>
<string>nb</string>
<string>int</string>
<string>axis_element_number</string>
<string>axis_element_dict</string>
<string>sec_axis_group</string>
<string>sec_axis_group_dict</string>
<string>sec_axis_info_dict</string>
<string>sec_axis_line_dict</string>
<string>content_dict</string>
<string>block_object</string>
<string>block_dict</string>
<string>top_string</string>
<string>top_list</string>
<string>bot_string</string>
<string>bot_list</string>
<string>center</string>
<string>info_name</string>
<string>top_id</string>
<string>bot_id</string>
<string>center_content_list</string>
<string>center_length</string>
<string>center_content_string</string>
<string>lines</string>
<string>list_object</string>
<string>block_info_dict</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>planning_coordinates</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
"""\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thomas Bernard <thomas@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
"""\n
\n
"""\n
This script is aimed to generate the CSS code needed to display correctly the\n
PlaningBox in HTML style (i.e using HTML code + CSS class for positionning).\n
The process is based on the strucutre passed in parameter (i.e \'structure\').\n
\n
Beware this only generates CSS code, and need to use the \'planning_coordinates\'\n
script (\'planning_css\') to have CSS compliant code, no HTML generation is\n
done in this script.\n
"""\n
\n
if structure.build_error_list != None:\n
# structure contains errors, do not need to do any further processing about\n
# CSS generation. Error display will be handled in html rendering.\n
return \'\'\n
\n
\n
properties_structure = context.planning_coordinates(structure)\n
\n
"""\n
- the properties_structure returned from the planning_coordinates script is somehow\n
special : it is a dict defined by the areas of data\n
- then each area is itself a dict defined by the name of the object (axis, group, block, etc.)\n
- finally the objects holds a dict with all the proprieties\n
"""\n
\n
\n
# udating properties if necessary.\n
# This process is only usefull when displaying a planning that failed to\n
# validate. In such a case the block properties are updated to match their\n
# last position.\n
block_string = structure.basic.REQUEST.get(\'previous_block_moved\',\'\')\n
if block_string != \'\':\n
# block_list is not empty, need to recover porperties and update the blocks\n
# that need to be refreshed\n
block_object_list = block_string.split(\'*\')\n
for block_object_string in block_object_list:\n
block_dict = None\n
block_dict = {}\n
block_sub_list = block_object_string.split(\',\')\n
block_dict[\'name\'] = block_sub_list[0]\n
block_dict[\'old_X\'] = float(block_sub_list[1])\n
block_dict[\'old_Y\'] = float(block_sub_list[2])\n
block_dict[\'new_X\'] = float(block_sub_list[3])\n
block_dict[\'new_Y\'] = float(block_sub_list[4])\n
block_dict[\'width\'] = float(block_sub_list[5])\n
block_dict[\'height\'] = float(block_sub_list[6])\n
# recovering corresponding block coordinates object in properties_structure\n
block_properties = properties_structure[\'content\'][block_dict[\'name\']]\n
# list of dict of blocks has been recovered\n
# need to find deltaX and deltaY\n
deltaX = block_dict[\'old_X\'] - block_properties[\'margin-left\']\n
deltaY = block_dict[\'old_Y\'] - block_properties[\'margin-top\']\n
# updating position\n
block_properties[\'margin-left\'] = block_dict[\'new_X\'] - deltaX\n
block_properties[\'margin-top\'] = block_dict[\'new_Y\'] - deltaY\n
# updating size\n
block_properties[\'width\'] = block_dict[\'width\']\n
block_properties[\'height\'] = block_dict[\'height\']\n
\n
else:\n
# no unvalidated block, using actual properties\n
pass\n
\n
\n
\n
# build list from dictionnary structure\n
# this list will e converted to a string afterwards\n
returned_list = []\n
for area_name in properties_structure.keys():\n
css_dict = properties_structure[area_name]\n
for class_name in css_dict.keys():\n
returned_list.append(\'#%s{\' % class_name)\n
for id in css_dict[class_name].keys():\n
if same_type(css_dict[class_name][id],\'\'):\n
returned_list.append(\'%s:%s;\\n\' % (id,css_dict[class_name][id]))\n
else:\n
# if data is type float or integer then need to add \'px\' at the end\n
returned_list.append(\'%s:%s%s;\\n\' % (id, int(css_dict[class_name][id] + 0.5),\'px\'))\n
returned_list.append(\'}\\n\')\n
\n
# now joining list to build the final CSS string\n
# and returning it\n
return "".join(returned_list)\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_skins/erp5_html_style/planning_css</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>structure</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>structure</string>
<string>_getattr_</string>
<string>None</string>
<string>context</string>
<string>properties_structure</string>
<string>block_string</string>
<string>block_object_list</string>
<string>_getiter_</string>
<string>block_object_string</string>
<string>block_dict</string>
<string>block_sub_list</string>
<string>_getitem_</string>
<string>_write_</string>
<string>float</string>
<string>block_properties</string>
<string>deltaX</string>
<string>deltaY</string>
<string>returned_list</string>
<string>area_name</string>
<string>css_dict</string>
<string>class_name</string>
<string>id</string>
<string>same_type</string>
<string>int</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>planning_css</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
"""\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thomas Bernard <thomas@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
"""\n
\n
"""\n
This script builds a string with all necessary data to allow block\n
moving and resizing\n
"""\n
\n
returned_string = "<script type=\\"text/javascript\\">SET_DHTML("\n
for block in planning.content:\n
if block.property_dict[\'stat\'] == 0:\n
returned_string += \'"%s",\' % block.name\n
returned_string += "\\"top\\"+CURSOR_N_RESIZE+VERTICAL, \\"right\\"+CURSOR_E_RESIZE+HORIZONTAL, \\"bottom\\"+CURSOR_S_RESIZE+VERTICAL, \\"left\\"+CURSOR_W_RESIZE+HORIZONTAL);</script>"\n
\n
return returned_string\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_skins/erp5_html_style/planning_dhtml</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>planning</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>planning</string>
<string>returned_string</string>
<string>_getiter_</string>
<string>_getattr_</string>
<string>block</string>
<string>_getitem_</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>planning_dhtml</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_dav_writelocks</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<tal:block tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Jean-Paul Smets <jp@nexedi.com>\n
Thierry Faucher \n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode request/editable_mode | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:view_master;\n
layout_id layout_form/pt | default_layout;">\n
<tal:block metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<div class="Main" metal:define-macro="form_layout">\n
<tal:block tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)">\n
<table class="Border" width="100%" tal:condition="python:\n
(len(form.get_fields_in_group(groups[0])) > 0) or\n
(len(form.get_fields_in_group(groups[1])) > 0)">\n
<tal:block tal:repeat="group python: groups[:2]">\n
<td valign="top">\n
<table>\n
<tal:block tal:repeat="field python:form.get_fields_in_group(group)">\n
<tal:block metal:use-macro="here/field_render/macros/field_render"/>\n
</tal:block>\n
</table>\n
</td>\n
</tal:block>\n
</table>\n
\n
<table class="Border" width="100%" tal:condition="python:\n
(len(form.get_fields_in_group(groups[2])) > 0) or\n
(len(form.get_fields_in_group(groups[3])) > 0)">\n
<tal:block tal:repeat="group python: groups[2:4]">\n
<td valign="top">\n
<table>\n
<tal:block tal:repeat="field python:form.get_fields_in_group(group)">\n
<tal:block metal:use-macro="here/field_render/macros/field_render"/>\n
</tal:block>\n
</table>\n
</td>\n
</tal:block>\n
</table>\n
\n
\n
<tal:block tal:condition="python: \n
(len(groups) > 4) and\n
(len(form.get_fields_in_group(groups[4])) > 0)">\n
<table class="Border">\n
<tal:block tal:repeat="field python:form.get_fields_in_group(groups[4])">\n
<tal:block metal:use-macro="here/field_render/macros/field_render"/>\n
</tal:block>\n
</table>\n
</tal:block>\n
<tal:block tal:condition="python: len(groups)>5">\n
<tal:block tal:repeat="field python:form.get_fields_in_group(groups[5])">\n
<tal:block tal:define="value python:request.get(field.id, None)"\n
tal:replace="structure python:field.render(value, request)" />\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>quad_form_view</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">\n
<tal:block tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Jean-Paul Smets <jp@nexedi.com>\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
\n
<tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
editable_mode request/editable_mode | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
default_layout string:view_master;\n
layout_id layout_form/pt | default_layout;">\n
\n
<tal:block metal:use-macro="python: getattr(here,layout_id).macros[\'master\']">\n
<tal:block metal:fill-slot="main">\n
<div tal:attributes="class python: editable_mode and \'fieldgroup\' or \'Main\'">\n
<tal:block tal:define="groups python: form.get_groups(include_empty=1);\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)">\n
<table class="Border" width="100%" tal:condition="python: len(form.get_fields_in_group(groups[0])) > 0\n
or len(form.get_fields_in_group(groups[1])) > 0">\n
<tr>\n
<td valign="top">\n
<table>\n
<tal:block tal:repeat="field python:form.get_fields_in_group(groups[0])">\n
<tr tal:condition="python:field.meta_type != \'HiddenStringField\'">\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error"/>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"/>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror"/>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required"/>\n
<td tal:define="value python:request.get(field.id,None)"\n
tal:content="structure python:field.render(value,request)"/>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td></td>\n
<td tal:content="python:field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error"/>\n
</tr>\n
</tal:block>\n
</table>\n
</td>\n
<td valign="top" tal:condition="python: len(groups)>1">\n
<table>\n
<tal:block tal:repeat="field python:form.get_fields_in_group(groups[1])">\n
<tr tal:condition="python:field.meta_type != \'HiddenStringField\'">\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error"/>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"/>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror"/>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required"/>\n
<td tal:define="value python:request.get(field.id,None)"\n
tal:content="structure python:field.render(value,request)"/>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td>\n
</td>\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error"/>\n
</tr>\n
</tal:block>\n
</table>\n
</td>\n
</tr>\n
</table>\n
\n
<table class="Border" tal:condition="python: len(groups) > 2 and len(form.get_fields_in_group(groups[2])) > 0">\n
<tal:block tal:repeat="field python:form.get_fields_in_group(groups[2])">\n
<tr tal:condition="python:field.meta_type != \'HiddenStringField\'">\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="error"/>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and not field.is_required()"\n
i18n:translate="" i18n:domain="ui"/>\n
<td tal:content="structure field/title"\n
tal:condition="python: field_errors.has_key(field.id)\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="reqerror"/>\n
<td tal:content="structure field/title"\n
tal:condition="python: (not field_errors.has_key(field.id))\n
and field.is_required()"\n
i18n:translate="" i18n:domain="ui"\n
class="required"/>\n
<td tal:define="value python:request.get(field.id,None)"\n
tal:content="structure python:field.render(value,request)"/>\n
</tr>\n
<tr tal:condition="python: field_errors.has_key(field.id)">\n
<td tal:content="python: field_errors[field.id].error_text"\n
i18n:translate="" i18n:domain="ui"\n
class="error"/>\n
</tr>\n
</tal:block>\n
</table>\n
\n
<tal:block tal:condition="python: len(groups) > 3"\n
tal:repeat="field python: form.get_fields_in_group(groups[3])">\n
<tal:block tal:replace="structure python: field.render(request.get(field.id, None), request)"/>\n
</tal:block>\n
\n
</tal:block>\n
\n
<tal:block tal:define="portal_object here/portal_url/getPortalObject"\n
tal:repeat="report_item python:report_method()">\n
<tal:block tal:define="here python:report_item.getObject(portal_object);\n
dummy python:report_item.pushReport(portal_object)">\n
<tal:block tal:condition="report_item/getFormId"\n
tal:define="form python:getattr(here,report_item.getFormId())">\n
<tal:block tal:condition="python:form.pt == \'form_view\'">\n
<tal:block metal:use-macro="form/form_view/macros/form_layout"/>\n
</tal:block>\n
<tal:block tal:condition="python:form.pt == \'form_list\'">\n
<tal:block metal:use-macro="form/form_list/macros/form_layout"/>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:define="dummy python:report_item.popReport(portal_object)"/>\n
</tal:block>\n
</tal:block>\n
\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>report_view</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
Jean-Paul Smets <jp@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
metal:define-macro="master">\n
\n
<script language="JavaScript" src="erp5.js"\n
tal:attributes="src python:\'%s/erp5.js\' % here.portal_url()">\n
</script>\n
\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by view_dialog_master" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<!--title tal:content="template/title_or_id">The title</title-->\n
<title tal:content="request/button_title|template/title_or_id" i18n:translate="" i18n:domain="ui">The title</title>\n
<link href="erp5.css" rel="stylesheet" type="text/css"\n
tal:attributes="href python: here.portal_url() + \'/\' + \'erp5.css\'" />\n
</head>\n
\n
<body>\n
<form action="Test" method="POST" id="main_form"\n
tal:attributes="action here/absolute_url;\n
method form/method | nothing;\n
enctype form/enctype | nothing"\n
tal:define="selection_name request/selection_name | string:">\n
<div metal:use-macro="here/global_definition/macros/global_definition" />\n
<span tal:condition="request/form_id | nothing">\n
<input type="hidden" name="form_id" value="form"\n
tal:attributes="value request/form_id">\n
</span>\n
<span tal:condition="request/previous_md5_object_uid_list | nothing">\n
<input type="hidden" name="previous_md5_object_uid_list" value="form"\n
tal:attributes="value request/previous_md5_object_uid_list">\n
</span>\n
<input type="hidden" name="dialog_id" value="form"\n
tal:attributes="value form/id">\n
<input type="hidden" name="selection_name" value="selection_name"\n
tal:attributes="value selection_name">\n
<!-- Menu Boxes -->\n
<table cellpadding="0" cellspacing="0" border="0" width="100%">\n
<tr>\n
<td>\n
<!-- Navigation Box Goes Here -->\n
<div class="NavigationBox">\n
<div metal:use-macro="here/navigation_box/macros/navigation_box"\n
>Navigation Box</div>\n
</div>\n
</td>\n
</tr>\n
<tr>\n
<td>\n
<!-- Menu Box Goes Here -->\n
\n
<div class="MenuBox">\n
<!--<div metal:use-macro="here/list_menu_box/macros/list_menu_box"\n
>MenuBox</div> -->\n
</div>\n
</td>\n
</tr>\n
</table>\n
<!-- Breadcrumb, owner and date-->\n
<div class="Breadcrumb">\n
<div metal:use-macro="here/breadcrumb/macros/small_breadcrumb"\n
>Breadcrumb</div>\n
</div>\n
<!-- Optional Portal Status Message -->\n
<div class="Main"\n
tal:condition="request/portal_status_message | nothing">\n
<table><tr><td class="error"\n
tal:content="request/portal_status_message">\n
</td></tr>\n
</table>\n
</div>\n
<!-- Main Zone -->\n
<table border="0" cellpadding="0" cellspacing="0" width="100%">\n
<tr>\n
<div class="OutMain">\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
</div>\n
<td>\n
<!-- Main Content -->\n
<div class="Main">\n
<div metal:define-slot="main">Main Content</div>\n
</div>\n
</td>\n
<div class="OutMain">\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
</div>\n
</tr>\n
<tr>\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
<td></td>\n
<td></td>\n
</tr>\n
<tr>\n
<td width="5"><img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img"\n
tal:attributes="src string:$portal_url/images/spacer.png"/></td>\n
<td align="left"\n
tal:define="cancel_url request/cancel_url | request/HTTP_REFERER;\n
previous_form_id request/previous_form_id | nothing">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5"\n
border="0" alt="img"\n
tal:attributes="src string:$portal_url/images/spacer.png"/>\n
<input type="hidden" name="dialog_method" value="cancel_url"\n
tal:attributes="value python: form.action"/>\n
<input type="hidden" name="cancel_url" value="cancel_url"\n
tal:attributes="value cancel_url">\n
<input type="hidden" name="previous_form_id" value="previous_form_id"\n
tal:attributes="value previous_form_id">\n
<input type="Submit" value="Cancel" \n
name="Base_cancel:method"\n
i18n:attributes="value" i18n:domain="ui"\n
/>&nbsp;\n
<span tal:condition="python: form.update_action!=\'\'">\n
<input type="hidden" name="update_method" value="cancel_url"\n
tal:attributes="value python: form.update_action"/>\n
<input type="Submit" value="Cancel"\n
name="Base_showUpdateDialog:method"\n
i18n:attributes="value" i18n:domain="ui"\n
tal:attributes="value python:\'Update\'"/>\n
</span>\n
<input type="Submit" value="Search"\n
i18n:attributes="value" i18n:domain="ui"\n
name="Base_callViewDialogMethod:method"\n
tal:attributes="value python:here.Base_getFormViewDialogActionButtonTitle(form)"/>\n
</td>\n
<td></td>\n
</tr>\n
</table>\n
</form>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view_dialog_master</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_dav_writelocks</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<tal:block tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
Jean-Paul Smets <jp@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
metal:define-macro="master">\n
\n
<script language="JavaScript" src="erp5.js"\n
tal:attributes="src python:\'%s/erp5.js\' % here.portal_url()">\n
</script>\n
\n
<script type="text/javascript" src="wz_dragdrop.js" tal:attributes="src python:\'%s/wz_dragdrop.js\' % here.portal_url()">\n
</script>\n
\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by view_master" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title i18n:translate="" i18n:domain="ui">\n
<tal:block i18n:name="form_title"\n
i18n:domain="ui"\n
i18n:translate=""\n
tal:content="template/title_or_id"\n
/> - <tal:block i18n:name="object_title" \n
tal:content="here/getTitleOrId"/></title>\n
<link href="erp5.css" rel="stylesheet" type="text/css"\n
tal:attributes="href python: here.portal_url() + \'/\' + \'erp5.css\'" />\n
\n
<tal:block tal:condition="exists: form">\n
<tal:block tal:condition="python:form.has_field(\'planning_box\')">\n
<tal:block tal:define="planning_box1 python:form.get_field(\'planning_box\');dummy python:request.set(\'here\',here)" >\n
<style tal:content="structure python: planning_box1.render_css(None,REQUEST=request)"/>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
\n
</head>\n
<body LEFTMARGIN=0 TOPMARGIN=0 MARGINHEIGHT="0" MARGINWIDTH="0">\n
<form action="Test" name="main_form" id="main_form"\n
tal:attributes="action here/absolute_url;\n
method form/method | python:\'post\';\n
enctype form/enctype | python:\'multipart/form-data\'"\n
method="post"\n
enctype="multipart/form-data" >\n
<tal:block metal:use-macro="here/global_definition/macros/global_definition" />\n
<input type="hidden" name="form_id" value="form"\n
tal:attributes="value form/id | template/id | script/id">\n
<input type="hidden" name="query_string" value="query"\n
tal:attributes="value request/QUERY_STRING">\n
<input type="hidden" name="object_uid" value="uid"\n
tal:attributes="value here/getUid">\n
<input type="hidden" name="object_path" value="path"\n
tal:attributes="value here/getPath">\n
<!-- Menu Boxes -->\n
<table cellpadding="0" cellspacing="0" width="100%">\n
<tr>\n
<td nowrap>\n
<!-- Navigation Box Goes Here -->\n
<div class="NavigationBox">\n
<tal:block metal:use-macro="here/navigation_box/macros/navigation_box">\n
Navigation Box\n
</tal:block>\n
</div>\n
</td>\n
</tr>\n
<tr>\n
<td valign="middle" >\n
<!-- Menu Box Goes Here -->\n
<div class="MenuBox">\n
<tal:block metal:use-macro="here/view_menu_box/macros/menu_box">\n
Menu Box\n
</tal:block>\n
</div>\n
</td>\n
</tr>\n
</table>\n
<!-- Breadcrumb, owner and date-->\n
<div class="Breadcrumb">\n
<tal:block metal:use-macro="here/breadcrumb/macros/full_breadcrumb">\n
Breadcrumb\n
</tal:block>\n
</div>\n
<!-- Optional Portal Status Message -->\n
<div class="Main"\n
tal:condition="request/portal_status_message | nothing">\n
<table><tr><td class="error"\n
tal:content="structure request/portal_status_message">\n
</td></tr>\n
</table>\n
</div>\n
<!-- Main -->\n
<table border="0" cellpadding="0" cellspacing="0" width="99%">\n
<tr>\n
<td width="5" class="OutMain"><img src="/images/erp5_html_style/images/spacer.png"\n
width="5" height="5" border="0"\n
tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
<td>\n
<table border="0" cellpadding="0" cellspacing="0" width="100%">\n
<tr>\n
<td width="100%">\n
<table border="0" cellpadding="0" cellspacing="0"\n
width="100%">\n
<tr>\n
<td width="100%" class="OutMain">\n
<!-- View Selection Menu goes here -->\n
<tal:block metal:use-macro="here/view_selection_box/macros/view_selection_box">\n
View selection bar\n
</tal:block>\n
</td>\n
</tr>\n
</table>\n
</td>\n
</tr>\n
<tr>\n
<!-- Main Content -->\n
<td width="100%" class="MainContent" >\n
<tal:block metal:define-slot="main">\n
Main Content\n
</tal:block>\n
</td>\n
</tr>\n
</table>\n
</td>\n
<td width="1" class="OutMain"><img src="/images/erp5_html_style/images/spacer.png"\n
width="1" height="1" border="0" alt="img"\n
tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
</tr>\n
</table>\n
</form>\n
</body>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view_master</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<span tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</span>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
xmlns:metal="http://xml.zope.org/namespaces/metal">\n
\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by view_menu_box" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id" i18n:translate="" i18n:domain="ui">The title</title>\n
<link href="erp5.css" rel="stylesheet" type="text/css" />\n
</head>\n
\n
<body>\n
<div metal:define-macro="menu_box"\n
tal:define="form_id form/id | nothing;\n
selection_name python:request.get(\'selection_name\',\'default\');\n
selection_index request/selection_index | nothing;\n
selection_url python:here.portal_selections.getSelectionListUrlFor(selection_name,REQUEST=request)\n
">\n
<input type="hidden" name="selection_name" value="selection_name"\n
tal:attributes="value selection_name">\n
<input type="hidden" name="selection_index" value="selection_index"\n
tal:attributes="value selection_index">\n
<input type="hidden" name="selection_url" value="selection_url"\n
tal:attributes="value selection_url">\n
<div metal:use-macro="here/menu_box/macros/menu_box">\n
<div metal:fill-slot="buttons">\n
<img src="/images/erp5_html_style/images/sepacla.png" alt="|"\n
tal:attributes="src string:$portal_url/images/sepacla.png"/>&nbsp;\n
<span tal:condition="selection_url">\n
<a href="list" tal:attributes="href selection_url">\n
<img src="/images/erp5_html_style/images/text_block.png" width="22" height="22"\n
title="List Mode" alt="List Mode" border="0"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/text_block.png"/>&nbsp;\n
</a>\n
<img src="/images/erp5_html_style/images/sepacla.png" alt="|"\n
tal:attributes="src string:$portal_url/images/sepacla.png"/>&nbsp;\n
</span>\n
<span tal:condition="search_actions">\n
<a href="" tal:attributes="\n
href python:search_actions[0][\'url\']\n
+ \'?selection_name=%s&dialog_category=%s&form_id=%s\'\n
% (selection_name , \'object_search\', form_id) ">\n
<img src="/images/erp5_html_style/images/find.png" width="22" height="22" border="0"\n
title="Find" alt="Find"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/find.png"/>\n
</a>&nbsp;\n
</span>\n
<span tal:condition="print_actions">\n
<a href=""\n
tal:attributes="href python:print_actions[0][\'url\']\n
+ \'?selection_name=%s&dialog_category=%s&form_id=%s\'\n
% (selection_name , \'object_print\', form_id) ">\n
<img src="/images/erp5_html_style/images/print.png"\n
title="Print" width="22" height="22"\n
alt="Print" border="0"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/print.png"/>\n
</a>&nbsp;\n
</span>\n
<input type="image" src="/images/erp5_html_style/images/filenew.png" title="New"\n
width="22" height="22" name="Base_createNewDocument:method" alt="New"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/filenew.png"/>&nbsp;\n
<span tal:condition="selection_index">\n
<img src="/images/erp5_html_style/images/sepacla.png" border="0" alt="|"\n
tal:attributes="src string:$portal_url/images/sepacla.png"/>&nbsp;\n
<a href="First" tal:attributes="href\n
string:portal_selections/viewFirst?form_id=$form_id&selection_index=$selection_index&selection_name=$selection_name"\n
><img width="22" height="22"\n
src="/images/erp5_html_style/images/2leftarrowb.png" border="0"\n
title="First" alt="First"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/2leftarrowb.png" /></a>\n
<a href="Previous" tal:attributes="href\n
string:portal_selections/viewPrevious?form_id=$form_id&selection_index=$selection_index&selection_name=$selection_name"\n
><img width="22" height="22"\n
src="/images/erp5_html_style/images/1leftarrowb.png" border="0"\n
title="Previous" alt="Previous"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/1leftarrowb.png" /></a>\n
<a href="Next" tal:attributes="href\n
string:portal_selections/viewNext?form_id=$form_id&selection_index=$selection_index&selection_name=$selection_name"\n
><img width="22" height="22"\n
src="/images/erp5_html_style/images/1rightarrowb.png" border="0"\n
title="Next" alt="Next"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/1rightarrowb.png"/></a>\n
<a href="Last" tal:attributes="href\n
string:portal_selections/viewLast?form_id=$form_id&selection_index=$selection_index&selection_name=$selection_name"\n
><img width="22" height="22"\n
src="/images/erp5_html_style/images/2rightarrowb.png" border="0"\n
title="Last" alt="Last"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/2rightarrowb.png"/></a>&nbsp;\n
</span>\n
<img src="/images/erp5_html_style/images/sepacla.png" border="0" alt="|"\n
tal:attributes="src string:$portal_url/images/sepacla.png"/>&nbsp;\n
<span tal:condition="exchange_actions">\n
<a href="" tal:attributes="\n
href python:exchange_actions[0][\'url\']\n
+ \'?selection_name=%s&dialog_category=%s&form_id=%s\'\n
% (selection_name , \'object_exchange\', form_id) ">\n
<img src="/images/erp5_html_style/images/imp-exp.png" width="22" height="22" border="0"\n
title="Import / Export" alt="Import / Export"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/imp-exp.png"/>\n
</a>&nbsp;\n
</span>\n
<span tal:condition="report_actions">\n
<a href="" tal:attributes="\n
href python:report_actions[0][\'url\']\n
+ \'?selection_name=%s&dialog_category=%s&form_id=%s\'\n
% (selection_name , \'object_report\', form_id) ">\n
<img src="/images/erp5_html_style/images/etat3.png" width="22" height="22" border="0"\n
title="Report" alt="Report"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src string:$portal_url/images/etat3.png;\n
title python:report_actions[0][\'name\'];\n
alt python:report_actions[0][\'name\']"/> \n
</a>&nbsp;\n
</span>\n
<span tal:condition="button_actions">\n
<img src="/images/erp5_html_style/images/sepacla.png" border="0" alt="|"\n
tal:attributes="src string:$portal_url/images/sepacla.png"/>&nbsp;\n
<tal:block tal:repeat="button_action button_actions">\n
<a href="" tal:attributes="\n
href python:button_action[\'url\']\n
+ \'?selection_name=%s&dialog_category=%s&form_id=%s\'\n
% (selection_name , \'\', form_id) ">\n
<img src="/images/erp5_html_style/images/etat3.png" width="22" height="22" border="0"\n
title="Report" alt="Report"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="src python:button_action[\'icon\'];\n
title python:button_action[\'name\'];\n
alt python:button_action[\'name\']"/>\n
</a>\n
&nbsp;\n
</tal:block>\n
</span>\n
</div>\n
</div>\n
</div>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view_menu_box</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_dav_writelocks</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<tal:block tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Thierry Faucher <tf@nexedi.com>\n
Jean-Paul Smets <jp@nexedi.com>\n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
xmlns:metal="http://xml.zope.org/namespaces/metal">\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n
<meta name="description" content="Generated by view_selection_box" />\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n
<title tal:content="template/title_or_id" i18n:translate="" i18n:domain="ui"></title>\n
<link href="erp5.css" rel="stylesheet" type="text/css" />\n
</head>\n
\n
<body>\n
<div metal:define-macro="view_selection_box">\n
<table border="0" cellpadding="0" cellspacing="0" width="100%"\n
class="Outmain"\n
tal:define="isAnon python:here.portal_membership.isAnonymousUser();\n
AuthClass python:isAnon and \'GuestActions\' or \'MemberActions\';\n
uname python: isAnon and \'Guest\' or\n
here.portal_membership.getAuthenticatedMember().getUserName();\n
this_form_id form/id | template/id | script/id;\n
current_url python: here.absolute_url() + \'/\' + this_form_id;\n
selection_index request/selection_index | string:;\n
selection_name request/selection_name | string:;\n
ignore_layout request/ignore_layout | python:0;">\n
\n
<tr height="34">\n
<td valign="bottom" align="left" class="Main" height="34">\n
<table border="0" cellpadding="0" cellspacing="0" width="1">\n
<tr>\n
<td valign="bottom" colspan="6" class="OutMain">\n
<img src="/images/erp5_html_style/images/spacer.png" width="1" height="100%" border="0"\n
tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
</tr>\n
<tr>\n
<tal:block tal:repeat="action view_actions"> \n
<td valign="bottom" width="17">\n
<img src="/images/erp5_html_style/images/Left.png" border="0" alt="left"\n
tal:attributes="src string:$portal_url/images/Left.png"/>\n
</td>\n
<td nowrap class="BorderTop" valign="bottom">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5" border="0"\n
alt="spacer" tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
<td valign="bottom" width="17">\n
<img src="/images/erp5_html_style/images/Right.png" border="0" alt="right"\n
tal:attributes="src string:$portal_url/images/Right.png"/>\n
</td>\n
</tal:block>\n
</tr>\n
<tr>\n
<tal:block tal:repeat="action view_actions">\n
<tal:block tal:define="is_action_selected python:current_url == action[\'url\'].split(\'?\')[0]" >\n
<tal:block tal:condition="is_action_selected">\n
<td class="BorderLeft" valign="bottom" width="17"\n
tal:condition="python: not repeat[\'action\'].start">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5" border="0"\n
alt="spacer" tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
<td class="BorderLeft" valign="bottom"\n
tal:condition="repeat/action/start">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5" border="0"\n
alt="spacer" tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
</tal:block>\n
<tal:block tal:condition="not:is_action_selected">\n
<td class="BorderLeftBottom" valign="bottom" width="17"\n
tal:condition="python: not repeat[\'action\'].start">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5" border="0"\n
alt="spacer" tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
<td class="BorderLeftBottom" valign="bottom"\n
tal:condition="repeat/action/start">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5" border="0"\n
alt="spacer" tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
</tal:block>\n
<td nowrap align="center" valign="bottom"\n
tal:attributes="class python: is_action_selected and \'On\' or \'Off\'"\n
tal:define="url action/url">\n
<a tal:content="action/name"\n
i18n:translate="" i18n:domain="ui"\n
tal:attributes="href python:url + (\'?\' in url and \'&\' or \'?\') + \'selection_index=%s&selection_name=%s&ignore_layout:int=%s\' % (selection_index, selection_name, ignore_layout);" >\n
</a>\n
<tal:block tal:define="info python: \'Translate this action name\';\n
message action/name;\n
image python: \'translate.png\'">\n
<tal:block metal:use-macro="context/form_developper_buttons/macros/translate_link"/>\n
</tal:block>\n
</td>\n
<tal:block tal:condition="is_action_selected">\n
<td valign="bottom" width="17"\n
tal:condition="python: not repeat[\'action\'].end">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5" border="0"\n
alt="spacer" tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
</tal:block>\n
<tal:block tal:condition="not:is_action_selected">\n
<td valign="bottom" width="17" class="BorderBottom"\n
tal:condition="python: not repeat[\'action\'].end">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5" border="0"\n
alt="spacer" tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
</tal:block>\n
<tal:block tal:condition="not:is_action_selected">\n
<td class="BorderRightBottom" valign="bottom" width="17"\n
tal:condition="repeat/action/end">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5" border="0"\n
alt="spacer" tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
</tal:block>\n
<tal:block tal:condition="is_action_selected">\n
<td class="BorderRight" valign="bottom" width="17"\n
tal:condition="repeat/action/end">\n
<img src="/images/erp5_html_style/images/spacer.png" width="5" height="5" border="0"\n
alt="spacer" tal:attributes="src string:$portal_url/images/spacer.png"/>\n
</td>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tr>\n
</table>\n
</td>\n
<td align="right" width="100%" class="BorderBottom" valign="bottom" height="34">\n
<tal:block tal:condition="python: here.portal_membership.checkPermission(\'Modify portal content\', here)">\n
<input type="image" alt="Save" src="/images/erp5_html_style/images/save2.png"\n
tal:condition="form/action | nothing"\n
border="0" title="Save" name="action:method"\n
i18n:attributes="title" i18n:domain="ui"\n
tal:attributes="name python: form.action + \':method\';\n
src string:$portal_url/images/save2.png" />\n
</tal:block>\n
</td>\n
</tr>\n
</table>\n
</div>\n
</body>\n
</html>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view_selection_box</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>OFS.DTMLMethod</string>
<string>DTMLMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>wz_dragdrop.js</string> </value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
/* This notice must be untouched at all times.\n
\n
wz_dragdrop.js v. 4.56\n
The latest version is available at\n
http://www.walterzorn.com\n
or http://www.devira.com\n
or http://www.walterzorn.de\n
\n
Copyright (c) 2002-2003 Walter Zorn. All rights reserved.\n
Created 26. 8. 2002 by Walter Zorn (Web: http://www.walterzorn.com )\n
Last modified: 20. 10. 2004\n
\n
This DHTML & Drag&Drop Library adds Drag&Drop functionality\n
to the following types of html-elements:\n
- images, even if not positioned via layers,\n
nor via stylesheets or any other kind of "hard-coding"\n
- relatively and absolutely positioned layers (DIV elements).\n
Moreover, it provides extended DHTML abilities.\n
\n
LICENSE: LGPL\n
\n
This library is free software; you can redistribute it and/or\n
modify it under the terms of the GNU Lesser General Public\n
License (LGPL) as published by the Free Software Foundation; either\n
version 2.1 of the License, or (at your option) any later version.\n
\n
This library is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n
\n
For more details on the GNU Lesser General Public License,\n
see http://www.gnu.org/copyleft/lesser.html\n
*/\n
\n
\n
\n
\n
\n
// PATH TO THE TRANSPARENT 1*1 PX IMAGE (required by NS 4 as spacer)\n
var spacer = \'transparentpixel.gif\';\n
\n
\n
//var bmoved=new Array; //array where are stocked all the information when a block is moved (added by jonathan)\n
\n
//window.onerror = new Function(\'return true;\');\n
var lines=new Array;\n
var rt;\n
var lt;\n
var rb;\n
var lb;\n
var grips;\n
// Optional commands passed to SET_DHTML() on the html-page (g: may be applied globally, i: individually)\n
var CLONE = \'C10nE\'; // i img clone image\n
var COPY = \'C0pY\'; // i img create copies\n
var DETACH_CHILDREN = \'d37aCH\'; // i lyr detach images\n
var HORIZONTAL = \'H0r1Z\'; // i img,lyr horizontally draggable only\n
var MAXHEIGHT = \'m7x8I\'; // i img,lyr maximum height limit, "\n
var MAXOFFBOTTOM = \'m7xd0wN\'; // i img,lyr downward offset limit\n
var MAXOFFLEFT = \'m7x23Ft\'; // i img,lyr leftward offset limit\n
var MAXOFFRIGHT = \'m7x0Ff8\'; // i img,lyr rightward offset limit\n
var MAXOFFTOP = \'m7xu9\'; // i img,lyr upward offset limit\n
var MAXWIDTH = \'m7xW1\'; // i img,lyr maximum width limit, use with resizable or scalable\n
var MINWIDTH = \'m1nw1\'; // i img,lyr minimum width limit, " \n
var MINHEIGHT = \'m1n8I\'; // i img,lyr minimum height limit, "\n
var NO_ALT = \'no81T\'; // gi img disable alt and title attributes\n
var NO_DRAG = \'N0d4Ag\'; // i img,lyr disable draggability\n
var RESET_Z = \'r35E7z\'; // gi img,lyr reset z-index when dropped\n
var RESIZABLE = \'r5IZbl\'; // gi img,lyr resizable if <ctrl> or <shift> pressed\n
var SCALABLE = \'SCLbl\'; // gi img,lyr scalable "\n
var SCROLL = \'sC8lL\'; // gi img,lyr enable auto scroll functionality\n
var VERTICAL = \'V3Rt1C\'; // i img,lyr vertically draggable only\n
\n
var dd_cursors = new Array(\n
\t\'c:default\',\n
\t\'c:crosshair\',\n
\t\'c:e-resize\',\n
\t\'c:hand\',\n
\t\'c:help\',\n
\t\'c:move\',\n
\t\'c:n-resize\',\n
\t\'c:ne-resize\',\n
\t\'c:nw-resize\',\n
\t\'c:s-resize\',\n
\t\'c:se-resize\',\n
\t\'c:sw-resize\',\n
\t\'c:text\',\n
\t\'c:w-resize\',\n
\t\'c:wait\'\n
);\n
var dd_i = dd_cursors.length; while(dd_i--)\n
\teval(\'var CURSOR_\' + (dd_cursors[dd_i].substring(2).toUpperCase().replace(\'-\', \'_\')) + \' = "\' + dd_cursors[dd_i] + \'";\');\n
\n
\n
\n
function WZDD()\n
{\n
\tthis.n = navigator.userAgent.toLowerCase();\n
\tthis.db = (document.compatMode && document.compatMode.toLowerCase() != "backcompat")?\n
\t\tdocument.documentElement\n
\t\t: (document.body || null);\n
\tthis.op = !!(window.opera && document.getElementById);\n
\tthis.op6 = !!(this.op && !(this.db && this.db.innerHTML));\n
\tif (this.op && !this.op6) document.onmousedown = new Function(\'e\',\n
\t\t\'if (((e = e || window.event).target || e.srcElement).tagName == "IMAGE") return false;\');\n
\tthis.ie = !!(this.n.indexOf("msie") >= 0 && document.all && this.db && !this.op);\n
\tthis.iemac = !!(this.ie && this.n.indexOf("mac") >= 0);\n
\tthis.ie4 = !!(this.ie && !document.getElementById);\n
\tthis.n4 = !!(document.layers && typeof document.classes != "undefined");\n
\tthis.n6 = !!(typeof window.getComputedStyle != "undefined" && typeof document.createRange != "undefined");\n
\tthis.w3c = !!(!this.op && !this.ie && !this.n6 && document.getElementById);\n
\tthis.ce = !!(document.captureEvents && document.releaseEvents);\n
\tthis.px = (this.n4 || this.op6)? \'\' : \'px\';\n
}\n
var dd = new WZDD();\n
\n
dd.Int = function(d_x, d_y)\n
{\n
\treturn isNaN(d_y = parseInt(d_x))? 0 : d_y;\n
};\n
\n
dd.getWndW = function()\n
{\n
\treturn dd.Int(\n
\t\t(dd.db && !dd.op && !dd.w3c && dd.db.clientWidth)? dd.db.clientWidth\n
\t\t: (window.innerWidth || 0)\n
\t);\n
};\n
\n
dd.getWndH = function()\n
{\n
\treturn dd.Int(\n
\t\t(dd.db && !dd.op && !dd.w3c && dd.db.clientHeight)? dd.db.clientHeight\n
\t\t: (window.innerHeight || 0)\n
\t);\n
};\n
\n
dd.getScrollX = function()\n
{\n
\treturn dd.Int(window.pageXOffset || (dd.db? dd.db.scrollLeft : 0));\n
};\n
\n
dd.getScrollY = function()\n
{\n
\treturn dd.Int(window.pageYOffset || (dd.db? dd.db.scrollTop : 0));\n
};\n
\n
dd.getPageXY = function(d_o)\n
{\n
\tif (dd.n4 && d_o)\n
\t{\n
\t\tdd.x = d_o.pageX || 0;\n
\t\tdd.y = d_o.pageY || 0;\n
\t}\n
\telse\n
\t{\n
\t\tdd.x = dd.y = 0; //global helper vars\n
\t\twhile (d_o)\n
\t\t{\n
\t\t\tdd.x += dd.Int(d_o.offsetLeft);\n
\t\t\tdd.y += dd.Int(d_o.offsetTop);\n
\t\t\td_o = d_o.offsetParent || null;\n
\t\t}\n
\t}\n
};\n
\n
dd.getCssXY = function(d_o)\n
{\n
\tif (d_o.div)\n
\t{\n
\t\tif (dd.n4)\n
\t\t{\n
\t\t\td_o.cssx = d_o.div.x;\n
\t\t\td_o.cssy = d_o.div.y;\n
\t\t}\n
\t\telse if (dd.ie4)\n
\t\t{\n
\t\t\td_o.cssx = d_o.css.pixelLeft;\n
\t\t\td_o.cssy = d_o.css.pixelTop;\n
\t\t}\n
\t\telse\n
\t\t{\n
\t\t\td_o.css.left = d_o.css.top = 0 + dd.px;\n
\t\t\tdd.getPageXY(d_o.div);\n
\t\t\td_o.cssx = d_o.x - dd.x;\n
\t\t\td_o.cssy = d_o.y - dd.y;\n
\t\t\td_o.css.left = d_o.cssx + dd.px;\n
\t\t\td_o.css.top = d_o.cssy + dd.px;\n
\t\t}\n
\t}\n
\telse\n
\t{\n
\t\td_o.cssx = 0;\n
\t\td_o.cssy = 0;\n
\t}\n
};\n
\n
dd.getImgW = function(d_o)\n
{\n
\treturn d_o? dd.Int(d_o.width) : 0;\n
};\n
\n
dd.getImgH = function(d_o)\n
{\n
\treturn d_o? dd.Int(d_o.height) : 0;\n
};\n
\n
dd.getDivW = function(d_o)\n
{\n
\treturn dd.Int(\n
\t\tdd.n4? (d_o.div? d_o.div.clip.width : 0)\n
\t\t: d_o.div? (d_o.div.offsetWidth || d_o.css.pixelWidth || d_o.css.width || 0)\n
\t\t: 0\n
\t);\n
};\n
\n
dd.getDivH = function(d_o)\n
{\n
\treturn dd.Int(\n
\t\tdd.n4? (d_o.div? d_o.div.clip.height : 0)\n
\t\t: d_o.div? (d_o.div.offsetHeight || d_o.css.pixelHeight || d_o.css.height || 0)\n
\t\t: 0\n
\t);\n
};\n
\n
dd.getWH = function(d_o)\n
{\n
\td_o.w = dd.getDivW(d_o);\n
\td_o.h = dd.getDivH(d_o);\n
\tif (d_o.css)\n
\t{\n
\t\td_o.css.width = d_o.w + dd.px;\n
\t\td_o.css.height = d_o.h + dd.px;\n
\t\td_o.dw = dd.getDivW(d_o)-d_o.w;\n
\t\td_o.dh = dd.getDivH(d_o)-d_o.h;\n
\t\td_o.css.width = (d_o.w-d_o.dw) + dd.px;\n
\t\td_o.css.height = (d_o.h-d_o.dh) + dd.px;\n
\t}\n
\telse d_o.dw = d_o.dh = 0;\n
};\n
\n
dd.getCssProp = function(d_o, d_pn6, d_pstyle, d_pn4)\n
{\n
\tif (d_o && dd.n6) return \'\'+window.getComputedStyle(d_o, null).getPropertyValue(d_pn6);\n
\tif (d_o && d_o.currentStyle) return \'\'+eval(\'d_o.currentStyle.\'+d_pstyle);\n
\tif (d_o && d_o.style) return \'\'+eval(\'d_o.style.\'+d_pstyle);\n
\tif (d_o && dd.n4) return \'\'+eval(\'d_o.\'+d_pn4);\n
\treturn \'\';\n
};\n
\n
dd.getDiv = function(d_x, d_d)\n
{\n
\td_d = d_d || document;\n
\tif (dd.n4)\n
\t{\n
\t\tif (d_d.layers[d_x]) return d_d.layers[d_x];\n
\t\tfor (var d_i = d_d.layers.length; d_i--;)\n
\t\t{\n
\t\t\tvar d_y = dd.getDiv(d_x, d_d.layers[d_i].document);\n
\t\t\tif (d_y) return d_y;\n
\t\t}\n
\t}\n
\tif (dd.ie) return d_d.all[d_x] || null;\n
\tif (d_d.getElementById) return d_d.getElementById(d_x) || null;\n
\treturn null;\n
};\n
\n
dd.getImg = function(d_o, d_nm, d_xy, d_w)\n
{\n
\td_w = d_w || window;\n
\tvar d_img;\n
\tif ((d_img = d_w.document.images[d_nm]) && d_img.name == d_nm)\n
\t{\n
\t\tif (d_xy)\n
\t\t{\n
\t\t\tif (dd.n4)\n
\t\t\t{\n
\t\t\t\tdd.getPageXY(d_w);\n
\t\t\t\td_o.defx = d_img.x + dd.x;\n
\t\t\t\td_o.defy = d_img.y + dd.y;\n
\t\t\t}\n
\t\t\telse\n
\t\t\t{\n
\t\t\t\tdd.getPageXY(d_img);\n
\t\t\t\td_o.defx = dd.x;\n
\t\t\t\td_o.defy = dd.y;\n
\t\t\t}\n
\t\t}\n
\t\treturn d_img;\n
\t}\n
\tif (dd.n4) for (var d_i = d_w.document.layers.length; d_i--;)\n
\t{\n
\t\tvar d_y = dd.getImg(d_o, d_nm, d_xy, d_w.document.layers[d_i]);\n
\t\tif (d_y) return d_y;\n
\t}\n
\treturn null;\n
};\n
\n
dd.getParent = function(d_o)\n
{\n
\tif (dd.n4)\n
\t{\n
\t\tfor (var d_p, d_i = dd.elements.length; d_i--;)\n
\t\t{\n
\t\t\tif (!((d_p = dd.elements[d_i]).is_image) && d_p.div && (d_p.div.document.layers[d_o.name] || d_o.oimg && d_p.div.document.images[d_o.oimg.name]))\n
\t\t\t\td_p.addChild(d_o, d_p.detach, 1);\n
\t\t} \n
\t}\n
\telse\n
\t{\n
\t\tvar d_p = d_o.is_image? dd.getImg(d_o, d_o.oimg.name) : (d_o.div || null);\n
\t\twhile (d_p && !!(d_p = d_p.offsetParent || d_p.parentNode || null))\n
\t\t{\n
\t\t\tif (d_p.ddObj)\n
\t\t\t{\n
\t\t\t\td_p.ddObj.addChild(d_o, d_p.ddObj.detach, 1);\n
\t\t\t\tbreak;\n
\t\t\t}\n
\t\t}\n
\t}\n
};\n
\n
dd.getCmd = function(d_o, d_cmd, d_cmdStr)\n
{\n
\tvar d_i = d_o.id.indexOf(d_cmd), d_j,\n
\td_y = (d_i >= 0)*1;\n
\tif (d_y)\n
\t{\n
\t\td_j = d_i+d_cmd.length;\n
\t\tif (d_cmdStr) d_o.cmd += d_o.id.substring(d_i, d_j);\n
\t\td_o.id = d_o.id.substring(0, d_i) + d_o.id.substring(d_j);\n
\t}\n
\treturn d_y;\n
};\n
\n
dd.getCmdVal = function(d_o, d_cmd, d_cmdStr, int0)\n
{\n
\tvar d_i = d_o.id.indexOf(d_cmd), d_j,\n
\td_y = (d_o.id.indexOf(d_cmd) >= 0)? dd.Int(d_o.id.substring(d_o.id.indexOf(d_cmd)+d_cmd.length)) : int0? -1 : 0;\n
\tif (!int0 && d_y || int0 && d_y >= 0)\n
\t{\n
\t\td_j = d_i+d_cmd.length+(""+d_y).length;\n
\t\tif (d_cmdStr) d_o.cmd += d_o.id.substring(d_i, d_j);\n
\t\td_o.id = d_o.id.substring(0, d_i) + d_o.id.substring(d_j);\n
\t}\n
\treturn d_y;\n
};\n
\n
dd.addElt = function(d_o, d_p)\n
{\n
\tdd.elements[dd.elements.length] = dd.elements[d_o.name] = d_o;\n
\tif (d_p) d_p.copies[d_p.copies.length] = d_p.copies[d_o.name] = d_o;\n
};\n
\n
dd.mkWzDom = function()\n
{\n
\tvar d_i = dd.elements.length; while(d_i--) dd.getParent(dd.elements[d_i]);\n
\td_i = dd.elements.length; while(d_i--)\n
\t\td_o = dd.elements[d_i];\n
\t\tif (d_o.children && !d_o.parent)\n
\t\t{\n
\t\t\tvar d_j = d_o.children.length; while(d_j--)\n
\t\t\t\td_o.children[d_j].setZ(d_o.z+d_o.children[d_j].z, 1);\n
\t\t}\n
};\n
\n
dd.addProps = function(d_o)\n
{\n
\tvar d_i, d_c;\n
\tif (d_o.is_image)\n
\t{\n
\t\td_o.div = dd.getDiv(d_o.id);\n
\t\tif (d_o.div && typeof d_o.div.style != "undefined") d_o.css = d_o.div.style;\n
\t\td_o.nimg = (dd.n4 && d_o.div)? d_o.div.document.images[0] : (document.images[d_o.id+\'NImG\'] || null);\n
\t\tif (!d_o.noalt && !dd.noalt)\n
\t\t{\n
\t\t\td_o.nimg.alt = d_o.oimg.alt || \'\';\n
\t\t\tif (d_o.oimg.title) d_o.nimg.title = d_o.oimg.title;\n
\t\t}\n
\t\td_o.bgColor = \'\';\n
\t}\n
\telse\n
\t{\n
\t\td_o.bgColor = dd.getCssProp(d_o.div, \'background-color\',\'backgroundColor\',\'bgColor\').toLowerCase();\n
\t\tif (dd.n6 && d_o.div)\n
\t\t{\n
\t\t\tif ((d_c = d_o.bgColor).indexOf(\'rgb\') >= 0)\n
\t\t\t{\n
\t\t\t\td_c = d_c.substring(4, d_c.length-1).split(\',\');\n
\t\t\t\td_o.bgColor = \'#\';\n
\t\t\t\tfor (var d_i = 0; d_i < d_c.length; d_i++) d_o.bgColor += parseInt(d_c[d_i]).toString(0x10);\n
\t\t\t}\n
\t\t\telse d_o.bgColor = d_c;\n
\t\t}\n
\t}\n
\tif (dd.scalable) d_o.scalable = d_o.resizable^1;\n
\telse if (dd.resizable) d_o.resizable = d_o.scalable^1;\n
\td_o.setZ(d_o.defz);\n
\td_o.cursor = d_o.cursor || dd.cursor || \'auto\';\n
\td_o._setCrs(d_o.nodrag? \'auto\' : d_o.cursor);\n
\td_o.visible = true;\n
};\n
\n
dd.initz = function()\n
{\n
\tif (!(dd && (dd.n4 || dd.n6 || dd.ie || dd.op || dd.w3c))) return;\n
\tif (dd.op6) WINSZ(2);\n
\telse if (dd.n6 || dd.ie || dd.op && !dd.op6 || dd.w3c) dd.recalc(1);\n
\tvar d_drag = (document.onmousemove == DRAG),\n
\td_resize = (document.onmousemove == RESIZE);\n
\tif (dd.loadFunc) dd.loadFunc();\n
\tif (d_drag && document.onmousemove != DRAG) dd.setEvtHdl(1, DRAG);\n
\telse if (d_resize && document.onmousemove != RESIZE) dd.setEvtHdl(1, RESIZE);\n
\tif ((d_drag || d_resize) && document.onmouseup != DROP) dd.setEvtHdl(2, DROP);\n
\tdd.setEvtHdl(0, PICK);\n
};\n
\n
dd.finlz = function()\n
{\n
\tif (dd.ie && dd.elements)\n
\t{\n
\t\tvar d_i = dd.elements.length; while (d_i--)\n
\t\t\tdd.elements[d_i].del();\n
\t}\n
};\n
\n
dd.setEvtHdl = function(d_typ, d_func)\n
{\n
\tif (!d_typ)\n
\t{\n
\t\tif (document.onmousedown != d_func) dd.downFunc = document.onmousedown || null;\n
\t\tdocument.onmousedown = d_func;\n
\t}\n
\telse if (d_typ&1)\n
\t{\n
\t\tif (document.onmousemove != d_func) dd.moveFunc = document.onmousemove || null;\n
\t\tdocument.onmousemove = d_func;\n
\t}\n
\telse\n
\t{\n
\t\tif (document.onmouseup != d_func) dd.upFunc = document.onmouseup || null;\n
\t\tdocument.onmouseup = d_func;\n
\t}\n
\tif (dd.ce)\n
\t{\n
\t\tvar d_e = (!d_typ)? Event.MOUSEDOWN : (d_typ&1)? Event.MOUSEMOVE : Event.MOUSEUP;\n
\t\td_func? document.captureEvents(d_e) : document.releaseEvents(d_e);\n
\t}\n
};\n
\n
dd.evt = function(d_e)\n
{\n
\tthis.but = (this.e = d_e || window.event).which || this.e.button || 0;\n
\tthis.button = (this.e.type == \'mousedown\')? this.but\n
\t\t: (dd.e && dd.e.button)? dd.e.button\n
\t\t: 0;\n
\tthis.src = this.e.target || this.e.srcElement || null;\n
\tthis.src.tag = ("" + (this.src.tagName || this.src)).toLowerCase();\n
\tthis.x = dd.Int(this.e.pageX || this.e.clientX || 0);\n
\tthis.y = dd.Int(this.e.pageY || this.e.clientY || 0);\n
\tif (dd.ie)\n
\t{\n
\t\tthis.x += dd.getScrollX() - (dd.ie && !dd.iemac)*1;\n
\t\tthis.y += dd.getScrollY() - (dd.ie && !dd.iemac)*1;\n
\t}\n
\tthis.modifKey = this.e.modifiers? this.e.modifiers&Event.SHIFT_MASK : (this.e.shiftKey || false);\n
};\n
\n
dd.recalc = function(d_x)\n
{\n
\tif (dd.elements)\n
\t{\n
\t\tvar d_o, d_i = dd.elements.length; while(d_i--)\n
\t\t{\n
\t\t\tif (!(d_o = dd.elements[d_i]).is_image && d_o.div)\n
\t\t\t{\n
\t\t\t\tdd.getWH(d_o);\n
\t\t\t\tif (d_o.div.pos_rel)\n
\t\t\t\t{\n
\t\t\t\t\tdd.getPageXY(d_o.div);\n
\t\t\t\t\tvar d_dx = dd.x - d_o.x, d_dy = dd.y - d_o.y;\n
\t\t\t\t\td_o.defx += d_dx;\n
\t\t\t\t\td_o.x += d_dx;\n
\t\t\t\t\td_o.defy += d_dy;\n
\t\t\t\t\td_o.y += d_dy;\n
\t\t\t\t\tvar d_p, d_j = d_o.children.length; while(d_j--)\n
\t\t\t\t\t{\n
\t\t\t\t\t\tif (!(d_p = d_o.children[d_j]).detached && (d_o != d_p.defparent || !(d_p.is_image && dd.getImg(d_p, d_p.oimg.name, 1))))\n
\t\t\t\t\t\t{\n
\t\t\t\t\t\t\td_p.defx += d_dx;\n
\t\t\t\t\t\t\td_p.defy += d_dy;\n
\t\t\t\t\t\t\td_p.moveBy(d_dx, d_dy);\n
\t\t\t\t\t\t}\n
\t\t\t\t\t}\n
\t\t\t\t}\n
\t\t\t}\n
\t\t\telse if (d_o.is_image && !dd.op6 && !dd.n4)\n
\t\t\t{\n
\t\t\t\tif (dd.n6 && d_x && !d_o.defw) d_o.resizeTo(d_o.defw = dd.getImgW(d_o.oimg), d_o.defh = dd.getImgH(d_o.oimg));\n
\t\t\t\tvar d_defx = d_o.defx, d_defy = d_o.defy;\n
\t\t\t\tif (!(d_o.parent && d_o.parent != d_o.defparent) && (d_x || !d_o.detached || d_o.horizontal || d_o.vertical) && dd.getImg(d_o, d_o.oimg.name, 1))\n
\t\t\t\t\td_o.moveBy(d_o.defx-d_defx, d_o.defy-d_defy);\n
\t\t\t}\n
\t\t}\n
\t }\n
};\n
\n
\n
\n
function WINSZ(d_x)\n
{\n
\tif (d_x)\n
\t{\n
\t\tif (dd.n4 || dd.op6 && d_x&2)\n
\t\t{\n
\t\t\tdd.iW = innerWidth;\n
\t\t\tdd.iH = innerHeight;\n
\t\t\tif (dd.op6) setTimeout("WINSZ()", 0x1ff);\n
\t\t}\n
\t\twindow.onresize = new Function(\'WINSZ();\');\n
\t}\n
\telse if ((dd.n4 || dd.op6) && (innerWidth != dd.iW || innerHeight != dd.iH)) location.reload();\n
\telse if (dd.op6) setTimeout("WINSZ()", 0x1ff);\n
\telse if (!dd.n4) setTimeout(\'dd.recalc()\', 0xa);\n
}\n
WINSZ(1);\n
\n
\n
\n
function DDObj(d_o, d_i)\n
{\n
\tthis.id = d_o;\n
\tthis.cmd = \'\';\n
\tthis.cpy_n = dd.getCmdVal(this, COPY);\n
\tthis.maxoffb = dd.getCmdVal(this, MAXOFFBOTTOM, 0, 1);\n
\tthis.maxoffl = dd.getCmdVal(this, MAXOFFLEFT, 0, 1);\n
\tthis.maxoffr = dd.getCmdVal(this, MAXOFFRIGHT, 0, 1);\n
\tthis.maxofft = dd.getCmdVal(this, MAXOFFTOP, 0, 1);\n
\tvar d_j = dd_cursors.length; while(d_j--)\n
\t\tif (dd.getCmd(this, dd_cursors[d_j], 1)) this.cursor = dd_cursors[d_j].substring(2);\n
\tthis.clone = dd.getCmd(this, CLONE, 1);\n
\tthis.detach = dd.getCmd(this, DETACH_CHILDREN);\n
\tthis.scalable = dd.getCmd(this, SCALABLE, 1);\n
\tthis.horizontal = dd.getCmd(this, HORIZONTAL);\n
\tthis.noalt = dd.getCmd(this, NO_ALT, 1);\n
\tthis.nodrag = dd.getCmd(this, NO_DRAG);\n
\tthis.scroll = dd.getCmd(this, SCROLL, 1);\n
\tthis.resizable = dd.getCmd(this, RESIZABLE, 1);\n
\tthis.re_z = dd.getCmd(this, RESET_Z, 1);\n
\tthis.vertical = dd.getCmd(this, VERTICAL);\n
\tthis.maxw = dd.getCmdVal(this, MAXWIDTH, 1, 1);\n
\tthis.minw = Math.abs(dd.getCmdVal(this, MINWIDTH, 1, 1));\n
\tthis.maxh = dd.getCmdVal(this, MAXHEIGHT, 1, 1);\n
\tthis.minh = Math.abs(dd.getCmdVal(this, MINHEIGHT, 1, 1));\n
this.moved = 0\n
\tthis.name = this.id + (d_i || \'\');\n
\tthis.oimg = dd.getImg(this, this.id, 1);\n
\tthis.is_image = !!this.oimg;\n
\tthis.copies = new Array();\n
\tthis.children = new Array();\n
\tthis.parent = this.original = null;\n
\tif (this.oimg)\n
\t{\n
\t\tthis.id += \'div\' + (d_i || \'\');\n
\t\tthis.w = dd.getImgW(this.oimg);\n
\t\tthis.h = dd.getImgH(this.oimg);\n
\t\tthis.dw = this.dh = 0;\n
\t\tthis.defz = dd.Int(dd.getCssProp(this.oimg, \'z-index\',\'zIndex\',\'zIndex\')) || 1;\n
\t\tthis.defsrc = this.src = this.oimg.src;\n
\t\tthis.htm = \'<img name="\' + this.id + \'NImG"\'+\n
\t\t\t\' src="\' + this.oimg.src + \'" \'+\n
\t\t\t\'width="\' + this.w + \'" height="\' + this.h + \'">\';\n
\t\tthis.t_htm = \'<div id="\' + this.id +\n
\t\t\t\'" style="position:absolute;\'+\n
\t\t\t\'left:\' + (this.cssx = this.x = this.defx) + \'px;\'+\n
\t\t\t\'top:\' + (this.cssy = this.y = this.defy) + \'px;\'+\n
\t\t\t\'width:\' + this.w + \'px;\'+\n
\t\t\t\'height:\' + this.h + \'px;">\'+\n
\t\t\tthis.htm + \'<\\/div>\';\n
\t}\n
\telse\n
\t{\n
\t\tif (!!(this.div = dd.getDiv(this.id)) && typeof this.div.style != "undefined") this.css = this.div.style;\n
\t\tdd.getWH(this);\n
\t\tif (this.div)\n
\t\t{\n
\t\t\tthis.div.ddObj = this;\n
\t\t\tthis.div.pos_rel = ("" + (this.div.parentNode? this.div.parentNode.tagName : this.div.parentElement? this.div.parentElement.tagName : \'\').toLowerCase().indexOf(\'body\') < 0);\n
\t\t}\n
\t\tdd.getPageXY(this.div);\n
\t\tthis.defx = this.x = dd.x;\n
\t\tthis.defy = this.y = dd.y;\n
\t\tdd.getCssXY(this);\n
\t\tthis.defz = dd.Int(dd.getCssProp(this.div, \'z-index\',\'zIndex\',\'zIndex\'));\n
\t}\n
\tthis.defw = this.w || 0;\n
\tthis.defh = this.h || 0;\n
}\n
\n
DDObj.prototype.moveBy = function(d_x, d_y, d_kds, d_o)\n
{\n
\tif (!this.div) return;\n
\tthis.x += (d_x = dd.Int(d_x));\n
\tthis.y += (d_y = dd.Int(d_y));\n
\tif (!d_kds || this.is_image || this.parent != this.defparent)\n
\t{\n
\t\t(d_o = this.css || this.div).left = (this.cssx += d_x) + dd.px;\n
\t\td_o.top = (this.cssy += d_y) + dd.px;\n
\t}\n
\tvar d_i = this.children.length; while (d_i--)\n
\t{\n
\t\tif (!(d_o = this.children[d_i]).detached) d_o.moveBy(d_x, d_y, 1);\n
\t\td_o.defx += d_x;\n
\t\td_o.defy += d_y;\n
\t}\n
};\n
\n
DDObj.prototype.moveTo = function(d_x, d_y)\n
{\n
\tthis.moveBy(dd.Int(d_x)-this.x, dd.Int(d_y)-this.y);\n
};\n
\n
DDObj.prototype.hide = function(d_m, d_o, d_p)\n
{\n
\tif (this.div && this.visible)\n
\t{\n
\t\td_p = this.css || this.div;\n
\t\tif (d_m && !dd.n4)\n
\t\t{\n
\t\t\tthis.display = dd.getCssProp(this.div, "display", "display", "display");\n
\t\t\tif (this.oimg)\n
\t\t\t{\n
\t\t\t\tthis.oimg.display = dd.getCssProp(this.oimg, "display", "display", "display");\n
\t\t\t\tthis.oimg.style.display = "none";\n
\t\t\t}\n
\t\t\td_p.display = "none";\n
\t\t\tdd.recalc();\n
\t\t}\n
\t\telse d_p.visibility = "hidden";\n
\t}\n
\tthis.visible = false;\n
\tvar d_i = this.children.length; while (d_i--)\n
\t\tif (!(d_o = this.children[d_i]).detached) d_o.hide(d_m);\n
};\n
\n
DDObj.prototype.show = function(d_o, d_p)\n
{\n
\tif (this.div)\n
\t{\n
\t\td_p = this.css || this.div;\n
\t\tif (d_p.display && d_p.display == "none")\n
\t\t{\n
\t\t\td_p.display = this.display || "block";\n
\t\t\tif (this.oimg) this.oimg.style.display = this.oimg.display || "inline";\n
\t\t\tdd.recalc();\n
\t\t}\n
\t\telse d_p.visibility = "visible";\n
\t}\n
\tthis.visible = true;\n
\tvar d_i = this.children.length; while (d_i--)\n
\t\tif (!(d_o = this.children[d_i]).detached) d_o.show();\n
};\n
\n
DDObj.prototype.resizeTo = function(d_w, d_h, d_o)\n
{\n
\tif (!this.div) return;\n
\td_w = (this.w = dd.Int(d_w))-this.dw;\n
\td_h = (this.h = dd.Int(d_h))-this.dh;\n
\tif (dd.n4)\n
\t{\n
\t\tthis.div.resizeTo(d_w, d_h);\n
\t\tif (this.is_image)\n
\t\t{\n
\t\t\tthis.write(\'<img src="\' + this.src + \'" width="\' + d_w + \'" height="\' + d_h + \'">\');\n
\t\t\t(this.nimg = this.div.document.images[0]).src = this.src;\n
\t\t}\n
\t}\n
\telse if (typeof this.css.pixelWidth != "undefined")\n
\t{\n
\t\tthis.css.pixelWidth = d_w;\n
\t\tthis.css.pixelHeight = d_h;\n
\t\tif (this.is_image)\n
\t\t{\n
\t\t\t(d_o = this.nimg.style).pixelWidth = d_w;\n
\t\t\td_o.pixelHeight = d_h;\n
\t\t}\n
\t}\n
\telse\n
\t{\n
\t\tthis.css.width = d_w + dd.px;\n
\t\tthis.css.height = d_h + dd.px;\n
\t\tif (this.is_image)\n
\t\t{\n
\t\t\t(d_o = this.nimg).width = d_w;\n
\t\t\td_o.height = d_h;\n
\t\t\tif (!d_o.complete) d_o.src = this.src;\n
\t\t}\n
\t}\n
};\n
\n
DDObj.prototype.resizeBy = function(d_dw, d_dh)\n
{\n
\tthis.resizeTo(this.w+dd.Int(d_dw), this.h+dd.Int(d_dh));\n
};\n
\n
DDObj.prototype.swapImage = function(d_x, d_cp)\n
{\n
\tif (!this.nimg) return;\n
\tthis.nimg.src = d_x;\n
\tthis.src = this.nimg.src;\n
\tif (d_cp)\n
\t{\n
\t\tvar d_i = this.copies.length; while (d_i--)\n
\t\t\tthis.copies[d_i].src = this.copies[d_i].nimg.src = this.nimg.src;\n
\t}\n
};\n
\n
DDObj.prototype.setBgColor = function(d_x)\n
{\n
\tif (dd.n4 && this.div) this.div.bgColor = d_x;\n
\telse if (this.css) this.css.background = d_x;\n
\tthis.bgColor = d_x;\n
};\n
\n
DDObj.prototype.write = function(d_x, d_o)\n
{\n
\tthis.text = d_x;\n
\tif (!this.div) return;\n
\tif (dd.n4)\n
\t{\n
\t\t(d_o = this.div.document).open();\n
\t\td_o.write(d_x);\n
\t\td_o.close();\n
\t\tdd.getWH(this);\n
\t}\n
\telse if (!dd.op6)\n
\t{\n
\t\tthis.css.height = \'auto\';\n
\t\tthis.div.innerHTML = d_x;\n
\t\tif (!dd.ie4) dd.recalc();\n
\t\tif (dd.ie4 || dd.n6) setTimeout(\'dd.recalc();\', 0); // n6.0: recalc twice\n
\t}\n
};\n
\n
DDObj.prototype.copy = function(d_n, d_p)\n
{\n
\tif (!this.oimg) return;\n
\td_n = d_n || 1;\n
\twhile (d_n--)\n
\t{\n
\t\tvar d_l = this.copies.length,\n
\t\td_o = new DDObj(this.name+this.cmd, d_l+1);\n
\t\tif (dd.n4)\n
\t\t{\n
\t\t\td_o.id = (d_p = new Layer(d_o.w)).name;\n
\t\t\td_p.clip.height = d_o.h;\n
\t\t\td_p.visibility = \'show\';\n
\t\t\t(d_p = d_p.document).open();\n
\t\t\td_p.write(d_o.htm);\n
\t\t\td_p.close();\n
\t\t}\n
\t\telse if (dd.db.insertAdjacentHTML) dd.db.insertAdjacentHTML("AfterBegin", d_o.t_htm);\n
\t\telse if (document.createElement && dd.db && dd.db.appendChild)\n
\t\t{\n
\t\t\tdd.db.appendChild(d_p = document.createElement(\'div\'));\n
\t\t\td_p.innerHTML = d_o.htm;\n
\t\t\td_p.id = d_o.id;\n
\t\t\td_p.style.position = \'absolute\';\n
\t\t\td_p.style.width = d_o.w + \'px\';\n
\t\t\td_p.style.height = d_o.h + \'px\';\n
\t\t}\n
\t\telse if (dd.db && dd.db.innerHTML) dd.db.innerHTML += d_o.t_htm;\n
\t\td_o.defz = this.defz+1+d_l;\n
\t\tdd.addProps(d_o);\n
\t\td_o.original = this;\n
\t\tdd.addElt(d_o, this);\n
\t\tif (this.parent)\n
\t\t{\n
\t\t\tthis.parent.addChild(d_o, this.detached);\n
\t\t\td_o.defparent = this.defparent;\n
\t\t}\n
\t\td_o.moveTo(d_o.defx = this.defx, d_o.defy = this.defy);\n
\t\tif (dd.n4) d_o.defsrc = d_o.src = this.defsrc;\n
\t\td_o.swapImage(this.src);\n
\t}\n
};\n
\n
DDObj.prototype.addChild = function(d_kd, detach, defp)\n
{\n
\tif (typeof d_kd != "object") d_kd = dd.elements[d_kd];\n
\tif (d_kd.parent && d_kd.parent == this || d_kd == this || !d_kd.is_image && d_kd.defparent && !defp) return;\n
\n
\tthis.children[this.children.length] = this.children[d_kd.name] = d_kd;\n
\td_kd.detached = detach || 0;\n
\tif (defp) d_kd.defparent = this;\n
\telse if (this == d_kd.defparent && d_kd.is_image) dd.getImg(this, d_kd.oimg.name, 1);\n
\tif (!d_kd.defparent || this != d_kd.defparent)\n
\t{\n
\t\td_kd.defx = d_kd.x;\n
\t\td_kd.defy = d_kd.y;\n
\t}\n
\tif (!detach)\n
\t{\n
\t\td_kd.defz = d_kd.defz+this.defz-(d_kd.parent? d_kd.parent.defz : 0)+(!d_kd.is_image*1);\n
\t\td_kd.setZ(d_kd.z+this.z-(d_kd.parent? d_kd.parent.z : 0)+(!d_kd.is_image*1), 1);\n
\t}\n
\tif (d_kd.parent) d_kd.parent._removeChild(d_kd, 1);\n
\td_kd.parent = this;\n
};\n
\n
DDObj.prototype._removeChild = function(d_kd, d_newp)\n
{\n
\tif (typeof d_kd != "object") d_kd = this.children[d_kd];\n
\tvar d_oc = this.children, d_nc = new Array();\n
\tfor (var d_i = 0; d_i < d_oc.length; d_i++)\n
\t\tif (d_oc[d_i] != d_kd) d_nc[d_nc.length] = d_oc[d_i];\n
\tthis.children = d_nc;\n
\td_kd.parent = null;\n
\tif (!d_newp)\n
\t{\n
\t\td_kd.detached = d_kd.defp = 0;\n
\t\tif (d_kd.is_image) dd.getImg(d_kd, d_kd.oimg.name, 1);\n
\t}\n
};\n
\n
DDObj.prototype.attachChild = function(d_kd)\n
{\n
\t(d_kd = (typeof d_kd != "object")? this.children[d_kd]: d_kd).detached = 0;\n
\td_kd.setZ(d_kd.defz + this.z-this.defz, 1);\n
};\n
\n
DDObj.prototype.detachChild = function(d_kd)\n
{\n
\t(d_kd = (typeof d_kd != "object")? this.children[d_kd]: d_kd).detached = 1;\n
};\n
\n
DDObj.prototype.setZ = function(d_x, d_kds)\n
{\n
\tif (d_kds)\n
\t{\n
\t\tvar d_dz = d_x-this.z,\n
\t\td_i = this.children.length; while (d_i--)\n
\t\t\tif (!(d_o = this.children[d_i]).detached) d_o.setZ(d_o.z+d_dz, 1);\n
\t}\n
\tdd.z = Math.max(dd.z, this.z = this.div? ((this.css || this.div).zIndex = d_x) : 0);\n
};\n
\n
DDObj.prototype.maximizeZ = function()\n
{\n
\tthis.setZ(dd.z+1, 1);\n
};\n
\n
DDObj.prototype._resetZ = function(d_o)\n
{\n
\tif (this.re_z || dd.re_z)\n
\t{\n
\t\tthis.setZ(this.defz);\n
\t\tvar d_i = this.children.length; while (d_i--)\n
\t\t\tif (!(d_o = this.children[d_i]).detached) d_o.setZ(d_o.defz);\n
\t}\n
};\n
\n
DDObj.prototype.setCursor = function(d_x)\n
{\n
\tthis._setCrs(this.cursor = (d_x.indexOf(\'c:\')+1)? d_x.substring(2) : d_x);\n
};\n
\n
DDObj.prototype._setCrs = function(d_x)\n
{\n
\tif (this.css) this.css.cursor = ((!dd.ie || dd.iemac) && d_x == \'hand\')? \'pointer\' : d_x;\n
};\n
\n
DDObj.prototype.setDraggable = function(d_x)\n
{\n
\tthis.nodrag = !d_x*1;\n
\tthis._setCrs(d_x? this.cursor : \'auto\');\n
};\n
\n
DDObj.prototype.setResizable = function(d_x)\n
{\n
\tthis.resizable = d_x*1;\n
\tif (d_x) this.scalable = 0;\n
};\n
\n
DDObj.prototype.setScalable = function(d_x)\n
{\n
\tthis.scalable = d_x*1;\n
\tif (d_x) this.resizable = 0;\n
};\n
\n
DDObj.prototype.del = function(d_os, d_o)\n
{\n
\tif (this.parent && this.parent._removeChild) this.parent._removeChild(this);\n
\tif (this.original)\n
\t{\n
\t\tthis.hide();\n
\t\tif (this.original.copies)\n
\t\t{\n
\t\t\td_os = new Array();\n
\t\t\tfor (var d_i = 0; d_i < this.original.copies.length; d_i++)\n
\t\t\t\tif ((d_o = this.original.copies[d_i]) != this) d_os[d_os.length] = d_os[d_o.name] = d_o;\n
\t\t\tthis.original.copies = d_os;\n
\t\t}\n
\t}\n
\telse if (this.is_image)\n
\t{\n
\t\tthis.hide();\n
\t\tif (this.oimg)\n
\t\t{\n
\t\t if (dd.n4) this.oimg.src = this.defsrc;\n
\t\t else this.oimg.style.visibility = \'visible\';\n
\t\t}\n
\t}\n
\telse if (this.moveTo)\n
\t{\n
\t\tif (this.css) this.css.cursor = \'default\';\n
\t\tthis.moveTo(this.defx, this.defy);\n
\t\tthis.resizeTo(this.defw, this.defh);\n
\t}\n
\td_os = new Array();\n
\tfor (var d_i = 0; d_i < dd.elements.length; d_i++)\n
\t{\n
\t\tif ((d_o = dd.elements[d_i]) != this) d_os[d_os.length] = d_os[d_o.name] = d_o;\n
\t\telse d_o._free();\n
\t}\n
\tdd.elements = d_os;\n
\tif (!dd.op6 && !dd.n4) dd.recalc();\n
};\n
\n
DDObj.prototype._free = function()\n
{\n
\tfor (var d_i in this)\n
\t\tthis[d_i] = null;\n
\tdd.elements[this.name] = null;\n
};\n
\n
\n
\n
dd.n4RectVis = function(vis)\n
{\n
\tfor (var d_i = 4; d_i--;)\n
\t{\n
\t\tdd.rectI[d_i].visibility = dd.rectA[d_i].visibility = vis? \'show\' : \'hide\';\n
\t\tif (vis) dd.rectI[d_i].zIndex = dd.rectA[d_i].zIndex = dd.z+2;\n
\t}\n
};\n
\n
dd.n4RectPos = function(d_o, d_x, d_y, d_w, d_h)\n
{\n
\td_o.x = d_x;\n
\td_o.y = d_y;\n
\td_o.clip.width = d_w;\n
\td_o.clip.height = d_h;\n
}; \n
\n
// NN4: draw im resize rectangle.\n
dd.n4Rect = function(d_w, d_h)\n
{\n
\tif (!dd.rectI)\n
\t{\n
\t\tdd.rectI = new Array();\n
\t\tdd.rectA = new Array();\n
\t}\n
\tif (!dd.rectI[0])\n
\t{\n
\t\tfor (var d_i = 4; d_i--;)\n
\t\t{\n
\t\t\t(dd.rectI[d_i] = new Layer(1)).bgColor = \'#000000\';\n
\t\t\t(dd.rectA[d_i] = new Layer(1)).bgColor = \'#ffffff\';\n
\t\t}\n
\t}\n
\tif (!dd.rectI[0].visibility || dd.rectI[0].visibility == \'hide\') dd.n4RectVis(1);\n
\tdd.obj.w = d_w;\n
\tdd.obj.h = d_h;\n
\tfor (var d_i = 4; d_i--;)\n
\t{\n
\t\tdd.n4RectPos(dd.rectI[d_i], dd.obj.x + (!(d_i-1)? (dd.obj.w-1) : 0), dd.obj.y + (!(d_i-2)? (dd.obj.h-1) : 0), d_i&1 || dd.obj.w, !(d_i&1) || dd.obj.h);\n
\t\tdd.n4RectPos(dd.rectA[d_i], !(d_i-1)? dd.rectI[1].x+1 : (dd.obj.x-1), !(d_i-2)? dd.rectI[2].y+1 : (dd.obj.y-1), d_i&1 || dd.obj.w+2, !(d_i&1) || dd.obj.h+2);\n
\t}\n
};\n
\n
dd.reszTo = function(d_w, d_h)\n
{\n
\tif (dd.n4 && dd.obj.is_image) dd.n4Rect(d_w, d_h);\n
\telse dd.obj.resizeTo(d_w, d_h);\n
};\n
\n
dd.embedVis = function(d_vis)\n
{\n
\tvar d_o = new Array(\'iframe\', \'applet\', \'embed\', \'object\');\n
\tvar d_i = d_o.length; while (d_i--)\n
\t{\n
\t\tvar d_p = dd.ie? document.all.tags(d_o[d_i]) : document.getElementsByTagName? document.getElementsByTagName(d_o[d_i]) : null;\n
\t\tif (d_p)\n
\t\t{\n
\t\t\tvar d_j = d_p.length; while (d_j--)\n
\t\t\t{\n
\t\t\t\tvar d_q = d_p[d_j];\n
\t\t\t\twhile (d_q.offsetParent || d_q.parentNode)\n
\t\t\t\t{\n
\t\t\t\t\tif ((d_q = d_q.parentNode || d_q.offsetParent || null) == dd.obj.div)\n
\t\t\t\t\t{\n
\t\t\t\t\t\td_p[d_j].style.visibility = d_vis;\n
\t\t\t\t\t\tbreak;\n
\t\t\t\t\t}\n
\t\t\t\t}\n
\t\t\t}\n
\t\t}\n
\t}\n
};\n
\n
dd.maxOffX = function(d_x, d_y)\n
{\n
\treturn (\n
\t\t(dd.obj.maxoffl+1 && (d_y = dd.obj.defx-dd.obj.maxoffl)-d_x > 0\n
\t\t|| dd.obj.maxoffr+1 && (d_y = dd.obj.defx+dd.obj.maxoffr)-d_x < 0)? d_y\n
\t\t: d_x\n
\t);\n
};\n
\n
dd.maxOffY = function(d_x, d_y)\n
{\n
\treturn (\n
\t\t(dd.obj.maxofft+1 && (d_y = dd.obj.defy-dd.obj.maxofft)-d_x > 0\n
\t\t|| dd.obj.maxoffb+1 && (d_y = dd.obj.defy+dd.obj.maxoffb)-d_x < 0)? d_y\n
\t\t: d_x\n
\t);\n
};\n
\n
dd.inWndW = function(d_x, d_y)\n
{\n
\tvar d_wx = dd.getScrollX(),\n
\td_ww = dd.getWndW();\n
\treturn (\n
\t\t((d_y = d_wx+2)-d_x > 0) || ((d_y = d_wx+d_ww+dd.obj.w-2)-d_x < 0)? d_y\n
\t\t: d_x\n
\t);\n
};\n
\n
dd.inWndH = function(d_x, d_y)\n
{\n
\tvar d_wy = dd.getScrollY(),\n
\td_wh = dd.getWndH();\n
\treturn (\n
\t\t((d_y = d_wy+2)-d_x > 0) || ((d_y = d_wy+d_wh+dd.obj.h-2)-d_x < 0)? d_y\n
\t\t: d_x\n
\t);\n
};\n
\n
// These two funcs limit the size of element when mouseresized.\n
// Implemented 22.5.2003 by Gregor L\xc3\x83\xc2\xbctolf <gregor@milou.ch>, modified by Walter Zorn\n
dd.limW = function(d_w)\n
{\n
\treturn (\n
\t\t(dd.obj.minw-d_w > 0)? dd.obj.minw\n
\t\t: (dd.obj.maxw > 0 && dd.obj.maxw-d_w < 0)? dd.obj.maxw\n
\t\t: d_w\n
\t);\n
};\n
\n
dd.limH = function(d_h)\n
{\n
\treturn (\n
\t\t(dd.obj.minh-d_h > 0)? dd.obj.minh\n
\t\t: (dd.obj.maxh > 0 && dd.obj.maxh-d_h < 0)? dd.obj.maxh\n
\t\t: d_h\n
\t);\n
};\n
\n
\n
// Optional autoscroll-page functionality. Courtesy Cedric Savarese.\n
// Implemented by Walter Zorn\n
function DDScroll()\n
{\n
\tif (!dd.obj || !dd.obj.scroll && !dd.scroll || dd.op || dd.ie4 || dd.whratio)\n
\t{\n
\t\tdd.scrx = dd.scry = 0;\n
\t\treturn;\n
\t}\n
\tvar d_bnd = 0x1c,\n
\td_wx = dd.getScrollX(), d_wy = dd.getScrollY();\n
\tif (dd.msmoved)\n
\t{\n
\t\tvar d_ww = dd.getWndW(), d_wh = dd.getWndH(), d_y;\n
\t\tdd.scrx = ((d_y = dd.e.x-d_ww-d_wx+d_bnd) > 0)? (d_y>>=2)*d_y\n
\t\t\t: ((d_y = d_wx+d_bnd-dd.e.x) > 0)? -(d_y>>=2)*d_y\n
\t\t\t: 0;\n
\t\tdd.scry = ((d_y = dd.e.y-d_wh-d_wy+d_bnd) > 0)? (d_y>>=2)*d_y\n
\t\t\t: ((d_y = d_wy+d_bnd-dd.e.y) > 0)? -(d_y>>=2)*d_y\n
\t\t\t: 0;\n
\t}\n
\tif (dd.scrx || dd.scry)\n
\t{\n
\t\twindow.scrollTo(\n
\t\t\td_wx + (dd.scrx = dd.obj.is_resized? dd.limW(dd.obj.w+dd.scrx)-dd.obj.w : dd.obj.vertical? 0 : (dd.maxOffX(dd.obj.x+dd.scrx)-dd.obj.x)),\n
\t\t\td_wy + (dd.scry = dd.obj.is_resized? dd.limH(dd.obj.h+dd.scry)-dd.obj.h : dd.obj.horizontal? 0 : (dd.maxOffY(dd.obj.y+dd.scry)-dd.obj.y))\n
\t\t);\n
\t\tdd.obj.is_dragged? dd.obj.moveTo(dd.obj.x+dd.getScrollX()-d_wx, dd.obj.y+dd.getScrollY()-d_wy)\n
\t\t\t: dd.reszTo(dd.obj.w+dd.getScrollX()-d_wx, dd.obj.h+dd.getScrollY()-d_wy);\n
\t}\n
\tdd.msmoved = 0;\n
\twindow.setTimeout(\'DDScroll()\', 0x33);\n
}\n
\n
\n
\n
function PICK(d_ev)\n
{\n
\tdd.e = new dd.evt(d_ev);\n
\tif (dd.e.x >= dd.getWndW()+dd.getScrollX() || dd.e.y >= dd.getWndH()+dd.getScrollY()) return true; // on scrollbar\n
\tvar d_o, d_cmp = -1, d_i = dd.elements.length; while (d_i--)\n
\t{\n
\t\td_o = dd.elements[d_i];\n
\t\tif (dd.n4 && dd.e.but > 1 && dd.e.src == d_o.oimg && !d_o.clone) return false;\n
\t\tif (d_o.visible && dd.e.but <= 1 && dd.e.x >= d_o.x && dd.e.x <= d_o.x+d_o.w && dd.e.y >= d_o.y && dd.e.y <= d_o.y+d_o.h)\n
\t\t{\n
\t\t\tif (d_o.z > d_cmp && dd.e.src.tag.indexOf(\'input\') < 0 && dd.e.src.tag.indexOf(\'textarea\') < 0 && dd.e.src.tag.indexOf(\'select\') < 0 && dd.e.src.tag.indexOf(\'option\') < 0)\n
\t\t\t{\n
\t\t\t\td_cmp = d_o.z;\n
\t\t\t\tdd.obj = d_o;\n
\t\t\t}\n
\t\t}\n
\t}\n
\tif (dd.obj)\n
\t{\n
\t\tif (dd.obj.nodrag) dd.obj = null;\n
\t\telse\n
\t\t{\n
\t\t\tdd.e.e.cancelBubble = true;\n
\t\t\tvar d_rsz = dd.e.modifKey && (dd.obj.resizable || dd.obj.scalable);\n
\t\t\tif (dd.op && !dd.op6)\n
\t\t\t{\n
\t\t\t\t(d_o = document.getElementById(\'OpBlUr\')).style.pixelLeft = dd.e.x;\n
\t\t\t\td_o.style.pixelTop = dd.e.y;\n
\t\t\t\t(d_o = d_o.children[0].children[0]).focus();\n
\t\t\t\td_o.blur();\n
\t\t\t}\n
\t\t\telse if (dd.ie && !dd.ie4)\n
\t\t\t{\n
\t\t\t\tif (document.selection && document.selection.empty) document.selection.empty();\n
\t\t\t\tdd.db.onselectstart = function()\n
\t\t\t\t{\n
\t\t\t\t\tevent.returnValue = false;\n
\t\t\t\t};\n
\t\t\t}\n
\t\t\tif (d_rsz)\n
\t\t\t{\n
\t\t\t\tdd.obj._setCrs(\'se-resize\');\n
\t\t\t\tdd.obj.is_resized = 1;\n
\t\t\t\tdd.whratio = dd.obj.scalable? dd.obj.defw/dd.obj.defh : 0;\n
\t\t\t\tif (dd.ie)\n
\t\t\t\t{\n
\t\t\t\t\tif (dd.ie4)\n
\t\t\t\t\t{\n
\t\t\t\t\t\twindow.dd_x = dd.getScrollX();\n
\t\t\t\t\t\twindow.dd_y = dd.getScrollY();\n
\t\t\t\t\t}\n
\t\t\t\t\tsetTimeout(\n
\t\t\t\t\t\t\'if (dd.obj && document.selection && document.selection.empty)\'+\n
\t\t\t\t\t\t\'{\'+\n
\t\t\t\t\t\t\t\'document.selection.empty();\'+\n
\t\t\t\t\t\t\t\'if (dd.ie4) window.scrollTo(window.dd_x, window.dd_y);\'+\n
\t\t\t\t\t\t\'}\'\n
\t\t\t\t\t,0);\n
\t\t\t\t}\n
\t\t\t\tdd.setEvtHdl(1, RESIZE);\n
\t\t\t\tdd.reszTo(dd.obj.w, dd.obj.h);\n
\t\t\t}\n
\t\t\telse if (!dd.obj.nodrag)\n
\t\t\t{\n
\t\t\t\tdd.obj.is_dragged = 1;\n
\t\t\t\tdd.setEvtHdl(1, DRAG);\n
\t\t\t}\n
\t\t\tdd.setEvtHdl(2, DROP);\n
\t\t\tdd.embedVis(\'hidden\');\n
\t\t\tdd.obj.maximizeZ();\n
\t\t\tdd.ofx = dd.obj.x+dd.obj.w-dd.e.x;\n
\t\t\tdd.ofy = dd.obj.y+dd.obj.h-dd.e.y;\n
\t\t\tif (window.my_PickFunc) my_PickFunc();\n
\t\t\tDDScroll();\n
\t\t\treturn !(\n
\t\t\t\tdd.obj.is_resized\n
\t\t\t\t|| dd.n4 && dd.obj.is_image\n
\t\t\t\t|| dd.n6 || dd.w3c\n
\t\t\t);\n
\t\t}\n
\t}\n
\tif (dd.downFunc) return dd.downFunc(d_ev);\n
\treturn true;\n
}\n
\n
function DRAG(d_ev)\n
{\n
\tif (!dd.obj || !dd.obj.visible) return true;\n
\tif (dd.ie4 || dd.w3c || dd.n6 || dd.obj.children.length > 0xf)\n
\t{\n
\t\tif (dd.wait) return false;\n
\t\tdd.wait = 1;\n
\t\tsetTimeout(\'dd.wait = 0;\', 5);\n
\t}\n
\tdd.e = new dd.evt(d_ev);\n
\tif (dd.ie && !dd.e.but)\n
\t{\n
\t\tDROP(d_ev);\n
\t\treturn true;\n
\t}\n
\tdd.msmoved = 1;\n
\tdd.obj.moveTo(\n
\t\tdd.obj.vertical? dd.obj.x : dd.maxOffX(dd.inWndW(dd.ofx+dd.e.x)-dd.obj.w),\n
\t\tdd.obj.horizontal? dd.obj.y : dd.maxOffY(dd.inWndH(dd.ofy+dd.e.y)-dd.obj.h)\n
\t);\n
\n
\tif (window.my_DragFunc) my_DragFunc();\n
\treturn false;\n
}\n
\n
function RESIZE(d_ev)\n
{\n
\tif (!dd.obj || !dd.obj.visible) return true;\n
\tif (dd.wait) return false;\n
\tdd.wait = 1;\n
\tsetTimeout(\'dd.wait = 0;\', 5);\n
\tdd.e = new dd.evt(d_ev);\n
\tif (dd.ie && !dd.e.but)\n
\t{\n
\t\tDROP(d_ev);\n
\t\treturn true;\n
\t}\n
\tdd.msmoved = 1;\n
\tvar d_w = dd.limW(dd.inWndW(dd.ofx+dd.e.x)-dd.obj.x);\n
\tif (!dd.whratio) var d_h = dd.limH(dd.inWndH(dd.ofy+dd.e.y)-dd.obj.y);\n
\telse\n
\t{\n
\t\tvar d_h = dd.limH(dd.inWndH(Math.round(d_w/dd.whratio)+dd.obj.y)-dd.obj.y);\n
\t\td_w = Math.round(d_h*dd.whratio);\n
\n
}\n
\tdd.reszTo(d_w, d_h);\n
\tif (window.my_ResizeFunc) my_ResizeFunc();\n
\treturn false;\n
}\n
\n
function DROP(d_ev)\n
{\n
\tif (dd.obj)\n
\t{\n
\t\tif (dd.obj.is_dragged)\n
\t\t{\n
\t\t\tif (!dd.obj.is_image) dd.getWH(dd.obj);\n
\t\t}\n
\t\telse if (dd.n4)\n
\t\t{\n
\t\t\tif (dd.obj.is_image)\n
\t\t\t{\n
\t\t\t\tdd.n4RectVis(0);\n
\t\t\t\tdd.obj.resizeTo(dd.obj.w, dd.obj.h);\n
\t\t\t}\n
\t\t}\n
\t\tif (!dd.n4 && !dd.op6 || !dd.obj.is_image) dd.recalc();\n
\t\tdd.setEvtHdl(1, dd.moveFunc);\n
\t\tdd.setEvtHdl(2, dd.upFunc);\n
\t\tif (dd.db) dd.db.onselectstart = null;\n
\t\tdd.obj._setCrs(dd.obj.cursor);\n
\t\tdd.embedVis(\'visible\');\n
\t\tdd.obj._resetZ();\n
\t\tif (window.my_DropFunc)\n
\t\t{\n
\t\t\tdd.e = new dd.evt(d_ev);\n
\t\t\tmy_DropFunc();\n
\t\t}\n
\t\tdd.msmoved = dd.obj.is_dragged = dd.obj.is_resized = dd.whratio = 0;\n
\t\tdd.obj = null;\n
\t}\n
\tdd.setEvtHdl(0, PICK);\n
}\n
\n
function compare_x(a,b){\n
return a.x-b.x;\n
}\n
\n
\n
\n
function SET_DHTML2()\n
{\n
\tdd.elements = new Array();\n
\tvar d_a = SET_DHTML2.arguments, d_ai, d_htm = \'\', d_o, d_i = d_a.length; while (d_i--)\n
\t{\n
\t\tif (dd.op6)\n
\t\t{\n
\t\t\tvar d_t0 = (new Date()).getTime();\n
\t\t\twhile ((new Date()).getTime()-d_t0 < 0x99);\n
\t\t}\n
\t\tif (!(d_ai = d_a[d_i]).indexOf(\'c:\')) dd.cursor = d_ai.substring(2);\n
\t\telse if (d_ai == NO_ALT) dd.noalt = 1;\n
\t\telse if (d_ai == SCROLL) dd.scroll = 1;\n
\t\telse if (d_ai == RESET_Z) dd.re_z = 1;\n
\t\telse if (d_ai == RESIZABLE) dd.resizable = 1;\n
\t\telse if (d_ai == SCALABLE) dd.scalable = 1;\n
\t\telse\n
\t\t{\n
\t\t\td_o = new DDObj(d_ai);\n
\t\t\tdd.addElt(d_o);\n
\t\t\td_htm += d_o.t_htm || \'\';\n
\t\t\tif (d_o.oimg && d_o.cpy_n)\n
\t\t\t{\n
\t\t\t\tvar d_j = 0; while (d_j < d_o.cpy_n)\n
\t\t\t\t{\n
\t\t\t\t\tvar d_p = new DDObj(d_o.name+d_o.cmd, ++d_j);\n
\t\t\t\t\tdd.addElt(d_p, d_o);\n
\t\t\t\t\td_p.defz = d_o.defz+d_j;\n
\t\t\t\t\td_p.original = d_o;\n
\t\t\t\t\td_htm += d_p.t_htm;\n
\t\t\t\t}\n
\t\t\t}\n
\t\t}\n
\t}\n
\tif (dd.n4 || dd.n6 || dd.ie || dd.op || dd.w3c) document.write(\n
\t\t(dd.n4? \'<div style="position:absolute;"><\\/div>\\n\'\n
\t\t: (dd.op && !dd.op6)? \'<div id="OpBlUr" style="position:absolute;visibility:hidden;width:0px;height:0px;"><form><input type="text" style="width:0px;height:0px;"><\\/form><\\/div>\'\n
\t\t: \'\') + d_htm\n
\t);\n
\tdd.z = 0x33;\n
\td_i = dd.elements.length; while (d_i--)\n
\t{\n
\t\tdd.addProps(d_o = dd.elements[d_i]);\n
\t\tif (d_o.is_image && !d_o.original && !d_o.clone)\n
\t\t\tdd.n4? d_o.oimg.src = spacer : d_o.oimg.style.visibility = \'hidden\';\n
\t}\n
\tdd.mkWzDom();\n
\tif (window.onload) dd.loadFunc = window.onload;\n
\twindow.onload = dd.initz;\n
\twindow.onunload = dd.finlz;\n
\tdd.setEvtHdl(0, PICK);\n
\n
\n
for (var i=0;i < lines.length;i++){ \n
lines[i]=lines[i].sort(compare_x);\n
}\n
\n
lt = dd.elements.top;\n
rt = dd.elements.right;\n
rb = dd.elements.bottom;\n
lb = dd.elements.left;\n
grips = [lt, rt, rb, lb];\n
\n
\n
\n
\n
//******************************\n
hideGrips();\n
//main.setZ(main.z+1);\n
//dd.obj.ondblclick = showGrips;//*****************************************************************************\n
\n
}\n
\n
\n
\n
\n
\n
\n
\n
function SET_DHTML()\n
{\n
\tdd.elements = new Array();\n
\tvar d_a = SET_DHTML.arguments, d_ai, d_htm = \'\', d_o, d_i = d_a.length; while (d_i--)\n
\t{\n
\t\tif (dd.op6)\n
\t\t{\n
\t\t\tvar d_t0 = (new Date()).getTime();\n
\t\t\twhile ((new Date()).getTime()-d_t0 < 0x99);\n
\t\t}\n
\t\tif (!(d_ai = d_a[d_i]).indexOf(\'c:\')) dd.cursor = d_ai.substring(2);\n
\t\telse if (d_ai == NO_ALT) dd.noalt = 1;\n
\t\telse if (d_ai == SCROLL) dd.scroll = 1;\n
\t\telse if (d_ai == RESET_Z) dd.re_z = 1;\n
\t\telse if (d_ai == RESIZABLE) dd.resizable = 1;\n
\t\telse if (d_ai == SCALABLE) dd.scalable = 1;\n
\t\telse\n
\t\t{\n
\t\t\td_o = new DDObj(d_ai);\n
\t\t\tdd.addElt(d_o);\n
\t\t\td_htm += d_o.t_htm || \'\';\n
\t\t\tif (d_o.oimg && d_o.cpy_n)\n
\t\t\t{\n
\t\t\t\tvar d_j = 0; while (d_j < d_o.cpy_n)\n
\t\t\t\t{\n
\t\t\t\t\tvar d_p = new DDObj(d_o.name+d_o.cmd, ++d_j);\n
\t\t\t\t\tdd.addElt(d_p, d_o);\n
\t\t\t\t\td_p.defz = d_o.defz+d_j;\n
\t\t\t\t\td_p.original = d_o;\n
\t\t\t\t\td_htm += d_p.t_htm;\n
\t\t\t\t}\n
\t\t\t}\n
\t\t}\n
\t}\n
\tif (dd.n4 || dd.n6 || dd.ie || dd.op || dd.w3c) document.write(\n
\t\t(dd.n4? \'<div style="position:absolute;"><\\/div>\\n\'\n
\t\t: (dd.op && !dd.op6)? \'<div id="OpBlUr" style="position:absolute;visibility:hidden;width:0px;height:0px;"><form><input type="text" style="width:0px;height:0px;"><\\/form><\\/div>\'\n
\t\t: \'\') + d_htm\n
\t);\n
\tdd.z = 0x33;\n
\td_i = dd.elements.length; while (d_i--)\n
\t{\n
\t\tdd.addProps(d_o = dd.elements[d_i]);\n
\t\tif (d_o.is_image && !d_o.original && !d_o.clone)\n
\t\t\tdd.n4? d_o.oimg.src = spacer : d_o.oimg.style.visibility = \'hidden\';\n
\t}\n
\tdd.mkWzDom();\n
\tif (window.onload) dd.loadFunc = window.onload;\n
\twindow.onload = dd.initz;\n
\twindow.onunload = dd.finlz;\n
\tdd.setEvtHdl(0, PICK);\n
\n
// from this point. Written by jonathan\n
//creation of the structure of lines \n
for (var i=0;i < dd.elements.length;i++){\n
if (dd.elements[i].nodrag==0){ // do not need to add in lines the informations inside a div\n
test=false; //used for determining if blocks with same y of the current is block are already present\n
for (var j=0;j < lines.length;j++){\n
if ((dd.elements[i].y+dd.elements[i].h)==(lines[j][0].y+lines[j][0].h)){\n
lines[j][lines[j].length]=dd.elements[i];\n
test=true;\n
}\n
}\n
if (test==false){ //we create a new line\n
lines[lines.length]=new Array(dd.elements[i]);\n
}\n
}}\n
\n
\n
for (var i=0;i < lines.length;i++){ \n
lines[i]=lines[i].sort(compare_x);\n
}\n
\n
lt = dd.elements.top;\n
rt = dd.elements.right;\n
rb = dd.elements.bottom;\n
lb = dd.elements.left;\n
grips = [lt, rt, rb, lb];\n
\n
\n
\n
\n
//******************************\n
hideGrips();\n
//main.setZ(main.z+1);\n
//dd.obj.ondblclick = showGrips;//*****************************************************************************\n
\n
}\n
\n
function ADD_DHTML(d_o) // layers only!\n
{\n
\td_o = new DDObj(d_o);\n
\tdd.addElt(d_o);\n
\tdd.addProps(d_o);\n
\tdd.mkWzDom();\n
}\n
\n
\n
\n
\n
////////////////////////////////////////////////////////////\n
// If not needed, all code below this line may be removed\n
\n
\n
// For backward compatibility\n
dd.d = document; // < v. 2.72\n
var RESET_ZINDEX = RESET_Z; // < 3.44\n
var KEYDOWN_RESIZE = RESIZABLE; // < 4.43\n
var CURSOR_POINTER = CURSOR_HAND; // < 4.44\n
var NO_SCROLL = \'\'; // < v. 4.49\n
\n
\n
\n
\n
////////////////////////////////////////////////////////////\n
// FUNCTIONS FOR EXTENDED SCRIPTING\n
// Use these for your own extensions,\n
// or to call functions defined elsewhere\n
\n
\n
\n
/* my_PickFunc IS AUTOMATICALLY CALLED WHEN AN ITEM STARTS TO BE DRAGGED.\n
The following objects/properties are accessible from here:\n
\n
- dd.e: current mouse event\n
- dd.e.property: access to a property of the current mouse event.\n
Mostly requested properties:\n
- dd.e.x: document-related x co-ordinate\n
- dd.e.y: document-related y co-ord\n
- dd.e.src: target of mouse event (not identical with the drag drop object itself).\n
- dd.e.button: currently pressed mouse button. Left button: dd.e.button <= 1\n
\n
- dd.obj: reference to currently dragged item.\n
- dd.obj.property: access to any property of that item.\n
- dd.obj.method(): for example dd.obj.resizeTo() or dd.obj.swapImage() .\n
Mostly requested properties:\n
\t- dd.obj.name: image name or layer ID passed to SET_DHTML();\n
\t- dd.obj.x and dd.obj.y: co-ordinates;\n
\t- dd.obj.w and dd.obj.h: size;\n
\t- dd.obj.is_dragged: 1 while item is dragged, else 0;\n
\t- dd.obj.is_resized: 1 while item is resized, i.e. if <ctrl> or <shift> is pressed, else 0\n
\n
For more properties and details, visit the API documentation\n
at http://www.walterzorn.com/dragdrop/api_e.htm (english) or\n
http://www.walterzorn.de/dragdrop/api.htm (german) */\n
bmoved=new Array;\n
var obj_old; \n
var obj_oldx;//previous position X\n
var obj_oldy; //previous position Y\n
var obj_size_w; \n
var obj_record;\n
var direction; //knows whether we move a block on the right or on the left \n
var prev_dd_obj;// used when resizing. This variable stocks the previous block clicked\n
\n
\n
\n
function my_PickFunc()\n
{ // window.status=dd.e.button;\n
\n
// used by bmoved\n
for (var i=0;i<grips.length;i++){\n
if (dd.obj.name!=grips[i].name){\n
obj_oldx=dd.obj.x;\n
obj_oldy=dd.obj.y;\n
}}\n
//*****\n
\n
obj_old=dd.obj.x;\n
obj_size_w=dd.obj.w;\n
x_old=dd.obj.x+dd.obj.w;\n
y_old=dd.obj.y+dd.obj.h;\n
\n
test=false;\n
var i = 4; while (i--)\n
{ \n
if (grips[i] != dd.obj){\n
grips[i].hide();} \n
else{\n
test=true;}\n
}\n
if (test==false){\n
prev_dd_obj=dd.obj;\n
hideGrips(); \n
}\n
\n
}\n
\n
\n
\n
// these two checks functions are called when a collision is detected, they move blocks which are touched\n
function check_list_right(index_line){\n
\n
for (var j=0;j<lines[index_line].length;j++){ //we compare each block of a line with its following.\n
if ((j+1)!=lines[index_line].length){\n
if (lines[index_line][j].x>lines[index_line][j+1].x || ((lines[index_line][j].x+lines[index_line][j].w)>lines[index_line][j+1].x)){\n
if (((lines[index_line][j].y)<(lines[index_line][j+1].y+lines[index_line][j+1].h) && (lines[index_line][j].y+lines[index_line][j].h>lines[index_line][j+1].y))){\n
delta=lines[index_line][j].x+lines[index_line][j].w-lines[index_line][j+1].x;\n
lines[index_line][j+1].moveBy(+delta,0);\n
}}\n
}\n
}\n
}\n
\n
\n
function check_list_left(index_line){\n
\n
for (var j=(lines[index_line].length)-1;j>-1;j--){\n
if ((j-1)!=-1){\n
if(lines[index_line][j-1].x>lines[index_line][j].x || ((lines[index_line][j-1].x+lines[index_line][j-1].w)>lines[index_line][j].x)){\n
if (((lines[index_line][j-1].y)<(lines[index_line][j].y+lines[index_line][j].h) && (lines[index_line][j-1].y+lines[index_line][j-1].h>lines[index_line][j].y))){ \n
delta=(lines[index_line][j-1].x+lines[index_line][j-1].w)-lines[index_line][j].x;\n
lines[index_line][j-1].moveBy(-delta,0);\n
}\n
}\n
}\n
}}\n
\n
\n
\n
\n
//function called when a block jump an other, so we exchange the objects in the list\n
function exchange_object(index_line){\n
for (var j=0;j<lines[index_line].length;j++){ \n
if ((j+1)!=lines[index_line].length){\n
if(lines[index_line][j].x>lines[index_line][j+1].x){\n
var dobject=lines[index_line][j+1];\n
lines[index_line][j+1]=lines[index_line][j];\n
lines[index_line][j]=dobject;\n
}\n
}\n
}\n
}\n
\n
\n
\n
function move_block(direction){\n
found=false; \n
test=false;\n
var i = 4; while (i--)\n
{ \n
if (grips[i] == dd.obj){\n
current_obj=prev_dd_obj;\n
test=true;\n
}\n
}\n
if (test==false){\n
current_obj=dd.obj; \n
}\n
\n
for (var i=0;i<lines.length;i++){ \n
for (var k=0;k<lines[i].length;k++){\n
if (current_obj==lines[i][k]){ //it means we are in the correct lines\n
var found=true;\n
for (var j=0;j<lines[i].length;j++){\n
if (direction>0){ //to the right\n
if((lines[i][j].x < (current_obj.x+current_obj.w)) && (lines[i][j]!=current_obj)){\n
if ( ((current_obj.y)<(lines[i][j].y+lines[i][j].h)) && ((current_obj.y+current_obj.h) > (lines[i][j].y)) ){\n
check_list_right(i);//sometimes a collision is not detected when the mouse is speeding.\n
if (current_obj.x<(lines[i][j].x+lines[i][j].w)){\n
delta= (current_obj.x+current_obj.w)-lines[i][j].x;\n
\t lines[i][j].moveBy(+delta,0);\n
//check_list_right(i); //REMOVE IF IT IS TOO SLOW\n
}\n
}\n
else{ //we have jumped so we exchange two objects in lines\n
check_list_left(i);\n
exchange_object(i);\n
} \n
\n
}}\n
else{ //to the left\n
\n
if(((lines[i][j].x+lines[i][j].w) > current_obj.x)&& (lines[i][j]!=current_obj)){ \n
if ( (current_obj.y<(lines[i][j].y+lines[i][j].h)) && ((current_obj.y+current_obj.h) > lines[i][j].y) ){\n
check_list_left(i);\n
if ( (current_obj.x+current_obj.w)>lines[i][j].x){ \n
delta= (lines[i][j].x+lines[i][j].w)-current_obj.x;\n
lines[i][j].moveBy(-delta,0);\n
check_list_left(i); //don\'t know why but needed...\n
}\n
}\n
else{\n
check_list_left(i); //needed because sometimes a block can jump over an other even if there is a colision\n
exchange_object(i);} \n
} \n
}\n
}\n
}\n
if (found==true){ //we found the line of the current object so it\'s no use continuing.\n
break;\n
}\n
}\n
\n
}\n
}\n
\n
\n
\n
/* my_DragFunc IS CALLED WHILE AN ITEM IS DRAGGED\n
See the description of my_PickFunc above for what\'s accessible from here. */\n
//***************************************************************************************\n
function my_DragFunc()\n
{ \n
\n
if (dd.obj == rb)\n
{if (dd.obj.y> prev_dd_obj.y ){\n
prev_dd_obj.resizeTo(prev_dd_obj.w,rb.y-lt.y);\n
//************************\n
//window.status=prev_dd_obj.children.length;\n
for (var i=0;i<prev_dd_obj.children.length;i++){\n
\n
if (dd.obj.y<prev_dd_obj.children[i].y+prev_dd_obj.children[i].h){\n
prev_dd_obj.children[i].hide();\n
}\n
else{\n
prev_dd_obj.children[i].show();\n
}\n
\n
}\n
//*********************************\n
}}\n
else if (dd.obj == rt)\n
{\n
if (dd.obj.x > prev_dd_obj.x ){\n
prev_dd_obj.resizeTo(rt.x-lb.x, prev_dd_obj.h);\n
prev_dd_obj.moveTo(rt.x-prev_dd_obj.w+rt.w/2,prev_dd_obj.y);\n
//***********************************\n
for (var i=0;i<prev_dd_obj.children.length;i++){\n
\n
if (dd.obj.x<prev_dd_obj.children[i].x+prev_dd_obj.children[i].w){\n
prev_dd_obj.children[i].hide();\n
}\n
else{\n
prev_dd_obj.children[i].show();\n
}\n
}\n
//***************************************\n
}} \n
\n
else if (dd.obj == lb)\n
{ if (dd.obj.x+dd.obj.w < prev_dd_obj.x+prev_dd_obj.w){\n
prev_dd_obj.moveTo(lb.x+lb.w/2,prev_dd_obj.y);\n
prev_dd_obj.resizeTo(rt.x-lb.x,prev_dd_obj.h);\n
//***********************************\n
for (var i=0;i<prev_dd_obj.children.length;i++){\n
if (prev_dd_obj.x+prev_dd_obj.w<prev_dd_obj.children[i].x+prev_dd_obj.children[i].w ){\n
prev_dd_obj.children[i].hide();\n
}\n
else{\n
prev_dd_obj.children[i].show();\n
}\n
}\n
//***************************************\n
}}\n
else if (dd.obj == lt)\n
{\n
if (dd.obj.y+dd.obj.h< (prev_dd_obj.y+prev_dd_obj.h)){\n
prev_dd_obj.moveTo(prev_dd_obj.x, lt.y+lt.h/2);\n
prev_dd_obj.resizeTo(prev_dd_obj.w, rb.y-lt.y);\n
\n
//***********************************\n
for (var i=0;i<prev_dd_obj.children.length;i++){\n
if ((prev_dd_obj.y+prev_dd_obj.h)< (prev_dd_obj.children[i].y+prev_dd_obj.children[i].h)){\n
prev_dd_obj.children[i].hide();\n
}\n
else{\n
prev_dd_obj.children[i].show();\n
}\n
}\n
//***************************************\n
\n
}}\n
\n
if ((dd.obj.x-obj_old)>0 ){\n
direction=1;\n
}\n
else{\n
direction=-1;\n
}\n
obj_old=dd.obj.x;\n
obj_size_w=dd.obj.w;\n
move_block(direction);\n
\n
} \n
\n
\n
\n
/* my_ResizeFunc IS CALLED WHILE AN ITEM IS RESIZED\n
See the description of my_PickFunc above for what\'s accessible from here. */\n
function my_ResizeFunc()\n
{\n
\n
}\n
\n
\n
\n
/* THIS ONE IS CALLED ONCE AN ITEM IS DROPPED\n
See the description of my_PickFunc for what\'s accessible from here.\n
Here may be investigated, for example, what\'s the name (dd.obj.name)\n
of the dropped item, and where (dd.obj.x, dd.obj.y) it has been dropped... */\n
function my_DropFunc()\n
{\n
hideGrips();\n
x_old=dd.obj.x+dd.obj.w;\n
y_old=dd.obj.y+dd.obj.h;x_old=dd.obj.x+dd.obj.w;\n
isnotobject=0;\n
\n
for (var j=0;j<grips.length;j++){\n
if (grips[j].name == dd.obj.name){\n
isnotobject=1;\n
} \n
}\n
if (isnotobject == 0){\n
obj_record=dd.obj;\n
}\n
\n
var present=false;\n
for(var i=0; i < bmoved.length; i++){\n
if (bmoved[i][0]==obj_record.name){\n
present=true; //the block has already be moved a first time.\n
bmoved[i][3]=obj_record.x;\n
bmoved[i][4]=obj_record.y;\n
bmoved[i][5]=obj_record.w;\n
bmoved[i][6]=obj_record.h; \n
break;} \n
}\n
\n
if (present==false){\n
if (bmoved.length==0){\n
bmoved[0]=new Array(obj_record.name,obj_oldx,obj_oldy,obj_record.x,obj_record.y,obj_record.w,obj_record.h);}//first block moved\n
else{\n
\n
bmoved[i]=new Array(obj_record.name,obj_oldx,obj_oldy,obj_record.x,obj_record.y,obj_record.w,obj_record.h);\n
}\n
}\n
/* we save all the informations in an hidden input called "block_moved". The datas are stored in an unique string with the following sheme:\n
"name,x,y,width,height*name,x,y,width,height-name etc.." */\n
\n
document.forms["main_form"]["block_moved"].value=bmoved.join("*");\n
\n
}\n
\n
//specific functions for resizing. ******\n
function showGrips()\n
{\n
moveGripsToCorners();\n
var i = 4; while(i--)\n
{\n
grips[i].setZ(prev_dd_obj.z+1);\n
grips[i].show();\n
}\n
}\n
\n
\n
function hideGrips()\n
{\n
var i = 4; while(i--)\n
grips[i].hide();\n
}\n
\n
\n
/* (lt) \n
___________\xc3\x82\xc2\xa4____________\n
| |\n
(lb)\xc3\x82\xc2\xa4| |\xc3\x82\xc2\xa4 (rt)\n
|_______________________|\n
\xc3\x82\xc2\xa4 (rb)\n
*/\n
\n
function moveGripsToCorners()\n
{\n
lt.moveTo(prev_dd_obj.x+(prev_dd_obj.w/2)-lt.w/2, prev_dd_obj.y-lt.h/2);\n
rt.moveTo(prev_dd_obj.x+prev_dd_obj.w-lt.w/2, prev_dd_obj.y+(prev_dd_obj.h/2)-lt.h/2);\n
rb.moveTo(prev_dd_obj.x+(prev_dd_obj.w/2)-lt.w/2, prev_dd_obj.y+prev_dd_obj.h-lt.h/2);\n
lb.moveTo(prev_dd_obj.x-lt.w/2, prev_dd_obj.y+(prev_dd_obj.h/2)-lt.h/2);\n
}\n
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
2006-06-21 Kevin
* In editable mode, enclose main content in a div to act as a fieldgroup.
2006-06-15 Thomas
* Added support for PlanningBox : including scripts to generate data, and page template to display XHTML.
2006-06-08 Kevin
* Use Structure in view_master portal status message to introduce flexible links.
2006-05-31 Chris
* Fixed erp5.css
2006-05-24 Chris
* Switched cut and copy buttons
2006-05-23 Kevin
* Reduce report_view tag "soupness".
2006-05-22 Vincent
* Add "developper mode" buttons.
2006-05-15 Romain
* Update maintainers.
2006-04-27 yo
* Generate ids for table data in form_list_ui, to ease functional testing.
2006-04-27 yo
* Generate ids for table data in form_sort, to ease functional testing.
2006-04-27 yo
* Embed the query string in a request int the resulting HTML in form_html, list_dialog_master, list_master and view_master.
2006-04-10 vincent
* add layout support in all templates
2006-03-04 jerome
* stop translating portal status messages.
2006-02-27 yo
* Add a workaround to navigation_box and dialog_master so that the user can push enter.
2006-02-24 Seb
* Created this business template in order to split erp5_core
\ No newline at end of file
Copyright (c) 2001-2006 Nexedi SARL
\ No newline at end of file
The ERP5 Html style used in order to display ERP5 content in a web browser.
\ No newline at end of file
erp5_html_style
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment