[Zope-CVS] CVS: Products/PageDesign - zopetop_design.zexp:1.1

Shane Hathaway shane@cvs.zope.org
Mon, 1 Jul 2002 14:28:42 -0400


Update of /cvs-repository/Products/PageDesign
In directory cvs.zope.org:/tmp/cvs-serv30591

Added Files:
	zopetop_design.zexp 
Log Message:
Added an example of page designs.  The example is based on the ZopeTop sprint
(for Zope 3) and a couple of ideas of my own (the toolbar).


=== Added File Products/PageDesign/zopetop_design.zexp ===
ZEXP      üs      S((U
OFS.FolderqUFolderqtqNt.}q(Utop_pageq(U      ütq(U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqttQUbreadcrumbs.pyq	(U      üvq
(U#Products.PythonScripts.PythonScriptqUPythonScriptqttQUdesignq
(U      üƒq(UProducts.PageDesign.PageDesignqU
PageDesignqttQUmetadata_boxq(U      ü}q(hUZopePageTemplateqttQUhelp_boxq(U      ü…q(hUZopePageTemplateqttQUzopetop.cssq(U      ü€q(U	OFS.ImageqUFileqttQUidqUzopetop_designqUformatItemDateq(U      ü{q(hUPythonScriptqttQUdown.gifq (U      ü�q!(hUImageq"ttQUformatItemSizeq#(U      ü|q$(hUPythonScriptq%ttQUtitleq&U U
search_boxq'(U      ü~q((hUZopePageTemplateq)ttQUup.gifq*(U      ü‚q+(hUImageq,ttQUfolder_contentsq-(U      üzq.(hUZopePageTemplateq/ttQUexplorer_boxq0(U      üyq1(hUZopePageTemplateq2ttQU
expand.gifq3(U      üxq4(hUImageq5ttQUbox_templateq6(U      üuq7(hUZopePageTemplateq8ttQU_ownerq9(]q:U	acl_usersq;aUshaneq<tq=Usidebox.gifq>(U      üq?(hUImageq@ttQU_objectsqA(}qB(U	meta_typeqCU
Page TemplateqDhhU	folderishqEK u}qF(hChDhh6hEK u}qG(hCUScript (Python)qHhUbreadcrumbs.pyqIhEK u}qJ(hCUImageqKhUcollapse.gifqLhEK u}qM(hChKhh3hEK u}qN(hChDhUexplorer_boxqOhEK u}qP(hChDhUfolder_contentsqQhEK u}qR(hChHhUformatItemDateqShEK u}qT(hChHhUformatItemSizeqUhEK u}qV(hChDhUmetadata_boxqWhEK u}qX(hChDhU
search_boxqYhEK u}qZ(hChKhh>hEK u}q[(hCUFileq\hhhEK u}q](hChKhh hEK u}q^(hChKhh*hEK u}q_(hCUPage Designq`hUdesignqahEK u}qb(hChDhUhelp_boxqchEK utqdU__ac_local_roles__qe}qfUshaneqg]qhUOwnerqiashL(U      üwqj(hUImageqkttQu.      üt      ×((U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqtqNt.}q(Ucontent_typeqU	text/htmlqU_textqT‹  <html metal:define-macro="page">
  <head>
    <title>ZopeTop</title>
    <link rel="stylesheet" href="zopetop.css" />

    <script type='text/javascript'>
function switchbox(btn) {
  btn.href = 'expand.gif';
}
    </script>

  </head>
<body>

<table class="window" cellpadding="0" cellspacing="0">
 <tr valign="bottom" class="userbar">
 <td class="zopelogo">
  <img src="/p_/zopelogo_jpg" />
 </td>
 <td colspan="2" class="usermenu">
  <div align="right"><table><tr>
   <td align="center"><a href="#">[Wrench]<br />Configure</a></td>
   <td align="center"><a href="#">[Typewriter]<br />Content</a></td>
   <td align="center"><a href="#">[Eye]<br />Preview</a></td>
   <td align="center"><a href="#">[Question]<br />Help</a></td>
   <td>&nbsp; &nbsp; &nbsp;</td>
   <td align="center"><a href="#">[Knob]<br />Preferences</a></td>
   <td align="center"><a href="#">[Hat]<br />Session</a></td>
   <td align="center">Logged in: <tal:name replace="user">User name</tal:name></td>
  </tr></table></div>
 </td>
 </tr>

 <tr>
 <td rowspan="2" class="actions" valign="top">
  <div tal:repeat="pane options/areas/global_panes|nothing" tal:content="structure pane" class="actionbox">
   Global Actions
  </div>
 </td>

 <td colspan="2" class="breadcrumbs" tal:content="structure here/breadcrumbs.py">
  Bread > Crumbs
 </td>
 </tr>

 <tr class="objectwindow">

  <td class="objectview" valign="top">
   <div metal:define-slot="main">
    Object View
   </div>
  </td>

  <td class="actions" valign="top">
   <div tal:repeat="pane options/areas/object_panes|nothing" tal:content="structure pane" class="actionbox">
    Object Actions
   </div>
  </td>

 </tr>

</table>

</body>
</html>
qU_bind_namesq	(cShared.DC.Scripts.Bindings
NameAssignments
q
oq}qU_asgnsq
}qUname_subpathqUtraverse_subpathqssbUtitleqU U__ac_local_roles__q}qUsprintq]qUOwnerqasUidqUtop_pageqUexpandqK u.      üv      5((U#Products.PythonScripts.PythonScriptqUPythonScriptqtqNt.}q(UPython_magicqU-í
qUerrorsq)Uwarningsq)UScript_magicq	KU_bodyq
TÍ  """
This script creates breadcrumb style navigation links.

It walks the REQUEST.PARENTS list of parents and creates
a hyperlink for each parent. It stops at the Examples folder.
"""

links=[]
for parent in context.REQUEST.PARENTS:
  obj_id = parent.getId()
  if not obj_id:
    break
  links.insert(0, """<a href="%s">%s</a>""" % (parent.absolute_url(), obj_id))
res = "/".join(links)
res = """<a href="%s">/</a>%s""" % (parent.absolute_url(), res)
return res
qU_codeqTæ  c       s      d „  Z  d  S(   Nc   
  sÔ    t  }  g  } 	 xz | | t d ƒ d ƒ D	 ]] } 
 | | d ƒ ƒ  }  | o  Pn | 
 | d ƒ d d | | d ƒ ƒ  | f ƒ q. W | d d	 ƒ | ƒ }  d
 | | d ƒ ƒ  | f }  | Sd  S(   Ns   REQUESTs   PARENTSs   getIds   inserti    s   <a href="%s">%s</a>s   absolute_urls   /s   joins   <a href="%s">/</a>%s(   s	   _getattr_s   _getattrs   linkss   contexts   parents   obj_ids   res(   s	   _getattr_s   _getattrs   linkss   contexts   parents   obj_ids   res(    (    s   Script (Python)s   breadcrumbs.py s   		%0(   s   breadcrumbs.py(   s   breadcrumbs.py(    (    s   Script (Python)s   <module> s    q
U
func_defaultsqNU_bind_namesq(cShared.DC.Scripts.Bindings
NameAssignments
qoq}qU_asgnsq}q(Uname_containerqU	containerqUname_m_selfqUscriptqUname_subpathqUtraverse_subpathqUname_contextqUcontextqusbU__ac_local_roles__q}qUamosq]q UOwnerq!asUidq"Ubreadcrumbs.pyq#U_paramsq$U U	func_codeq%(cShared.DC.Scripts.Signature
FuncCode
q&oq'}q((Uco_varnamesq)(U	_getattr_q*U_getattrq+Ulinksq,Ucontextq-Uparentq.Uobj_idq/Uresq0tUco_argcountq1K ubu.      üƒ       ÷((UProducts.PageDesign.PageDesignqU
PageDesignqtqNt.}q(U
_placementq(U      ü„q(UPersistenceqUPersistentMappingqttQU__ac_local_roles__q	}q
Ushaneq]qUOwnerq
asUidqUdesignqUtemplate_idqUtop_pageqUtitleqUZopeTop Designqu.      ü}      ×((U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqtqNt.}q(Ucontent_typeqU	text/htmlqU_textqT‰  <div tal:define="box_title string:Metadata; box_id string:metadata">
<div metal:use-macro="here/box_template/macros/box">
<div metal:fill-slot="contents" class="boxcontent">
    <form method="post" tal:attributes="value container/absolute_url">
    <table>
<!--
      <tr>
        <td>Name</td>
        <td>Value</td>
      </tr>
-->
      <tr tal:condition="exists:container/title">
        <td>Title</td>
        <td><input type="edit" size="10" name="title:string" tal:attributes="value container/title"></td>
      </tr>
<!--
      <tr>
        <td># of objects</td>
        <td tal:content="python:len(container.objectIds())">n</td>
      </tr>
-->
      <tr>
        <td>Creator</td>
        <td tal:define="owner container/owner_info" tal:content="owner/id"></td>
      </tr>
      <tr>
        <td>Last Modified</td>
        <td tal:content="container/formatItemDate"></td>
      </tr>
      <tr>
        <td>Keywords</td>
        <td>?</td>
      </tr>
      <tr>
        <td colspan="2">
          <input type="submit" name="manage_changeProperties:method" value="Save Changes">
        </td>
      </tr>
    </table>
    </form>
</div>
</div>
</div>
qU_bind_namesq	(cShared.DC.Scripts.Bindings
NameAssignments
q
o}qU_asgnsq}q
Uname_subpathqUtraverse_subpathqssbUtitleqU U__ac_local_roles__q}qUsprintq]qUOwnerqasUidqUmetadata_boxqUexpandqK u.      ü…      é((U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqtqNt.}q(Ucontent_typeqU	text/htmlqU_textqT�  <div tal:define="box_title string:Help; box_id string:help">
<div metal:use-macro="here/box_template/macros/box">
<div metal:fill-slot="contents" class="boxcontent">
    <p>Você está visualizando um objeto Folder.</p>
    <p>Folders são os blocos de construção do Zope. 
       O objetivo de uma pasta é conter outros 
       objetos, e organizar os objetos separando-os 
       em grupos diferentes.</p>
    <p>Para maiores informações, 
       consulte o <a href="http://www.zope.org/Documentation/ZopeBook/BasicObject.stx">Chapter 3: Using Basic Zope Objects</a>
       do <a href="http://www.zope.org/Members/michel/ZB">Zope Book</a>.
    </p>
</div>
</div>
</div>
qU_bind_namesq	(cShared.DC.Scripts.Bindings
NameAssignments
q
oq}qU_asgnsq
}qUname_subpathqUtraverse_subpathqssbUtitleqU U__ac_local_roles__q}qUsprintq]qUOwnerqasUidqUhelp_boxqUexpandqK u.      ü€      	‘((U	OFS.ImageqUFileqtqNt.}q(UpreconditionqU Ucontent_typeqUtext/cssqUtitleqUZopeTop stylesheetq	U__name__q
Uzopetop.cssqU_EtagSupport__etagqU
ts20554271.02q
UdataqT”  /****************************************************************
 * generic
 ****************************************************************/
body {
  font-family : Verdana, Arial, Geneva, Helvetica, sans-serif ; 
  font-size: 0.8em;
  margin: 0;
  padding: 0;
  background-color: white;
  font-family: Verdana, Helvetica, sans-serif;
  font-size: 80%;
}

td {
  font-size: 0.8em;
}

a {
  color: blue;
}

a:link {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

a:hover {
  color: darkblue;
  text-decoration: underline;
}

/****************************************************************
 * specific
 ****************************************************************/
.userbar {
  background-color: #6699cc;
  color: white;
}

.zopelogo {
}

.usermenu {
  text-align: right;
  vertical-align: bottom;
  padding: 0 0.5em;
}

.window {
  padding: 0;
  margin: 0;
  border-collapse: separate;
  width: 100%;
  clear: both;
  background-color: white;
}

.actions {
  padding: 0.5em;
}

.actionbox {
  margin-bottom: 1em;
  border: 2px outset black;
  width: 175px; 
}

.objectwindow .actionbox {
  float: right;
  clear: right;
  margin: 0.3em;
}

.objectwindow {
  overflow: hidden;
}

.breadcrumbs {
  width: 100%;
  padding: 0 0.5em;
  background-color: #c0c0c0;
}

.row_selected { 
  background-color: #e0e0e0;
 }

.list_header { 
  background-color: #c0c0c0;
 }

.column_header_up:after { 
  content: url("up.gif");
 }

.column_header_down:after { 
  content: url("down.gif");
 }

.boxtitle {
  background-image: url("sidebox.gif");
  background-repeat: none;
  color: white;
  text-weight: bold;
  padding: 0 0.5em;
}

.boxcontrols {
  float: right;
}

.boxcontent {
  overflow: hidden;
  width: 100%;
}

.hiddenboxcontent {
  display: none;
}

/****************************************************************
 * cosmetic
 ****************************************************************/
input {
  border: 1px solid #6699cc;
  background-color: white;
  font-family : Verdana, Arial, Geneva, Helvetica, sans-serif ; 
  font-size: 0.8em;
}

select {
  border: 1px solid #6699cc;  
  font-family : Verdana, Arial, Geneva, Helvetica, sans-serif ; 
  font-size: 0.8em;
}

qU__ac_local_roles__q}qUsprintq]qUOwnerqasUsizeqM”u.      ü{      ³((U#Products.PythonScripts.PythonScriptqUPythonScriptqtqNt.}q(UPython_magicqU-í
qUerrorsq)Uwarningsq)UScript_magicq	KU_bodyq
Uîobject_date = context.bobobase_modification_time()

if object_date.isCurrentDay():
  return object_date.strftime('%H:%M')
if object_date.isCurrentYear():
  return object_date.strftime('%m-%d')
else:
  return object_date.strftime('%Y-%m')
qU_codeqTY  c       s      d „  Z  d  S(   Nc   	  s•    t  } | t d ƒ ƒ  } |  | d ƒ ƒ  o  | | d ƒ d ƒ Sn |  | d ƒ ƒ  o  | | d ƒ d ƒ Sn  | | d ƒ d ƒ Sd  S(   Ns   bobobase_modification_times   isCurrentDays   strftimes   %H:%Ms
   isCurrentYears   %m-%ds   %Y-%m(   s	   _getattr_s   _getattrs   contexts   object_date(   s	   _getattr_s   _getattrs   contexts   object_date(    (    s   Script (Python)s   formatItemDate s
   (   s   formatItemDate(   s   formatItemDate(    (    s   Script (Python)s   <module> s    q
U
func_defaultsqNU_bind_namesq(cShared.DC.Scripts.Bindings
NameAssignments
qoq}qU_asgnsq}q(Uname_containerqU	containerqUname_contextqUcontextqUname_subpathqUtraverse_subpathqUname_m_selfqUscriptqusbU__ac_local_roles__q}qUsprintq]q UOwnerq!asUidq"UformatItemDateq#U_paramsq$U U	func_codeq%(cShared.DC.Scripts.Signature
FuncCode
q&oq'}q((Uco_varnamesq)(U	_getattr_q*U_getattrq+Ucontextq,Uobject_dateq-tUco_argcountq.K ubu.      ü�      ((U	OFS.ImageqUImageqtqNt.}q(UwidthqKUpreconditionqU Ucontent_typeqU	image/gifqUtitleq	U U__name__q
Udown.gifqUheightqKUdataq
U?GIF89a  ¡  ÿÿÿÿŒ ÿÿÿÿÿÿ!ù    ,      „�©Ëí¢”hÒdatᥠ;qU__ac_local_roles__q}qUsprintq]qUOwnerqasUsizeqK?u.      ü|      E((U#Products.PythonScripts.PythonScriptqUPythonScriptqtqNt.}q(UPython_magicqU-í
qUerrorsq)Uwarningsq)UScript_magicq	KU_bodyq
TC  try:
  size = context.getSize()
except:
  try:
    size = context.get_size()
  except:
    return ''

if size <= 1024:
  return '1 Kb'

if size > 1024:
  return '%s Kb' % (size / 1024)

if size > (1024*1024):
  return '%s Mb' % (size / (1024*1024))

if size > (1024*1024*1024):
  return '%s Gb' % (size / (1024*1024*1024))
qU_codeqTš  c       s      d „  Z  d  S(   Nc     sù    t  } y  | t d ƒ ƒ  } Wn4  y  | t d ƒ ƒ  } Wn  d Sn Xn X	 | d j o 
 d Sn  | d j o 
 d | d Sn  | d d j o  d | d d Sn  | d d d j o  d | d d d Sn d  S(	   Ns   getSizes   get_sizes    i   s   1 Kbs   %s Kbs   %s Mbs   %s Gb(   s	   _getattr_s   _getattrs   contexts   size(   s	   _getattr_s   _getattrs   contexts   size(    (    s   Script (Python)s   formatItemSize s   (   s   formatItemSize(   s   formatItemSize(    (    s   Script (Python)s   <module> s    q
U
func_defaultsqNU_bind_namesq(cShared.DC.Scripts.Bindings
NameAssignments
qoq}qU_asgnsq}q(Uname_containerqU	containerqUname_m_selfqUscriptqUname_subpathqUtraverse_subpathqUname_contextqUcontextqusbU__ac_local_roles__q}qUsprintq]q UOwnerq!asUidq"UformatItemSizeq#U_paramsq$U U	func_codeq%(cShared.DC.Scripts.Signature
FuncCode
q&oq'}q((Uco_varnamesq)(U	_getattr_q*U_getattrq+Ucontextq,Usizeq-tUco_argcountq.K ubu.      ü~      (((U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqtqNt.}q(Ucontent_typeqU	text/htmlqU_textqUß<div tal:define="box_title string:Search; box_id string:search">
<div metal:use-macro="here/box_template/macros/box">
<div metal:fill-slot="contents" class="boxcontent">
    <p>Search for objects...</p>
</div>
</div>
</div>qU_bind_namesq	(cShared.DC.Scripts.Bindings
NameAssignments
q
o}qU_asgnsq}q
Uname_subpathqUtraverse_subpathqssbUtitleqU U__ac_local_roles__q}qUsprintq]qUOwnerqasUidqU
search_boxqUexpandqK u.      ü‚      	((U	OFS.ImageqUImageqtqNt.}q(UwidthqKUpreconditionqU Ucontent_typeqU	image/gifqUtitleq	U U__name__q
Uup.gifqUheightqKUdataq
U7GIF89a  €  ÿŒ ÿÿÿ!ù   ,      Œ�©{ œjZd³[ ;qU__ac_local_roles__q}qUsprintq]qUOwnerqasUsizeqK7u.      üz      M((U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqtqNt.}q(Ucontent_typeqU	text/htmlqU_textqTý
  <html metal:use-macro="here/top_page/macros/page">
  <head>
    <title tal:content="template/title">The title</title>

</head>
  <body>
    <div metal:fill-slot="main">
<SCRIPT TYPE="text/javascript">
function selectRow(obj) {
  if (obj.className=="row_selected"){
    obj.className = undefined;
  }
  else
  {
    obj.className="row_selected";
  }
}
</SCRIPT>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tbody>
  <tr>
    <td id="contentarea" valign="top">
      <div>
  
<form action="http://127.0.0.1:9673/x3ng" method="post"></form>
<table width="100%" id="FolderContents" cellpadding="1" cellspacing="0">
<tr class="list_header" tal:define="items here/objectValues; b_start string:0; b_start request/b_start | b_start;Batch python:modules['ZTUtils'].Batch; global batch python:Batch(items, 30, int(b_start), orphan=0)" >
  <td class="column_header_down"><a href="#">&nbsp;</a></td>
  <td class="column_header_down"><a href="#">Id</a></td>
  <td class="column_header_down"><a href="#">Title</a></td>
  <td class="column_header_down"><a href="#">Size</a></td>
  <td class="column_header_down"><a href="#">Modified</a></td>
</tr>
<span tal:omit-tag="" tal:repeat="item batch">
<tr onclick="selectRow(this)">
  <td align="center" tal:define="global icon item/getIcon|item/icon|nothing">
    <span tal:omit-tag="" tal:condition="icon">
    <a href="#" tal:attributes="href item/absolute_url">
    <img src="" tal:attributes="src python:here.absolute_url() +'/'+ icon; alt item/Type|nothing" alt="Document" border="0"></a>
    </span>
  </td>
  <td>
     <a href="#" tal:attributes="href item/absolute_url"><span tal:omit-tag="" tal:content="item/getId">item</span></a>
  </td>
  <td>
  <span tal:condition="item/title" tal:omit-tag="" tal:content="item/title">Title</span>
  </td>
  <td tal:content="string: ${item/formatItemSize}" tal:on-error="python: None">7,000 bytes</td>

  <td tal:content="item/formatItemDate">2001-12-01 01:23:44</td>

</tr>
</span>
<tr>
<td colspan="5">
<div align="center"><a href="#">&lt;&lt;</a> <a href="#">&lt;</a>&nbsp;&nbsp;&nbsp;1-10 of 212&nbsp;&nbsp;&nbsp;<a href="#">&gt;</a> <a href="#">&gt;&gt;</a></div>

<div>
   <span>
   <input type="submit" name="folder_factories:method" value="New...">
   </span>

   <span>

            <input type="submit" name="folder_rename_form:method" value="Rename">

            <input type="submit" name="folder_cut:method" value="Cut">

            <input type="submit" name="folder_copy:method" value="Copy">

            
          </span>

          <span>

            <input type="submit" name="folder_delete:method" value="Delete">
          </span>
    
<span>
  <input type="submit" name="open_filter_form" value="Set View Filter">
</span>


    </div>

</td>
</tr>

</table>
</div>
</div>
  </body>
</html>

qU_bind_namesq	(cShared.DC.Scripts.Bindings
NameAssignments
q
o}qU_asgnsq}q
Uname_subpathqUtraverse_subpathqssbUtitleqU U__ac_local_roles__q}qUshaneq]qUOwnerqasUidqUfolder_contentsqUexpandqK u.      üy      <((U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqtqNt.}q(Ucontent_typeqU	text/htmlqU_textqUñ<div tal:define="box_title string:Explorer; box_id string:explorer">
<div metal:use-macro="here/box_template/macros/box">
<div metal:fill-slot="contents" class="boxcontent">
    <p>Isso é para ser o 'Explorer'... :-)</p>
</div>
</div>
</div>qU_bind_namesq	(cShared.DC.Scripts.Bindings
NameAssignments
q
o}qU_asgnsq}q
Uname_subpathqUtraverse_subpathqssbUtitleqU U__ac_local_roles__q}qUsprintq]qUOwnerqasUidqUexplorer_boxqUexpandqK u.      üx      “((U	OFS.ImageqUImageqtqNt.}q(UwidthqKUpreconditionqU Ucontent_typeqU	image/gifqUtitleq	U U__name__q
U
expand.gifqUheightqKUdataq
U½GIF89a  Ä  !1‰“�*?ÿÿÿ0@RÓÖÚ$7kv‚µ»Á':ÒÖÙðñò¥¬³?P` 1A>L[M\jïï÷lx„!1J                                    !ù   ,       :  Ždižhª®lë¾p,6Ë`ßøÀ°Ržï­€Ï¦p¼¾"lRÀ-2Bm𔉠¶ƒutÐn¿à°xL ;qU__ac_local_roles__q}qUsprintq]qUOwnerqasUsizeqK½u.      üu      Í((U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqtqNt.}q(Ucontent_typeqU	text/htmlqU_textqT€  <div metal:define-macro="box">
 <div class="boxtitle" tal:define="box_title box_title|string:Title; box_id box_id|string:box">
  <div class="boxcontrols">
   <a href="#" tal:define="global collapsed python: request.SESSION.has_key(box_id)"
      tal:attributes="href python: 'box_toggle?url=' + request['URL'] + '&box_id=' + box_id"
   ><img src="collapse.gif" border="0"
        tal:attributes="src python: collapsed and 'expand.gif' or 'collapse.gif'" /></a>
  </div>
  <span tal:content="box_title">Title</span>
 </div>

 <div tal:condition="not: collapsed">
  <div metal:define-slot="contents">
   Box contents
  </div>
 </div>

</div>
qU_bind_namesq	(cShared.DC.Scripts.Bindings
NameAssignments
q
o}qU_asgnsq}q
Uname_subpathqUtraverse_subpathqssbUtitleqU U__ac_local_roles__q}qUshaneq]qUOwnerqasUidqUbox_templateqUexpandqK u.      ü      ÷((U	OFS.ImageqUImageqtqNt.}q(UwidthqK¯UpreconditionqU Ucontent_typeqU	image/gifqUtitleq	U U__name__q
Usidebox.gifqUheightqKUdataq
T  GIF89a¯  Ä  !1$Hk4O,Y…+A3f™>\(Pw/]Œ:V1J%Jp':!Bc+U€3f™$7)R{#Eh7R0`�.D&Ls;Y)ZŒ                     !ù ÿ ,    ¯   ÿ`!Ž"ež(…¬,;¼pìÌôÝxtìünýÀ…p(%Ȥ¤Ál:
Ð(ôB­&®×‰v;x¿Š°X\)›+„´ZÍh»Ý�¸¨ÛI¤”¾Å�ù5598==@ACBFGJHN�
RRUVX	\[_`ccgfk o¢srvwx%z(|-2�6ƒ:…>‡‰Š‹�Ž�M’Q”T–—˜]šœ�žh l¢p¤t¦ ¨©ª&¬.®/°±ƒ´µ‡¸º»¼¾¿ÀÂÄÆÇšÊdÌÎÏÐÒÓ¦ÖØ'ÚVpëæMÖ,Z¶ná2ÇkIºHëÚ½3†,Ù<ÌšÙÃ×FµjÖþe8PAYáÿ$$ÇÝÃuì„MÄTñ"ÆzöpÌ'íc?‘*HôæÀ`Ê•u5|˜DKðj^̘S'G�Ô~Šˆ $Q£á�&jÙˆ)̧X¢"³I5çN¬üBnÊí+ʰ¶X*u™î¬L¨×NŹñjϬrÿqõzÞqI-}ñoÚÀò{ªúöp\T@mœãhÞÈŒÊRvj9æMóÚÆ÷è¹ÚËðôؽªûV¦4“‹ÔØ„�u&å316ÑuIzŒè·d¾¾üLS0òÍn
3G|[1]Wv÷†l=µ³Ã+]îžùûÎâç4/ÿüüŸô¥Q÷ƒ^×—]|Ãpgœ™wÊȦ\~¥�‡GhþùàtëUGpï­&	Z®Ñ[ƒÉ…aûMˆ+ºÂ[!bmX`‡Â±¶Ý|ÖG"x³AS[Z™—Ûh»Ý•ဨ1Y�¶VŒˆ^°UâËé'a+öA¤‹FÂ蛌î%Ÿ�ò…˜ãˆœ8h"mžÙ¦¢�,n)H—†|™ËŒbz8‰“jé˜æ”÷øØf!  ;qU__ac_local_roles__q}qUsprintq]qUOwnerqasUsizeqMu.      üw      •((U	OFS.ImageqUImageqtqNt.}q(UwidthqKUpreconditionqU Ucontent_!
typeqU	image/gifqUtitleq	U U__name__q
Ucollapse.gifqUheightqKUdataq
U½GIF89a  Ä  !1‰“�*?ÿÿÿ1ASÓÖÚ$7lwƒµ»Á':ÒÖÙðñò¥¬³@Pa!1B?M\N\kly…ïï÷!1J                                    !ù   ,       :  Ždižhª®lë¾ðqÀ&43-˽<:GáæÂD¢Âñ
$“ËVäùd°=jÒªëz¿à°xŒ
 ;qU__ac_local_roles__q}qUsprintq]qUOwnerqasUsizeqK½u.      ü„       ¨((UPersistenceqUPersistentMappingqtqNt.}qU
_containerq}q(Uglobal_panesq]q(Uexplorer_boxq	U
search_boxq
eUobject_panesq]q(Uhelp_boxq
Umetadata_boxqeus.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ