#!/usr/bin/perl
# ----------------------------------------------------------------------------
# This software is Copyright (C) 2005, All Rights Reserved
# ----------------------------------------------------------------------------
# This program is protected by local and international copyright laws. Any
# use of this program is subject to the the terms of the license agreement
# included as part of this distribution archive. Any other uses are strictly
# prohibited without the written permission of the Vendor and all
# other rights are reserved.
# -----------------------------------------------------------------------------
# Warning : Modifying this program violates your license agreement!
# -----------------------------------------------------------------------------
BEGIN{@z=('72657175697265202254696d652f48695265732e706d223b',
'70726f675f766572','312e3431','70726f675f6275696c64','31',''
.'73706172655f6669656c6473','457870697265642055736572','4469'
.'7361626c6564','4e65772055736572','526567756c61722055736572',
'41646d696e6973747261746f72','7365617263685f70726f6772616d5'
.'f616374697665','76','75726c5f7075626c697368','696e74657266'
.'6163652f64697361626c65645f7365617263682e68746d6c','6172636'
.'8697665','617274','6461746166696c65','7365617263685f737562'
.'63617473','696e636c7564655f7375626361745f61727469636c6573',
'636174','6c696e65616765','6e756d','6361745f6e756d','253034'
.'642530326425303264','79656172','6d6f6e','646179','79656172'
.'32','6d6f6e32','64617932','66696c655f63617465676f72696573',
'7075626c6973685f6361745f6c6973745f66696c65707265666978','2'
.'e','7075626c6973685f66696c65657874','66696c655f686561646c6'
.'96e6573','7075626c6973685f6361745f686561646c696e655f66696c'
.'65707265666978','7669727475616c5f63617465676f72696573','76'
.'69727475616c5f686561646c696e6573','66696c655f6763617465676'
.'f72696573','66696c655f67686561646c696e6573','63617465676f7'
.'2795f70756c6c646f776e','6e6f68696464656e','617263686976655'
.'f70756c6c646f776e','3c6f7074696f6e2076616c75653d22','223e',
'6e616d65','70617273655f737369','7365617263682f616476616e63'
.'65645f7365617263682e68746d6c','74656d705f626173655f646972',
'74656d705f626173655f75726c','74656d706c6174655f696e636c756'
.'465','6469725f7075626c697368','74656d706c617465','73656172'
.'63682f7365617263685f726573756c74732e68746d6c','70657270616'
.'765','7374617274','696e5f','696e6465782f','686561646c696e6'
.'5732f','7365617263682f','74656d706c61746564697231','2f','5'
.'36f7272792c207468652074656d706c61746520796f752776652072657'
.'1756573746564206973206e6f742061207265676973746572656420746'
.'56d706c6174652e','75706461746564','68696464656e','7566696c'
.'655f696d616765','696d6167656865696768745f696d616765','696d'
.'61676577696474685f696d616765','7075626c6973685f73706563696'
.'679','75726c5f75706c6f6164','7075625f66696c657072656669785'
.'f73706563696679','7075625f66696c65707265666978','7075626c6'
.'973685f6361745f66696c65707265666978','75726c5f67696e646578',
'75726c5f7365617263685f63617465676f7279','6669656c6473','73'
.'756d6d617279','636f6e74656e74','7370617265','737461747573',
'736561726368','69676e6f72655f776f72645f626f756e64617269657'
.'3','5c62','6b6579776f7264','7365617263685f6d61746368','617'
.'2745f','6172745f73756d6d617279','73756d6d6172795f666f726d6'
.'174','6172745f636f6e74656e74','636f6e74656e745f666f726d617'
.'4','6172745f7370617265','666f726d61745f7370617265','686f75'
.'72','616d706d','706d','6d696e','6172745f64617465','6461746'
.'55f666f726d6174','6172745f74696d65','74696d655f666f726d617'
.'4','6361745f6e616d65','6361745f62726561646372756d62','6361'
.'745f696d616765','6361745f696d6167655f686569676874','636174'
.'5f696d6167655f7769647468','6172745f7072696e7465725f75726c',
'616c6c6f775f6172745f66696c656e616d65','66696c656e616d65',''
.'7075626c6973685f6172745f7072696e7465725f66696c657072656669'
.'78','75726c5f696e646578','64657461696c5f6c696e6b','7075626'
.'c6973685f6172745f66696c65707265666978','7669657765725f7061'
.'7468696e666f','7669657765725f75726c','6172745f6e756d','3f6'
.'17263686976653d','266e756d3d','6172745f74797065','6c696e6b',
'7566696c655f646f63756d656e74','6172745f696d6167655f75726c',
'63617074696f6e','6172745f6669656c64','726f77','726f775f737'
.'56d6d617279','726f775f6c696e6b','726f775f7566696c65','6172'
.'7469636c655f6c697374','32','6e6f745f666f756e64','70726576',
'707265765f75726c','5f63676975726c','3f','54656d706c617465',
'63656c6c','6e6f5f70726576','6e657874','6e6578745f75726c',''
.'6e6f5f6e657874','7365617263685f7470616765','7365617263685f'
.'6370616765','7365617263685f6c6e756d','7365617263685f686e75'
.'6d','6361745f75706461746564','6461746574696d655f666f726d61'
.'74','676361745f6e616d65','676c6f62616c5f75706461746564','5'
.'343524950545f46494c454e414d45','6d656e755f686561646572','4'
.'1727469636c6520456469746f72','6d656e755f74656d706c617465',
'5f6172745f6d656e75732e68746d6c','61727469636c652e646174',''
.'6e756d206372656174656420637265617465645f627920757064617465'
.'6420757064617465645f6279206d6f6e206461792079656172206e616d'
.'652073756d6d61727920636f6e74656e7420','73756d6d6172795f666'
.'f726d617420636f6e74656e745f666f726d61742063617420','756669'
.'6c655f696d61676531207566696c655f696d61676532207566696c655f'
.'696d61676533207566696c655f696d61676534207566696c655f696d61'
.'676535207566696c655f696d61676536207566696c655f696d61676537'
.'207566696c655f696d61676538207566696c655f696d61676539207566'
.'696c655f696d616765313020','63617074696f6e312063617074696f6'
.'e322063617074696f6e332063617074696f6e342063617074696f6e352'
.'063617074696f6e362063617074696f6e372063617074696f6e3820636'
.'17074696f6e392063617074696f6e313020','686f7572206d696e2061'
.'6d706d206f776e6572206c696e6b206172745f74797065207566696c65'
.'5f646f63756d656e742068696464656e20','696d6167656e616d65312'
.'0696d6167656e616d653220696d6167656e616d653320696d6167656e6'
.'16d653420696d6167656e616d653520696d6167656e616d653620696d6'
.'167656e616d653720696d6167656e616d653820696d6167656e616d653'
.'920696d6167656e616d65313020','696d61676577696474685f696d61'
.'67653120696d61676577696474685f696d6167653220696d6167657769'
.'6474685f696d6167653320696d61676577696474685f696d6167653420'
.'696d61676577696474685f696d6167653520696d61676577696474685f'
.'696d6167653620696d61676577696474685f696d6167653720696d6167'
.'6577696474685f696d6167653820696d61676577696474685f696d6167'
.'653920696d61676577696474685f696d616765313020','696d6167656'
.'865696768745f696d6167653120696d6167656865696768745f696d616'
.'7653220696d6167656865696768745f696d6167653320696d616765686'
.'5696768745f696d6167653420696d6167656865696768745f696d61676'
.'53520696d6167656865696768745f696d6167653620696d61676568656'
.'96768745f696d6167653720696d6167656865696768745f696d6167653'
.'820696d6167656865696768745f696d6167653920696d6167656865696'
.'768745f696d616765313020','73746174757320','737061726531207'
.'3706172653220737061726533207370617265342073706172653520737'
.'0617265362073706172653720737061726538207370617265392073706'
.'1726531302073706172653131207370617265313220','7374616d7020',
'7566696c655f696d6167653131207566696c655f696d61676531322075'
.'66696c655f696d6167653133207566696c655f696d6167653134207566'
.'696c655f696d6167653135207566696c655f696d616765313620756669'
.'6c655f696d6167653137207566696c655f696d6167653138207566696c'
.'655f696d6167653139207566696c655f696d6167653230207566696c65'
.'5f696d6167653231207566696c655f696d6167653232207566696c655f'
.'696d6167653233207566696c655f696d6167653234207566696c655f69'
.'6d616765323520','696d6167656e616d65313120696d6167656e616d6'
.'5313220696d6167656e616d65313320696d6167656e616d65313420696'
.'d6167656e616d65313520696d6167656e616d65313620696d6167656e6'
.'16d65313720696d6167656e616d65313820696d6167656e616d6531392'
.'0696d6167656e616d65323020696d6167656e616d65323120696d61676'
.'56e616d65323220696d6167656e616d65323320696d6167656e616d653'
.'23420696d6167656e616d65323520','696d61676577696474685f696d'
.'616765313120696d61676577696474685f696d616765313220696d6167'
.'6577696474685f696d616765313320696d61676577696474685f696d61'
.'6765313420696d61676577696474685f696d616765313520696d616765'
.'77696474685f696d616765313620696d61676577696474685f696d6167'
.'65313720696d61676577696474685f696d616765313820696d61676577'
.'696474685f696d616765313920696d61676577696474685f696d616765'
.'323020696d61676577696474685f696d616765323120696d6167657769'
.'6474685f696d616765323220696d61676577696474685f696d61676532'
.'3320696d61676577696474685f696d616765323420696d616765776964'
.'74685f696d616765323520','696d6167656865696768745f696d61676'
.'5313120696d6167656865696768745f696d616765313220696d6167656'
.'865696768745f696d616765313320696d6167656865696768745f696d6'
.'16765313420696d6167656865696768745f696d616765313520696d616'
.'7656865696768745f696d616765313620696d6167656865696768745f6'
.'96d616765313720696d6167656865696768745f696d616765313820696'
.'d6167656865696768745f696d616765313920696d61676568656967687'
.'45f696d616765323020696d6167656865696768745f696d61676532312'
.'0696d6167656865696768745f696d616765323220696d6167656865696'
.'768745f696d616765323320696d6167656865696768745f696d6167653'
.'23420696d6167656865696768745f696d616765323520','66696c656e'
.'616d6520','73706172653133207370617265313420737061726531352'
.'0737061726531362073706172653137207370617265313820737061726'
.'53139207370617265323020','63617074696f6e31312063617074696f'
.'6e31322063617074696f6e31332063617074696f6e3134206361707469'
.'6f6e31352063617074696f6e31362063617074696f6e31372063617074'
.'696f6e31382063617074696f6e31392063617074696f6e323020636170'
.'74696f6e32312063617074696f6e32322063617074696f6e3233206361'
.'7074696f6e32342063617074696f6e323520','666f726d61745f73706'
.'172653120666f726d61745f73706172653220666f726d61745f7370617'
.'2653320666f726d61745f73706172653420666f726d61745f737061726'
.'53520666f726d61745f73706172653620666f726d61745f73706172653'
.'720666f726d61745f73706172653820666f726d61745f7370617265392'
.'0666f726d61745f7370617265313020666f726d61745f7370617265313'
.'120666f726d61745f7370617265313220666f726d61745f73706172653'
.'13320666f726d61745f7370617265313420666f726d61745f737061726'
.'5313520666f726d61745f7370617265313620666f726d61745f7370617'
.'265313720666f726d61745f7370617265313820666f726d61745f73706'
.'17265313920666f726d61745f73706172653230','736f72746279','2'
.'d237374616d7023','7075626c6973685f737562','6d656e755f73756'
.'273','6572617365','6c697374','74656d70','43726561746520417'
.'27469636c65','5f7772697465725f6d656e75732e68746d6c','74656'
.'d702e646174','43617465676f727920456469746f72','5f6361745f6'
.'d656e75732e68746d6c','63617465676f72792e646174','6e756d206'
.'372656174656420637265617465645f627920757064617465642075706'
.'4617465645f6279206e616d6520736f726465725f64657072656361746'
.'56420','74656d706c6174655f66696c652061727469636c655f74656d'
.'706c6174655f66696c6520686561646c696e655f74656d706c6174655f'
.'66696c6520','7566696c655f696d616765207075625f66696c6570726'
.'5666978207075625f66696c657072656669785f7370656369667920',''
.'706572706167655f696e64657820706572706167655f686561646c696e'
.'65732068696464656e207072696e7465725f74656d706c6174655f6669'
.'6c6520','696d61676577696474685f696d61676520696d61676568656'
.'96768745f696d616765207075625f706572706167655f7370656369667'
.'920','6469725f7075626c6973682075726c5f7075626c697368207075'
.'626c6973685f73706563696679206469725f75706c6f61642075726c5f'
.'75706c6f616420','646973706c61795f6f6e6c7920706172656e74206'
.'76c6f62616c5f6f72646572207369626c696e675f6f726465722064657'
.'07468206c696e65616765','23676c6f62616c5f6f7264657223206e61'
.'6d65','41726368697665204d616e61676572','5f617263686976655f'
.'6d656e75732e68746d6c','617263686976652e646174','6e756d2063'
.'72656174656420637265617465645f6279207570646174656420757064'
.'617465645f6279206e616d6520636f756e74','236e756d23','616363'
.'6f756e74','5f6163636f756e745f6d656e75732e68746d6c','616363'
.'6f756e742e6461742e636769','6e756d2063726561746564206372656'
.'17465645f6279207570646174656420757064617465645f6279206e616'
.'d652069642070772061636c206e6f746573206361747320616c6c5f636'
.'1747320656d61696c5f6361747320656d61696c5f616c6c5f636174732'
.'0656d61696c5f6e6f74696669636174696f6e5f6576656e747320656d6'
.'1696c','6e616d65206964','73657373696f6e','73657373696f6e2e'
.'6461742e636769','7365747570','5f73657475705f6d656e75732e68'
.'746d6c','73657475702e6461742e636769','6e756d207469746c6562'
.'6172','20636f6e6669726d5f657261736520636f6e6669726d5f73617'
.'6656420636f6e6669726d5f6572617365642073657475705f7761726e6'
.'96e67','2075706c6f61646c696d69742075706c6f61646d6178207570'
.'6c6f61645f6865696768742075706c6f61645f77696474682075706c6f'
.'6164657874206c686f7572206c686f75725f6f6666736574206c6d696e'
.'206c6d696e5f6f66667365742072656731207265673220726567332064'
.'20632069','206469725f62617365206469725f75706c6f61642064697'
.'25f7075626c697368','2075726c5f696d6167652075726c5f68656c70'
.'2075726c5f75706c6f61642075726c5f7075626c6973682075726c5f6c'
.'6f676f6666207365617263685f75726c','2064656661756c745f61757'
.'46f666f726d617420616c6c6f775f68746d6c20616c6c6f775f6172745'
.'f7479706573206175746f5f7075626c697368','207075626c6973685f'
.'696e6465785f66696c65707265666978207075626c6973685f68656164'
.'6c696e655f66696c65707265666978207075626c6973685f6361745f66'
.'696c65707265666978207075626c6973685f6361745f686561646c696e'
.'655f66696c65707265666978207075626c6973685f6172745f66696c65'
.'707265666978207075626c6973685f6172745f7072696e7465725f6669'
.'6c65707265666978207075626c6973685f6361745f6c6973745f66696c'
.'65707265666978207075626c6973685f73616d706c65725f66696c6570'
.'7265666978207075626c6973685f66696c65657874','207075626c697'
.'3685f696e6465785f717479207075626c6973685f686561646c696e655'
.'f717479207075626c6973685f6361745f717479207075626c6973685f6'
.'361745f686561646c696e655f717479207075626c6973685f73616d706'
.'c65725f717479','207075626c6973685f696e646578207075626c6973'
.'685f686561646c696e6573207075626c6973685f636174207075626c69'
.'73685f6361745f686561646c696e6573207075626c6973685f61727469'
.'636c65207075626c6973685f7072696e746572207075626c6973685f6c'
.'6973745f6f665f63617473207075626c6973685f73616d706c6572','2'
.'07075626c6973685f7365617263685f666f726d5f66696c65707265666'
.'978207075626c6973685f7365617263685f666f726d','20676361745f'
.'6e616d65','20676c6f62616c5f75706461746564','20736669656c64'
.'5f6e616d653120736669656c645f6e616d653220736669656c645f6e61'
.'6d653320736669656c645f6e616d653420736669656c645f6e616d6535'
.'20736669656c645f6e616d653620736669656c645f6e616d6537207366'
.'69656c645f6e616d653820736669656c645f6e616d653920736669656c'
.'645f6e616d65313020736669656c645f6e616d65313120736669656c64'
.'5f6e616d653132','20736669656c645f6f726465723120736669656c6'
.'45f6f726465723220736669656c645f6f726465723320736669656c645'
.'f6f726465723420736669656c645f6f726465723520736669656c645f6'
.'f726465723620736669656c645f6f726465723720736669656c645f6f7'
.'26465723820736669656c645f6f726465723920736669656c645f6f726'
.'46572313020736669656c645f6f72646572313120736669656c645f6f7'
.'26465723132','20736669656c645f747970653120736669656c645f74'
.'7970653220736669656c645f747970653320736669656c645f74797065'
.'3420736669656c645f747970653520736669656c645f74797065362073'
.'6669656c645f747970653720736669656c645f74797065382073666965'
.'6c645f747970653920736669656c645f74797065313020736669656c64'
.'5f74797065313120736669656c645f747970653132','207075626c697'
.'3685f73796e6469636174655f66696c65707265666978207075626c697'
.'3685f73796e6469636174655f717479207075626c6973685f73796e646'
.'96361746520776562666565645f67656e5f616374697665','20762062'
.'72616e64696e6720666f6f746572207374617469635f61726368697665'
.'5f7061676573207669657765725f75726c207669657765725f70617468'
.'696e666f20616c6c6f775f6172745f66696c656e616d65','207366696'
.'56c645f6e616d65313320736669656c645f6e616d65313420736669656'
.'c645f6e616d65313520736669656c645f6e616d65313620736669656c6'
.'45f6e616d65313720736669656c645f6e616d65313820736669656c645'
.'f6e616d65313920736669656c645f6e616d653230','20736669656c64'
.'5f6f72646572313320736669656c645f6f72646572313420736669656c'
.'645f6f72646572313520736669656c645f6f7264657231362073666965'
.'6c645f6f72646572313720736669656c645f6f72646572313820736669'
.'656c645f6f72646572313920736669656c645f6f726465723230','207'
.'36669656c645f74797065313320736669656c645f74797065313420736'
.'669656c645f74797065313520736669656c645f7479706531362073666'
.'9656c645f74797065313720736669656c645f747970653138207366696'
.'56c645f74797065313920736669656c645f747970653230','20736f72'
.'74316669656c6420736f7274317265766572736520736f7274316e756d'
.'6572696320736f7274326669656c6420736f7274327265766572736520'
.'736f7274326e756d6572696320736f7274336669656c6420736f727433'
.'7265766572736520736f7274336e756d65726963','2073756d6d61727'
.'95f6e616d6520636f6e74656e745f6e616d652073756d6d6172795f747'
.'9706520636f6e74656e745f747970652073756d6d6172795f656e61626'
.'c656420636f6e74656e745f656e61626c6564','20736669656c645f65'
.'6e61626c65643120736669656c645f656e61626c65643220736669656c'
.'645f656e61626c65643320736669656c645f656e61626c656434207366'
.'69656c645f656e61626c65643520736669656c645f656e61626c656436'
.'20736669656c645f656e61626c65643720736669656c645f656e61626c'
.'65643820736669656c645f656e61626c65643920736669656c645f656e'
.'61626c6564313020736669656c645f656e61626c656431312073666965'
.'6c645f656e61626c6564313220736669656c645f656e61626c65643133'
.'20736669656c645f656e61626c6564313420736669656c645f656e6162'
.'6c6564313520736669656c645f656e61626c6564313620736669656c64'
.'5f656e61626c6564313720736669656c645f656e61626c656431382073'
.'6669656c645f656e61626c6564313920736669656c645f656e61626c65'
.'643230','207075626c6973685f68696464656e5f696e64657820656d6'
.'1696c5f6e6f74696669636174696f6e5f656e61626c6564206d61696c5'
.'f73656e6465725f656d61696c206d61696c5f73656e6465725f6e616d6'
.'5206d61696c5f6d61696c6572206d61696c5f73656e646d61696c206d6'
.'1696c5f736d7470206d61696c5f706f703361757468206d61696c5f706'
.'f7033206d61696c5f706f703375736572206d61696c5f706f703370617'
.'3732070617273655f737369','207365617263685f70726f6772616d5f'
.'61637469766520766965775f70726f6772616d5f616374697665207373'
.'695f687474705f617574685f757365726e616d65207373695f68747470'
.'5f617574685f70617373776f7264','20696e636c7564655f737562636'
.'1745f61727469636c6573206d61785f7375626361745f6465707468207'
.'375626361745f666f726d6174','48415348','44425f5365656b203a2'
.'054686520666972737420617267756d656e74206d75737420626520612'
.'048415348207265666572656e636521','44425f5365656b203a205468'
.'65207365636f6e6420617267756d656e74206d75737420626520612048'
.'415348207265666572656e636521','44425f5365656b203a204e6f207'
.'365656b206669656c64207761732073706563696669656421','43','6'
.'669656c646e','44425f4c697374203a20546865206669727374206172'
.'67756d656e74206d75737420626520612048415348207265666572656e'
.'636521','434f4445','44425f4c697374203a20546865207365636f6e'
.'6420617267756d656e74206d757374206265206120434f444520726566'
.'6572656e636521','44425f4c697374203a20546865207468697264206'
.'17267756d656e74206d757374206265206120484153482072656665726'
.'56e636521','44425f4c697374203a20416e6f6e207375622024726f77'
.'636f6465206973206e6f7420646566696e656421','44425f4c6973742'
.'03a204e6f206461746166696c6520646566696e656420696e206461746'
.'16261736520646566696e6974696f6e20282544424465662921','6e',
'2d','44425f4c697374203a2044424465662d3e736f7274627920636f6'
.'e7461696e7320756e6b6e6f776e206669656c64206e616d6520','a1',
'44425f4c69737450616765203a2054686520666972737420617267756d'
.'656e74206d75737420626520612048415348207265666572656e636521',
'44425f4c69737450616765203a2054686520746869726420617267756d'
.'656e74206d757374206265206120434f4445207265666572656e636521',
'44425f4c69737450616765203a20416e6f6e2073756220246d61746368'
.'636f6465206973206e6f7420646566696e656421','44425f4c6973745'
.'0616765203a204e6f206461746166696c6520646566696e656420696e2'
.'0646174616261736520646566696e6974696f6e2028254442446566292'
.'1','44425f4c69737450616765203a2044424465662d3e736f72746279'
.'20636f6e7461696e7320756e6b6e6f776e206669656c64206e616d6520',
'44425f4c69737453617665203a2044424465662d3e736f727462792063'
.'6f6e7461696e7320756e6b6e6f776e206669656c64206e616d6520','4'
.'14c4c','bf25303278','7072696e742022436f6e74656e742d7479706'
.'53a20746578742f68746d6c5c6e5c6e3c68746d6c3e3c2f68746d6c3e2'
.'23b','5f5f454e445f5f','44425f416464203a2054686520666972737'
.'420617267756d656e74206d75737420626520612048415348207265666'
.'572656e636521','44425f416464203a20546865207365636f6e642061'
.'7267756d656e74206d7573742062652061204841534820726566657265'
.'6e636521','736f72646572','44425f4c6f6164203a20546865206669'
.'72737420617267756d656e74206d757374206265206120484153482072'
.'65666572656e636521','44425f4c6f6164203a20546865207365636f6'
.'e6420617267756d656e74206d757374206265206120484153482072656'
.'66572656e636521','44425f4c6f6164203a204e6f207265636f726420'
.'6e756d626572207761732073706563696669656421','44425f44656c2'
.'03a2054686520666972737420617267756d656e74206d7573742062652'
.'0612048415348207265666572656e636521','44425f44656c203a2054'
.'6865207365636f6e6420617267756d656e74206d757374206265206120'
.'7265636f7264206e756d62657221','44425f53617665203a205468652'
.'0666972737420617267756d656e74206d7573742062652061204841534'
.'8207265666572656e636521','44425f53617665203a20546865207365'
.'636f6e6420617267756d656e74206d7573742062652061204841534820'
.'7265666572656e636521','44425f53617665203a204e6f207265636f7'
.'264206e756d626572207761732073706563696669656421','6d61785f'
.'66696c656c6f636b5f77616974','6578636c7573697665','41525241'
.'59','556e6b6e6f776e206669656c642022','2220696e20636f6e6469'
.'74696f6e3c62723e3c62723e','4c494b45','4e4f54204c494b45','3'
.'d3d','3c','3e','3c3d','3e3d','213d','4245545745454e','4e4f'
.'54204245545745454e','494e','28','207c7c20','29','4e4f54204'
.'94e','2128','556e6b6e6f776e206f70657261746f722022','284066'
.'203d2073706c6974282fa12f2929','6d792040663b2020407b2472656'
.'35f6e6f7061636b7d203d2067726570207b20','20262620','207d204'
.'07b247265635f6e6f7061636b7d3b','6d792040663b2020666f726561'
.'63682028407b247265635f6e6f7061636b7d29207b202069662028','2'
.'9207b20246d617463685f6e6f7061636b7b24665b305d7d2b2b3b207d2'
.'07d','66696c6573797374656d','3d','766172','436f756c646e277'
.'42066696e6420','21','66696c6573','64697273','646972203a205'
.'56e6b6e6f776e2066696c652074797065203a20','26','64656275675'
.'f6f7574707574','6370203a2063616e2774207265616420','6370203'
.'a2063616e277420777269746520','434f4e54454e545f4c454e475448',
'51554552595f535452494e47','52656164466f726d203a20496e70757'
.'42065786365656473206d617820696e707574206c696d6974206f6620',
'434f4e54454e545f54595045','524551554553545f4d4554484f44',''
.'504f5354','5f70617468','5f66696c65','5f657874','474554','7'
.'4727565','56','4d','41','44','6e6f2d6361636865','636163686'
.'5','706c61696e','737369','54656d706c6174653a20556e6b6e6f77'
.'6e2074656d706c61746520666c616720','54656d706c617465203a204'
.'e6f2074656d706c6174652066696c65207761732073706563696669656'
.'421','54656d706c617465203a20546865207365636f6e642061726775'
.'6d656e74206d75737420626520612048415348207265666572656e6365'
.'21','54656d706c617465203a2054656d706c6174652066696c6520',''
.'20636f756c64206e6f7420626520666f756e6421','54656d706c61746'
.'5203a20436f756c646e2774206f70656e20','5f7565','5f6865','5f'
.'6e627370','5f6a65','54656d706c61746543656c6c203a204e6f2074'
.'656d706c6174652063656c6c207761732073706563696669656421','5'
.'4656d706c61746543656c6c203a2054656d706c6174652063656c6c20',
'206973206e6f7420646566696e656421','54656d706c61746543656c6'
.'c203a20546865207365636f6e6420617267756d656e74206d757374206'
.'26520612048415348207265666572656e636521','5a','61','7a','2'
.'b','422a','4d494d453634203a204e6f7468696e6720746f206465636'
.'f6465','252525303278','536574436f6f6b6965203a20436f6f6b696'
.'5206e616d65206d75737420626520737065636966696564','53657443'
.'6f6f6b6965203a2045787069726520446174652069736e277420696e20'
.'7365636f6e6473207573696e672074696d6528293b','30','65787069'
.'7265733d','706174683d','646f6d61696e3d','7365637572653b20',
'5365742d436f6f6b69653a20','485454505f434f4f4b4945','6c616e'
.'6775616765','6f7264696e616c73','20307468','20317374','2032'
.'6e64','20337264','20347468','20357468','20367468','2037746'
.'8','20387468','20397468','31307468','31317468','31327468',
'31337468','31347468','31357468','31367468','31377468','313'
.'87468','31397468','32307468','32317374','32326e64','323372'
.'64','32347468','32357468','32367468','32377468','32387468',
'32397468','33307468','33317374','7765656b5f66756c6c','7765'
.'656b5f61626272','6d6f6e74685f66756c6c','6d6f6e74685f616262'
.'72','25','62','42','63','256d2f25642f25792025483a254d3a255'
.'3','256120256220256520255420255a202559','64','25303264','2'
.'56d2f25642f2579','65','253264','68','48','49','6a','253033'
.'64','6b','6c','6d','6f','70','50','71','72','25493a254d3a2'
.'553202570','52','25483a254d','73','53','74','54','25483a25'
.'4d3a2553','55','77','57','78','58','79','59','25303464','4'
.'4617465537472696e67203a2054696d652076616c7565206d757374206'
.'26520616e20696e7465676572','4a616e','466562','4d6172','417'
.'072','4d6179','4a756e','4a756c','417567','536570','4f6374',
'4e6f76','446563','4a616e75617279','4665627275617279','4d61'
.'726368','417072696c','4a756e65','4a756c79','417567757374',
'53657074656d626572','4f63746f626572','4e6f76656d626572','4'
.'46563656d626572','53756e','4d6f6e','547565','576564','5468'
.'75','467269','536174','53756e646179','4d6f6e646179','54756'
.'573646179','5765646e6573646179','5468757273646179','467269'
.'646179','5361747572646179','7374','6e64','7264','7468','7e',
'2573','252d20353073','3c696e70757420747970653d68696464656e'
.'206e616d653d22','222076616c75653d22','534d54505f73656e646d'
.'61696c','686f7374','706f7274','68656c6f','6c6f63616c686f73'
.'74','74696d656f7574','6465627567','6572726f72','706f70335f'
.'61757468','5c62283f3a5b5c775c2d5d2b5b5c775c2d5c2e5d292a5b5'
.'c775c2d5d2b5c40','283f3a5b5c775c2d5d2b5b5c775c2d5c2e5d292a'
.'5b5c775c2d5d2b5c2e5b412d5a612d7a5d7b322c387d5c62','66726f6'
.'d','706f70335f75736572','706f70335f70617373','534d54505f70'
.'6f703361757468','617574686f72697a6564','706f70335f686f7374',
'706f70335f706f7274','706f70335f74696d656f7574','5f73756273',
'46485f437265617465','66696c656c6f636b696e67','6c6f636b','7'
.'37461636b','736861726564','756e6c6f636b3a206e6573746564206'
.'6696c656c6f636b20756e64657272756e','66696c656c6f636b','6c6'
.'f636b696e666f','68616e646c65','73657276657262757379','6367'
.'69646972','2e2e2e','414e59','5b56414c55455d2c205b56414c554'
.'55d2c205b484153485d','6d61785f7373695f726563757273696f6e5f'
.'64657074685f616c6c6f776564','485454505f5353495f52454355525'
.'3494f4e5f4445505448','5f25303364','7373695f687474705f61757'
.'4685f757365726e616d65','7373695f687474705f617574685f706173'
.'73776f7264','417574686f72697a6174696f6e','70726576656e745f'
.'656e636f6465645f726573706f6e7365','4163636570742d456e636f6'
.'4696e67','43616368652d436f6e74726f6c','2c20','6e6f2d747261'
.'6e73666f726d','7365727665725f736964655f70617273696e67','64'
.'6f5f6e6f745f65726173655f74656d705f66696c6573','416c6c6f77',
'436f6e6e656374696f6e','436f6e74656e742d456e636f64696e67',''
.'436f6e74656e742d4c616e6775616765','436f6e74656e742d4c656e6'
.'77468','436f6e74656e742d4c6f636174696f6e','436f6e74656e742'
.'d4d4435','436f6e74656e742d52616e6765','436f6e74656e742d547'
.'97065','457870656374','45787069726573','486f7374','49662d4'
.'d61746368','49662d4d6f6469666965642d53696e6365','49662d4e6'
.'f6e652d4d61746368','49662d52616e6765','49662d556e6d6f64696'
.'66965642d53696e6365','4c6173742d4d6f646966696564','4d61782'
.'d466f727761726473','5445','547261696c6572','5472616e736665'
.'722d456e636f64696e67','55706772616465','566961','436f6f6b6'
.'965','3b20','5373692d526563757273696f6e2d4465707468','5245'
.'4d4f54455f41444452','5345525645525f41444452','4c4f43414c5f'
.'41444452','485454505f585f464f525741524445445f464f52','4854'
.'54505f434c49454e545f4950','582d466f727761726465642d466f72',
'436c69656e742d4950','5b56414c55455d','75726c','70726f746f6'
.'36f6c','6469726563746f7279','66696c65','7175657279','616e6'
.'3686f72','75695f73756273','5f','65646974','636f6e6669726d5'
.'f6572617365','7569','706167656e756d','64617465','637265617'
.'46564','5f6267636f6c6f72','23454545454646','23444444444545',
'5f6d656e755f686561646572','5f6d656e755f6e616d65','6d61785f'
.'7265636f726473','6572726f725f6d61785f7265636f726473','5f73'
.'656c6563746564','73656c6563746564','6e6f6e65','63726561746'
.'5645f6279','757064617465645f6279','616464','5f65646974','6'
.'e6f7265636f7264','5f636865636b6564','636865636b6564','5f63'
.'6f6e6669726d5f6572617365','6572617365203a2043616e277420666'
.'96e64207265636f7264202320','6469725f75706c6f6164','636f6e6'
.'669726d5f657261736564','657261736564','73617665203a2054616'
.'26c65206e616d6520756e646566696e6564','75706c6f6164657874',
'75706c6f61646c696d6974','75706c6f61646d6178','6d6573736167'
.'65','303030','75695f736176655f75706c6f616473203a2063616e27'
.'7420736176652075706c6f616465642066696c6520','75706c6f61645'
.'f686569676874','75706c6f61645f7769647468','6f776e6572','69'
.'6d6167657769647468','696d616765686569676874','7566696c65',
'73617665','6d617873697a65','6d6178686569676874','6d6178776'
.'9647468','616363657074657874','4e6f6e65','6572726f725f7570'
.'6c6f61645f6e6f745f7361766564','636f6e6669726d5f7361766564',
'7361766564','75695f6c697374203a205468652066697273742061726'
.'7756d656e74206d75737420626520612048415348207265666572656e6'
.'36521','5f6c697374616c6c','5f7374617465','5f70657270616765',
'5f6c697374','5f70636f756e74','5f6d636f756e74','5f72636f756'
.'e74','5f6370616765','5f6c70616765','5f6e70616765','6e6f745'
.'f666f756e645f736561726368','616363657373','61636c','6964',
'6572726f725f757365726e616d655f74616b656e','6572726f725f6c6'
.'173745f61646d696e','6c6f67696e5f696e76616c6964','6d61696c5'
.'f6d61696c6572','736d7470','6d61696c5f736d7470','534d5450',
'736d74705f68656c6f','736d74705f74696d656f7574','6d61696c5f'
.'706f703361757468','6d61696c5f706f7033','6d61696c5f706f7033'
.'75736572','6d61696c5f706f703370617373','73656e646d61696c',
'6d61696c5f73656e646d61696c','6669656c645f6e616d65','646972',
'6d6b646972','546865206162696c69747920746f20637265617465206'
.'e6577206469726563746f7269657320686173206265656e2072656d6f7'
.'665642066726f6d206f75722064656d6f2076657273696f6e2e2020',''
.'4120726567697374657265642076657273696f6e206f6620','70726f6'
.'75f6e616d65','20776f756c6420616c6c6f7720796f7520746f20646f'
.'20736f2e','6d6b66696c65','546865206162696c69747920746f2063'
.'7265617465206e65772066696c657320686173206265656e2072656d6f'
.'7665642066726f6d206f75722064656d6f2076657273696f6e2e2020',
'546865206162696c69747920746f2062726f7773652061726f756e6420'
.'796f75722073657276657220686173206265656e2072656d6f76656420'
.'66726f6d206f75722064656d6f2076657273696f6e2e2020','6469725'
.'f62617365','73646972','64656d6f','6d6b6469725f6e616d65','6'
.'469725f6572726f72','4e6f206469726563746f7279206e616d652073'
.'706563696669656421','4469726563746f7279206e616d65206d61792'
.'06f6e6c7920636f6e7461696e20412d5a2c20612d7a2c20302d392c202'
.'d206f72205f','556e61626c6520746f2063726561746520646972203a'
.'20','6d6b66696c655f6e616d65','66696c655f6572726f72','4e6f2'
.'066696c65206e616d652073706563696669656421','46696c65206e61'
.'6d65206d6179206f6e6c7920636f6e7461696e20412d5a2c20612d7a2c'
.'20302d392c202d2c205f206f72202e','46696c6520616c72656164792'
.'065786973747321','556e61626c6520746f206372656174652066696c'
.'65203a20','64697232','706172656e74','706172656e745f7565',''
.'4469726563746f727920646f65736e277420657869737421','4469726'
.'563746f72792069736e2774207265616461626c6521','636f6e74656e'
.'74686561646572','5f62726f7773655f6469722e68746d6c','706174'
.'68','706174685f7565','73697a65','6d74696d65','6d6f64696669'
.'6564','6f74686572','6e6f66696c6573','436f6e74656e742d74797'
.'0653a20696d6167652f676966','436f6e74656e742d747970653a2069'
.'6d6167652f6a706567','6c686f7572','6c686f75725f6f6666736574',
'6d696e7573','6c6d696e','6c6d696e5f6f6666736574','6c6f67696'
.'e','7077','6c6f67696e5f65787069726564','6c6f67696e5f74696d'
.'656f7574','436f6e74656e742d747970653a20746578742f68746d6c',
'5f696e746572666163652e68746d6c','75695f6c6f67696e5f696e746'
.'572666163653a2074656d706c61746563656c6c20','686561646572',
'6c6f67696e5f6d657373616765','666f6f746572','75726c5f6c6f67'
.'6f6666','3c6d65746120687474702d65717569763d225265667265736'
.'82220636f6e74656e743d22303b55524c3d','7374696d65','6c74696'
.'d65','656e765f7065726c5f6f73','656e765f7065726c5f766572',''
.'656e765f6d6f645f7065726c','656e765f72656d6f74655f686f7374',
'656e765f72656d6f74655f61646472','656e765f636769646972','73'
.'656e646d61696c5f726f77','2f7573722f6c69622f73656e646d61696'
.'c','2f7573722f62696e2f73656e646d61696c','2f7573722f7362696'
.'e2f73656e646d61696c','2f7573722f6c6f63616c2f62696e2f73656e'
.'646d61696c','2f7362696e2f73656e646d61696c','2f62696e2f7365'
.'6e646d61696c','2f6574632f73656e646d61696c','73656e646d6169'
.'6c5f6c697374','74616231','73657475705f7761726e696e67','636'
.'c6f73655f77696e646f775f6f6e5f636f6e6669726d','73657475705f'
.'746573746d61696c','5f73657475705f746573746d61696c2e68746d6'
.'c','5f636f6e74656e74','6d61696c5f74657374','706167655f7469'
.'746c65','54657374204d61696c','6d61696c746f','62616420656d6'
.'1696c2061646472657373','496e76616c696420656d61696c20616464'
.'72657373','6e6f20656d61696c2061646472657373','456d61696c20'
.'61646472657373206c65667420626c616e6b2e','63616e74206f70656'
.'e2074657374206d657373616765','626164206d61696c2074656d706c'
.'617465','7375622073656e646d61696c206572726f72','20','6d616'
.'96c207465737420737563636565646564','796573','6d61696c5f746'
.'573745f6661696c6564','4572726f723a204e6f20456d61696c204164'
.'6472657373','4572726f723a20496e76616c696420456d61696c20416'
.'46472657373','6e6f','4572726f723a2050726f626c656d207769746'
.'82054657374204d657373616765','4572726f723a2050726f62656c6d'
.'20776974682054657374204d657373616765','4572726f723a2050726'
.'f62656c6d2073656e64696e67204d657374204d657373616765','6d61'
.'696c5f746573745f737563636565646564','54657374204d61696c205'
.'37563636565646564','5f6261636b5f627574746f6e','54686520616'
.'2696c69747920746f20616c746572205365747570204f7074696f6e732'
.'0686173206265656e2072656d6f7665642066726f6d206f75722064656'
.'d6f2076657273696f6e2e2020','20776f756c6420616c6c6f7720796f'
.'7520746f206368616e676520616e79206f66207468657365206669656c'
.'64732e','73617665645f74616231','6d61785f7375626361745f6465'
.'707468','6465707468','72656733','496e76616c69642050726f647'
.'56374204944213c62723e','596f75206d75737420656e74657220796f'
.'75722050726f64756374204944213c62723e','72656732','596f7520'
.'6d75737420656e74657220796f757220646f6d61696e206e616d65213c'
.'62723e','72656731','596f75206d75737420656e74657220796f7572'
.'20636f6d70616e79206e616d65213c62723e','5f72656731','5f7265'
.'6732','5f72656733','74616239','5f6c6963656e73655f6e756d',''
.'25303764','6373756d','23','73756d6d6172795f74797065','636f'
.'6e74656e745f74797065','5f696d61676575726c','75726c5f696d61'
.'6765','5f75695f7469746c65','7469746c65626172','5f75695f666'
.'f6f746572','5f75726c5f68656c70','75726c5f68656c70','707562'
.'6c69736865645f616c6c','496e74657266616365203a204e6f2074656'
.'d706c6174652063656c6c207761732073706563696669656421','496e'
.'74657266616365203a20546865207365636f6e6420617267756d656e74'
.'206d75737420626520612048415348207265666572656e636521','6e6'
.'f5f68656c70','6d656e756261725f61636c','6d656e75626172','5f'
.'6f6e6c79','5f63757365725f6964','696e74657266616365','3c212'
.'d2d','2076','20284275696c643a20','70726f645f6964','4c69636'
.'56e73652023','207e20','457865637574652074696d653a202530316'
.'4207365636f6e6473','2d2d3e','64617461646972','6e6f77726974'
.'65','64656d6f5f6d657373616765','73657475705f74616273','746'
.'1625f6e756d','7461625f6e616d65','7461625f756e73656c6563746'
.'564','7461625f73656c6563746564','5f6865616465725f746162',''
.'7461625f626172','7461625f6c697374','4334','696e736964655f7'
.'37369','54656d706c617465203a20546865207365636f6e6420617267'
.'756d656e74206d75737420626520612048415348207265666572656e63'
.'65206f7220756e646566696e656421','696e636c75646573','617364'
.'66','636c6f7365','557365722d4167656e74','6170706c696361746'
.'96f6e2f782d7777772d666f726d2d75726c656e636f646564','646f6e'
.'745f666f72776172645f687474705f68656164657273','20485454502'
.'f312e30','3a20','696d675f616c69676e','61727469636c655f6564'
.'69746f72','696d6167655f616c69676e6d656e74','7269676874','6'
.'96d675f75726c','696d675f63617074696f6e','696d675f686569676'
.'874','696d675f7769647468','696d675f6e6f63617074696f6e','3c'
.'6d657461206e616d653d2267656e657261746f722220636f6e74656e74'
.'3d22','3c212d2d204c617374205570646174656420','202d2d3e','5'
.'f5f4449455f5f','5f5f5741524e5f5f','656d61696c5f6e6f7469666'
.'9636174696f6e5f656e61626c6564','6e6f74696669636174696f6e5f'
.'6576656e7473','2c','656d61696c','6576656e745f6e616d6573',''
.'2d2d2d','7374617475735f6e616d6573','70656e64696e67','76697'
.'369626c65','757365725f66756c6c6e616d65','6576656e74','7572'
.'6c5f736561726368','7365617263685f75726c','7075626c6973685f'
.'696e6465785f66696c65707265666978','7075626c6973685f6865616'
.'46c696e655f66696c65707265666978','6172745f636174','66696c6'
.'55f686561646c696e65735f6279636174','7075626c6973685f73616d'
.'706c65725f66696c65707265666978','66696c655f736561726368',''
.'7075626c6973685f7365617263685f666f726d5f66696c657072656669'
.'78','75726c5f7468697370616765','6172745f66696c656e616d65',
'6d61696c5f73656e6465725f656d61696c','6d61696c5f73656e64657'
.'25f6e616d65','656d61696c2f6e6f746966792e747874','546865206'
.'56d61696c2074656d706c617465206e6f746966792e747874206973206'
.'96d70726f7065726c7920666f726d61747465642e','436f6e74656e74'
.'2d547970653a20746578742f706c61696e','656d61696c5f616c6c5f6'
.'3617473','656d61696c5f63617473','656d61696c5f6e6f746966696'
.'36174696f6e5f6576656e7473','6e6f74696669636174696f6e735f74'
.'6f5f6669656c64','6263635f6c6973745f736570617261746f72','63'
.'61745f6572617365','6361745f636f6e6669726d5f6572617365','63'
.'7573746f6d5f75695f736176655f75706c6f616473203a2063616e2774'
.'20736176652075706c6f616465642066696c6520','7669727475616c5'
.'f7075626c6973685f646972','7075626c6973686469725f66696c6570'
.'617468','7075626c6973686469725f7669727475616c70617468','76'
.'69727475616c5f6763617465676f72696573','7669727475616c5f676'
.'86561646c696e6573','7669727475616c5f686561646c696e65735f62'
.'79636174','7669727475616c5f736561726368','6361745f67656e65'
.'726174655f62726561646372756d625f68746d6c','63617465676f727'
.'95f62726561646372756d622e68746d6c','5f62726561646372756d62'
.'5f6c696e6b','62726561646372756d625f6c696e6b','5f6272656164'
.'6372756d625f6c696e6b5f73656c6563746564','62726561646372756'
.'d625f6c696e6b5f73656c6563746564','62726561646372756d625f64'
.'697669646572','676c6f62616c5f6f72646572','616c6c5f63617473',
'63617473','646973706c61795f6f6e6c79','6361745f67656e657261'
.'74655f62726561646372756d625f74657874','63617465676f7269657'
.'3','6d61785f62726561646372756d625f6f7074696f6e5f6c656e6774'
.'68','6f7074696f6e5f696e64656e746174696f6e5f737472696e67',''
.'6f7074696f6e5f696e64656e746174696f6e5f737566666978','5f756'
.'95f6267636f6c6f72','53657276657220746f6f206275737921','417'
.'27469636c65732063616e6e6f74206265206163636573736564206f722'
.'07361766564207269676874206e6f772e20536f6d656f6e6520656c736'
.'520697320747279696e6720746f2073617665207468656972206172746'
.'9636c652c206f72207468652073797374656d20697320696e207468652'
.'06d69647374206f662072652d7075626c697368696e67206f722061726'
.'3686976696e672061727469636c65732e20506c6561736520776169742'
.'061206d6f6d656e7420616e64207468656e2074727920616761696e2e',
'6d6163667470','7075626c697368','6d6f645f7065726c','6e6f686'
.'56c70','4e6f2048656c7020417661696c61626c65','536f7272792c2'
.'06e6f2068656c702069732063757272656e746c7920617661696c61626'
.'c6520666f722074686973206170706c69636174696f6e2e2020506c656'
.'1736520636f6e7461637420796f75722073797374656d2061646d696e6'
.'973747261746f7220666f7220617373697374616e63652e','4e6f2073'
.'7563682066696c65206f72206469726563746f7279','5065726d69737'
.'3696f6e2064656e696564','206f6e436c69636b3d2277696e646f772e'
.'636c6f736528293b2220','5343524950545f4e414d45','6267636f6c'
.'6f72','2e2e2f646174612f','2e2e2f646174612f66696c656c6f636b'
.'2e6c6f636b','256220256f2c202559202d2025483a254d3a2553','25'
.'622025652c202559','6e6f5f7765625f736572766572','4d4f445f50'
.'45524c','616c6c6f775f6d6f645f7065726c','63676975726c','636'
.'76966696c65','2e2e2f74656d706c61746573','74656d706c6174656'
.'4697232','2e2e2f74656d706c617465732f696e74657266616365','7'
.'4656d706c61746564697233','2e2e2f5f736f757263655f696d616765'
.'73','69','506c6561736520696e7374616c6c207468652070726f6772'
.'616d2066697273742062792072756e6e696e672061646d696e2e636769',
'5f70726f675f6e616d65','5f70726f675f766572','5f76656e646f72'
.'5f6e616d65','76656e646f725f6e616d65','5f76656e646f725f7572'
.'6c','76656e646f725f75726c','5f76656e646f725f6c6f636174696f'
.'6e','76656e646f725f6c6f636174696f6e'
);for(@z){$_=pack('H*',$_)}}BEGIN{eval$z[0];if(!$@){use vars
qw($___script_start_time);$___script_start_time=Time::HiRes::time();
}};use Socket;use Time::Local;use Fcntl qw(:DEFAULT :flock);
%ab=();%ac=();%ad=();%ae=();%af=();%ag=();%ah=();%ai=();$ab{$z[1]}
=$z[2];$ab{$z[3]}=$z[4];$ab{$z[5]}=20;@aj[0,1,2,3,9]=($z[6],$z[7],$z[8],$z[9],$z[10]);
$SIG{__DIE__}=\&ak;srand;$|=1;$^T=time();binmode(STDOUT);&al;
sub um{;}MAIN:;if(!$ac{$z[11]}&&$ac{$z[12]}>=1.33){$ad{$z[13]}
=$ac{$z[13]};print"Content-type: text/html\n\n";my$am=&an($z[14],
{});&ao($am);exit;}&ap();my$aq=length$ag{$z[15]}?int$ag{$z[15]}
:undef;if($aq){$ae{$z[16]}{$z[17]}="archive$aq.dat";}my%ar;
my$as;my$at;if(length$ag{$z[18]}&&$ag{$z[18]}){$at=1;}elsif
(length$ag{$z[18]}&&!$ag{$z[18]}){$at=0;}else{$at=$ac{$z[19]};
}my@au=grep{$_}map{int($_)}split(/,/,$ag{$z[20]});my@av;if($at)
{my$aw=&ax($z[20]);foreach(keys%$aw){my$ay=$aw->{$_};my$az=
0;my$ba;foreach$ba(@au){my$bb=$aw->{$ba}{$z[21]};if($ay->{$z[21]}
=~/^$bb/){$az=1;}}if($az){push@av,$ay->{$z[22]};}}}my%bc=map
{$_,1}(@au,@av);my@bc=keys%bc;my$bd;my$be;if(scalar(@au)==1)
{$ar{$z[23]}=$au[0];$be=$au[0];$bd=1;}else{$ar{$z[23]}=undef;
}my($bf,$bg);$bf=sprintf($z[24],$ag{$z[25]},$ag{$z[26]},$ag{$z[27]}
)if($ag{$z[25]}&&$ag{$z[26]}&&$ag{$z[27]});$bg=sprintf($z[24],
$ag{$z[28]},$ag{$z[29]},$ag{$z[30]})if($ag{$z[28]}&&$ag{$z[29]}
&&$ag{$z[30]});my$bh=&bi();$ad{$z[31]}=$ac{$z[32]}.$ar{$z[23]}
.$z[33].$ac{$z[34]};$ad{$z[35]}=$ac{$z[36]}.$ar{$z[23]}.$z[33]
.$ac{$z[34]};$ad{$z[37]}=$bh.$ad{$z[31]};$ad{$z[38]}=$bh.$ad{$z[35]};
if($bd){$ad{$z[31]}=$ac{$z[32]}.$be.$z[33].$ac{$z[34]};$ad{$z[35]}
=$ac{$z[36]}.$be.$z[33].$ac{$z[34]};}else{$ad{$z[31]}=$ad{$z[39]};
$ad{$z[35]}=$ad{$z[40]};}$ad{$z[41]}=&bj($z[42],[]);if(!keys
%ag){&bk($ae{$z[15]},sub{my$aq=shift;$ad{$z[43]}.=$z[44].$aq->{$z[22]}.$z[45].$aq->{$z[46]};
});my($bl,$bm);if($ac{$z[47]}){$bm=&bn($z[48],{});my$bo={$z[49]
=>"$ac{'dir_publish'}",$z[50]=>"$ac{'url_publish'}",};($bl,
$bm)=&bp($bm,$ac{$z[34]},$bo);}else{$bl="Content-type: text/html\n\n";
$bm=&bn($z[48],{},$z[51],undef,$ac{$z[52]});}&ao($bl,$bm);exit;
}$ag{$z[53]}||=$z[54];$ag{$z[55]}||=10;$ag{$z[56]}||=1;my($bq);
foreach$bq(sort keys%ag){$ad{"in_$bq"}=$ag{$bq};$ad{$z[57]}
.="in_$bq"." = ".$ad{"in_$bq"}." $fw ";print
" Stack Trace ($gk) called from ($fy) line ($ez) ";print
" $tx",
$ug)],$z[513]=>[("Filelock Error!","This web application uses 'file locks' to ensure than only one user can update data at a time. The program was halted while in the middle of writing/accessing data because it could not obtain a filelock. Please ask your server administrator to fix the permissions (you need read-write access on your data directory). For your reference, the filelock error was: '$tx'.",
$ug)],$z[516]=>[($z[902],$z[903],$ug)],$z[904]=>[("Warning: Program corrupted during upload!",
"This is usually caused by Mac FTP clients that have an \"Translate ISO characters\" setting enabled. If you are using a Mac, try disabling this setting and re-uploading all the files, otherwise, contact support for assistance. ",
$uf)],$z[905]=>[("Publishing Error","The program cannot create or write to the file: The error was: $tx",
$ug)],);my($uh)=$ad{$z[785]}||$tz{$gh}[0]||"Program Message";
if($tz{$gh}[0]){$ua=$tz{$gh}[0];}elsif($tx&&$gh){$ua=&gl($gh);
}else{$ua="Program Message";}$ns=$tz{$gh}[1]||$tx||&gl("@_");
if(!$tz{$gh}[1]){$ns=~s/\n/ Stack Trace ";
print"
";}my%br;my$bs;foreach$bs
('',$z[58],$z[59],$z[60]){opendir AC,$ab{$z[61]}.$z[62].$bs;
%br=(%br,map{$bs.$_,1}grep{not-d"$ab{'templatedir1'}/$bs$_"
}readdir(AC));closedir AC;}unless($br{$ag{$z[53]}}){&ak($z[63]);
}&bn($ag{$z[53]},{},'','',$ac{$z[52]});my(%bt,%bu,%bv,%bw,%bx,
%by,%bz,%ca);$as=sub{my%cb=%{shift()};$bt{$cb{$z[22]}}=$cb{$z[46]};
$by{$cb{$z[22]}}=$cb{$z[64]};$bv{$cb{$z[22]}}=$cb{$z[65]};$bu{$cb{$z[22]}}
=$cb{$z[66]}?"$ac{'url_upload'}$cb{'ufile_image'}":"$ac{'url_image'}spacer.gif";
$bw{$cb{$z[22]}}=$cb{$z[67]};$bx{$cb{$z[22]}}=$cb{$z[68]};if
($cb{$z[69]}){$ca{$cb{$z[22]}}{$z[13]}=$cb{$z[13]};$ca{$cb{$z[22]}}{$z[70]}
=$cb{$z[70]};}else{$ca{$cb{$z[22]}}{$z[13]}=$ac{$z[13]};$ca{$cb{$z[22]}}{$z[70]}
=$ac{$z[70]};}if($cb{$z[22]}){my$cc=$cb{$z[71]}?$cb{$z[72]}
:$ac{$z[73]}.$cb{$z[22]};$bz{$cb{$z[22]}}=$ac{$z[13]}.$cc.$z[33]
.$ac{$z[34]};}else{$bz{$cb{$z[22]}}=$ad{$z[74]};}};&bk($ae{$z[20]},
$as);if($bd){$ad{$z[75]}=$bz{$be};}else{$ad{$z[75]}=$ad{$z[74]};
}&bk($ae{$z[15]},sub{my$aq=shift;$ad{$z[43]}.=$z[44].$aq->{$z[22]}.$z[45].$aq->{$z[46]};
});my@cd;if($ag{$z[76]}){@cd=split(/[\s,]+/,$ag{$z[76]});foreach
(@cd){$_=~s/art_field/spare/ig;$_=~s/art_//ig;}}else{foreach
($z[46],$z[77],$z[78],map{$z[79].$_}1..$ab{$z[5]}){push(@cd,$_);
}}my$ce;$as=sub{my$cf=shift;return unless($cf->{$z[20]});return
if($cf->{$z[80]}!=2);return if($bv{$cf->{$z[20]}});if(@bc){
my$cg;my$cb;foreach$cb(@bc){if($cb==$cf->{$z[20]}){$cg=1;}}
return if!$cg;}my$ch=sprintf($z[24],@{$cf}{qw/year mon day/});
if($bf&&$bg){return unless($ch>=$bf&&$ch<=$bg);}elsif($bf){
return unless($ch>=$bf);}elsif($bg){return unless($ch<=$bg);
}my$ci;my$cj=($af{$z[81]}{$z[82]}?'':$z[83]).quotemeta($ag{$z[84]});
foreach(@cd){$ci++if($cf->{$_}=~m/$cj/i);}return if(defined
$ag{$z[84]}&¬$ci);$ar{$z[85]}++;if($ar{$z[85]}>=$ag{$z[56]}
&&$ar{$z[85]}<$ag{$z[56]}+$ag{$z[55]}){my($ck,$cl);foreach$ck
(keys%{$cf}){$cl->{$z[86].$ck}=$cf->{$ck};}$cl->{$z[87]}=~s|\n|
\n|g
if$cf->{$z[88]};$cl->{$z[89]}=~s|\n|
\n|g if$cf->{$z[90]};
for(1..$ab{$z[5]}){$cl->{$z[91].$_}=~s|\n|
\n|g if$cf->{$z[92]
.$_};}my@cm=($cf->{$z[25]},$cf->{$z[26]}-1,$cf->{$z[27]},$cf->{$z[93]}
+($cf->{$z[94]}eq$z[95]?12:0),$cf->{$z[96]});$cl->{$z[97]}=
&cn($ab{$z[98]},@cm);$cl->{$z[99]}=&cn($ab{$z[100]},@cm);$cl->{$z[23]}
=$cf->{$z[20]};$cl->{$z[101]}=$bt{$cf->{$z[20]}};$cl->{$z[102]}
=&co($cf->{$z[20]});$cl->{$z[103]}=$bu{$cf->{$z[20]}};$cl->{$z[104]}
=$bw{$cf->{$z[20]}};$cl->{$z[105]}=$bx{$cf->{$z[20]}};$cl->{$z[106]}
=$ca{$cf->{$z[20]}}{$z[13]}.($ac{$z[107]}&&$cf->{$z[108]}?$ac{$z[109]}
.$cf->{$z[108]}:$ac{$z[109]}.$cf->{$z[22]}).$z[33].$ac{$z[34]};
$cl->{$z[31]}=$ac{$z[32]}.$cf->{$z[20]}.$z[33].$ac{$z[34]};
$cl->{$z[35]}=$ac{$z[36]}.$cf->{$z[20]}.$z[33].$ac{$z[34]};
$cl->{$z[110]}=$bz{$cf->{$z[20]}};$cl->{$z[111]}=$ca{$cf->{$z[20]}}{$z[13]}
.($ac{$z[107]}&&$cf->{$z[108]}?$cf->{$z[108]}:$ac{$z[112]}.
$cf->{$z[22]}).$z[33].$ac{$z[34]};if(defined$aq){if($ac{$z[113]})
{$cl->{$z[111]}=$ac{$z[114]}.$z[62].$aq.$z[62].$cl->{$z[115]};
}else{$cl->{$z[111]}=$ac{$z[114]}.$z[116].$aq.$z[117].$cl->{$z[115]};
}}if($cf->{$z[118]}==3){$cl->{$z[119]}="http://$cf->{'link'}"
unless($cf->{$z[119]}=~m|^\w+://|);$cl->{$z[111]}=$cf->{$z[119]}
}if($cf->{$z[118]}==4){$cl->{$z[111]}=$ca{$cf->{$z[20]}}{$z[70]}
.$cf->{$z[120]};}foreach(1..25){$cl->{$z[121].$_}=$ca{$cf->{$z[20]}}{$z[70]}
.$cf->{"ufile_image$_"};$cl->{$z[122].$_}=$cf->{$z[122].$_};
$cl->{$z[68].$_}=$cf->{$z[68].$_};$cl->{$z[67].$_}=$cf->{$z[67]
.$_};}$cl->{$z[87]}=&cp($cl->{$z[87]},$cl,'');$cl->{$z[89]}
=&cp($cl->{$z[89]},$cl,'');foreach(1..$ab{$z[5]}){if($cl->{$z[91]
.$_}=~/\*{3}image(\d+)(:\w+)?\*{3}/s){$cl->{$z[123].$_}=&cp($cl->{$z[91]
.$_},$cl,'');}else{$cl->{$z[123].$_}=$cl->{$z[91].$_};}}my$cq
=($z[124],$z[125],$z[126],$z[127])[$cf->{$z[118]}-1];$ar{$z[128]}
.=&cr($cq,$cl,($ce++% 2==0)?'':$z[129]);}};&bk($ae{$z[16]},
$as);if(!$ar{$z[128]}){$ar{$z[128]}=&cs($z[130],{});$ar{$z[85]}
=0;}else{if($ag{$z[56]}>1){my$ct=$ag{$z[56]}-$ag{$z[55]};$ct
=1 if$ct<1;$ar{$z[131]}=&cs($z[131],{$z[132]=>$ad{$z[133]}.
$z[134].&cu({%ag,$z[56]=>$ct})});}elsif(defined$ab{$z[135]}{$z[136]}{$z[137]})
{$ar{$z[131]}=&cs($z[137],{});}if($ar{$z[85]}>=$ag{$z[56]}+
$ag{$z[55]}){my$cv=$ag{$z[56]}+$ag{$z[55]};$ar{$z[138]}=&cs($z[138],
{$z[139]=>$ad{$z[133]}.$z[134].&cu({%ag,$z[56]=>$cv})});}elsif
(defined$ab{$z[135]}{$z[136]}{$z[140]}){$ar{$z[138]}=&cs($z[140],
{});}}$ar{$z[141]}=&cw($ar{$z[85]}/$ag{$z[55]});$ar{$z[142]}
=&cw($ag{$z[56]}/$ag{$z[55]});$ar{$z[143]}=$ag{$z[56]};$ar{$z[144]}
=&cx($ag{$z[56]}+$ag{$z[55]}-1,$ar{$z[85]});if($bd){$ar{$z[101]}
=$bt{$be};$ar{$z[102]}=&co($be);$ar{$z[145]}=&cn($ab{$z[146]},
&cy($by{$be}))if$by{$be};$ar{$z[103]}=$bu{$be};$ar{$z[105]}
=$bx{$be}||1;$ar{$z[104]}=$bw{$be}||1;}else{$ar{$z[101]}=$ac{$z[147]};
$ar{$z[102]}=&co(0);$ar{$z[145]}=&cn($ab{$z[146]},&cy($ac{$z[148]}))
if$ac{$z[148]};}my($bl,$bm);if($ac{$z[47]}){$bm=&bn($ag{$z[53]},
\%ar);my$bo={$z[49]=>"$ac{'dir_publish'}",$z[50]=>"$ac{'url_publish'}",
};($bl,$bm)=&bp($bm,$ac{$z[34]},$bo);}else{$bl="Content-type: text/html\n\n";
$bm=&bn($ag{$z[53]},\%ar,$z[51],undef,$ac{$z[52]});}&ao($bl,
$bm);exit;sub ao{my$cz=join'',@_;if(-f"$ab{'cgidir'}/display_resource_usage.pl")
{eval"require \"$ab{'cgidir'}/display_resource_usage.pl\"";
$cz=~s/^Content-Length.*?\n//m;print$cz ;&display_resource_usage();
}else{print$cz ;}exit;}sub al{my$da=$0;$da=~s/.*[\\\/]//;my
@db=($0,$ENV{$z[149]});my$dc=(grep(/$cgifile$/i&&s/^(.*)[\\\/].*/$1/,@db))[0];
$dc||=(($^O=~/mswin/i?`cd`:`pwd`)=~/(.*)/)[0];$dc=~s/\\/\//g;
if(!$dc){die("Can't determine cgi directory!\n");}$ae{$z[16]}
={$z[46]=>$z[16],$z[150]=>$z[151],$z[152]=>$z[153],$z[17]=>
$z[154],$z[76]=>$z[155].$z[156].$z[157].$z[158].$z[159].$z[160]
.$z[161].$z[162].$z[163].$z[164].$z[165].$z[166].$z[167].$z[168]
.$z[169].$z[170].$z[171].$z[172].$z[173],$z[81]=>$z[46],$z[174]
=>$z[175],$z[176]=>\&dd,$z[177]=>[[$z[178],\&de],[$z[179],\&df
],],};$ae{$z[180]}={$z[46]=>$z[16],$z[150]=>$z[181],$z[152]
=>$z[182],$z[17]=>$z[183],$z[76]=>$ae{$z[16]}{$z[76]},$z[81]
=>$ae{$z[16]}{$z[81]},$z[174]=>$ae{$z[16]}{$z[174]},$z[177]
=>[[$z[179],\&df],],};$ae{$z[20]}={$z[46]=>$z[20],$z[150]=>
$z[184],$z[152]=>$z[185],$z[17]=>$z[186],$z[76]=>$z[187].$z[188].
$z[189].$z[190].$z[191].$z[192].$z[193],$z[81]=>$z[46],$z[174]
=>$z[194],$z[176]=>\&dg,$z[177]=>[[$z[178],\&dh],[$z[179],\&di
],],};$ae{$z[15]}={$z[46]=>$z[15],$z[150]=>$z[195],$z[152]=>
$z[196],$z[17]=>$z[197],$z[76]=>$z[198],$z[81]=>$z[46],$z[174]
=>$z[199],$z[177]=>[[$z[179],\&dj],],};$ae{$z[200]}={$z[46]
=>$z[200],$z[152]=>$z[201],$z[17]=>$z[202],$z[76]=>$z[203],
$z[81]=>$z[204],$z[174]=>$z[46],$z[177]=>[[$z[178],\&dk],[$z[179],
\&dl],],};$ae{$z[205]}={$z[46]=>$z[205],$z[17]=>$z[206],$z[76]
=>$ae{$z[200]}{$z[76]},};$ae{$z[207]}={$z[46]=>$z[207],$z[152]
=>$z[208],$z[17]=>$z[209],$z[76]=>$z[210].$z[211].$z[212].$z[213]
.$z[214].$z[215].$z[216].$z[217].$z[218].$z[219].$z[220].$z[221]
.$z[222].$z[223].$z[224].$z[225].$z[226].$z[227].$z[228].$z[229]
.$z[230].$z[231].$z[232].$z[233].$z[234].$z[235],};1;;sub od
{my$ae=$_[0];my($dm)="$ab{'datadir'}$ae->{'datafile'}";my(@dn);
if(ref($ae)ne$z[236]){die"DB_Count : The first argument must be a HASH reference!\n";
}if(!$ae->{$z[17]}){die"DB_Count : No datafile defined in database definition (\%DBDef)!\n";
}unless(-e$dm){return(0);}&dp;open(AB,"<$dm")||&dq("DB_Count : Can't open '$dm'");
@dn=grep/^\d/,
",map{&gl($_)}@_)."\n
";
}sub un{my($gm,$gn)=@_;local(*AD);local(*AE);open(AD,"<$gm")
||die($z[311]."$gm : $!\n");open(AE,">$gn")||die($z[312]."$gn : $!\n");
binmode(AD);binmode(AE);print AE
\n/g;
print"
\n\n";}sub kk{my($kg,%bo,$AH);%bo=%{$_[0]};
$AH="\x0D\x0A";local(*AI);if(!$bo{$z[499]}){die("SMTP_pop3auth: POP3 username not defined'\n");
}if(!$bo{$z[500]}){die("SMTP_pop3auth: POP3 password not defined'\n");
}if($ab{$z[501]}{$z[502]}){return 1;}my($gw,$kn,$gv,$la,$kp,$fv);
$gw=$bo{$z[503]}||$bo{$z[488]};$kn=$bo{$z[504]}||110;$gv=$bo{$z[499]};
$la=$bo{$z[500]};$kp=$bo{$z[505]}||$bo{$z[492]}||30;$fv=$bo{$z[493]}
||0;$kp+=time()if$kp<10**8&&$kp>0;if($gw=~s/:(\d+)//){$kn=$1;
}$gw=&kq($gw);my($kt)=gethostbyname($gw)||do{$ab{$z[494]}="Could not connect to POP3 server. Unknown host $gw\n";
return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ab{$z[494]}
="Could not connect to POP3 server. No Socket: $!\n";return
0;};connect(AI,pack"SnA4x8",PF_INET,$kn,$kt)||do{if($!eq"Unknown error")
{$ab{$z[494]}="Could not connect to POP3 server. POP3 server does not exist or is not responding.\n";
return 0;}else{$ab{$z[494]}="Could not connect to POP3 server. Connect failed: $!\n";
return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$ku
=&kl(\*AI,$kp)||do{$ab{$z[494]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($fv){&ki($ku);}if(uc(substr($ku,0,3))ne"+OK")
{$ab{$z[494]}="An unknown error occured. Server response: $ku\n";
return 0;}print AI"USER $gv",$AH;if($fv){&ki("USER $gv",$AH);
}$ku=&kl(\*AI,$kp)||do{$ab{$z[494]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($fv){&ki($ku);}if(substr($ku,0,3)ne"+OK"){$ab{$z[494]}
="The server didn't accept the login info for '$gv'. Server response: $ku\n";
return 0;}print AI"PASS $la",$AH;if($fv){&ki("PASS $la",$AH);
}$ku=&kl(\*AI,$kp)||do{$ab{$z[494]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($fv){&ki($ku);}if(substr($ku,0,3)ne"+OK"){$ab{$z[494]}
="The server didn't accept the login info for '$gv'. Server response: $ku\n";
return 0;}print AI"QUIT",$AH;if($fv){&ki("QUIT",$AH);}close(AI);
$ab{$z[501]}{$z[502]}=1;return 1;}sub km{my$AJ=$_[0];my$kp=
$_[1]||$z[355];my($lb,$ld,$le,$lf,$lg,$lh,$li);fileno($AJ)||
die("fh_can_read: invalid filehandle or filehandle not open!\n");
vec($lb,fileno($AJ),1)=1;$li=select($ld=$lb,undef,undef,$kp);
return vec($ld,fileno($AJ),1);}sub kl{my$AJ=$_[0];my$kp=int($_[1]);
if(!$kp){die("FH_readline: no timeout value specified!\n");
}if($kp<10**8){die("FH_readline: timeout value must be in time() format!\n");
}fileno($AJ)||die("FH_readline: invalid filehandle or filehandle not open!\n");
my($ez,$lj);while($kp>=time()){&km(\*AI,0.25)||next;sysread(\*AI,$lj,
1)||last;$ez.=$lj;if($lj eq"\x0A"){last;}}return$ez;}sub lt
{my$lk=$ab{$z[506]}{$z[507]}||={};my$ll=int++$lk->{$z[22]};
my$gd="FH$ll";return eval"local *$gd";}sub fg{return unless
($af{$z[508]});my$lk=$ab{$z[506]}{$z[509]}||={};$lk->{$z[510]}
||=[];my($lm,$kp)=@_;$lm||=$z[274];$kp||=0;if($lm ne$z[274]
and$lm ne$z[511]){&ak("lock: invalid lock type: '$lm'");}my
$ln;if(@{$lk->{$z[510]}}>0){$ln=$lk->{$z[510]}[-1];}if($ln
eq$z[274]){$lm=$ln;}if($ln eq$lm){push(@{$lk->{$z[510]}},$lm);
return 1;}my$lo;if($ln eq$z[511]and$lm eq$z[274]){&ak("lock: cannot upgrade a 'shared' lock to an 'exclusive' lock");
}$lo=&lp('',$lm,$kp);if($lo){push(@{$lk->{$z[510]}},$lm);}return
$lo;}sub fh{return unless($af{$z[508]});my$lk=$ab{$z[506]}{$z[509]}
||={};$lk->{$z[510]}||=[];my($kp)=@_;$kp||=0;unless(@{$lk->{$z[510]}}
>0){&ak($z[512])}my$ln=pop(@{$lk->{$z[510]}});return if(@{$lk->{$z[510]}}
>0 and$lk->{$z[510]}[-1]eq$ln);if(@{$lk->{$z[510]}}==0){&lq('');
}}sub lp{my$lk=$ab{$z[506]}{$z[509]}||={};my($lr,$lm,$kp)=@_;
my$ls;if($lr){$ls="$ab{'datadir'}$lr.lock";}else{$ls=$ab{$z[513]};
}if(not exists$lk->{$z[514]}{$lr}){$lk->{$z[514]}{$lr}{$z[108]}
=$ls;$lk->{$z[514]}{$lr}{$z[515]}=<();sysopen($lk->{$z[514]}{$lr}{$z[515]},
$lk->{$z[514]}{$lr}{$z[108]},O_RDWR|O_CREAT)||&ak($z[513],"error opening $lm file lock $lk->{'lockinfo'}{$lr}{'filename'}: $!\n");
}else{&ak("_lock_flock: already a lock for semaphore '$lr'");
}my$lu;if($lm eq$z[511]){$lu=LOCK_SH;}if($lm eq$z[274]){$lu
=LOCK_EX;}if($kp>0){$lu|=LOCK_NB;}my$lv=time()+$kp;until(flock($lk->{$z[514]}{$lr}{$z[515]},
$lu)){if(time()<$lv){sleep(1);}else{close($lk->{$z[514]}{$lr}{$z[515]});
&ak($z[516]);}}return 1;}sub lq{my$lk=$ab{$z[506]}{$z[509]}
||={};my($lr)=@_;unless(flock($lk->{$z[514]}{$lr}{$z[515]},
LOCK_UN)){&ak($z[513],"error releasing a flock() on file lock $lk->{'lockinfo'}{$lr}{'filename'}: $!\n");
}unless(close($lk->{$z[514]}{$lr}{$z[515]})){&ak($z[513],"error closing file lock $lk->{'lockinfo'}{$lr}{'filename'}: $!\n");
}delete$lk->{$z[514]}{$lr};return 1;}sub uw{my$gg=shift;$gg
=~s|\\|/|g;if($gg=~m|^/|){return$gg;}if($gg=~m|^\w:/|){return
$gg;}return&lw($ab{$z[517]}.$z[62].$gg);}sub lw{my$gg=shift;
$gg=~s|\\|/|g;1 while$gg=~s|[^/]*/\.\./||;return$gg;}sub md
{my($lx,@bo)=@_;$lx=~s/\s+//g;$lx=uc$lx;my$ly;my$lz=-1;my$ma;
foreach$ma(split(/,/,$lx)){$lz++;my$mb=shift@bo;my$mc=$ma=~
s/\[|\]//g;if($ma eq$z[518]){@bo=();last;}next if($mc and not
defined$mb);next if($ma eq$z[519]and defined$mb);next if($ma
=~/\bVALUE\b/and not ref($mb)and defined($mb));next if(uc(ref
$mb)=~/\b$ma\b/);next if($ma=~/\bINT\b/and$mb!~/[^0-9\.\e\-]/i
and$mb==int($mb));$ly.=", "if$ly;$ly.="\$_[$lz] must be ";$ly
.="either "if$mc;$ly.=$ma;$ly.=" or undefined"if$mc;$ly.=" ARG: $mb.";
}if(@bo){$lz++;$ly.=", "if$ly;$ly.="extra argument(s) \@_["
.($lz)." .. ".($lz+$#bo)."]";}return 1unless$ly;my$gk=(caller(1))[3];
$gk=~s/^main:://;&ak("Invalid arguments passed to $gk".": $ly");
}sub bp{&md($z[520],@_);my($bm,$me,$bo)=@_;$bo||={};my$mf;foreach
$mf($z[49],$z[50]){unless(exists$bo->{$mf}){$bo->{$mf}=$ab{$mf};
}}unless($me){&ak("resolve_server_markup: file_extension not supplied");
}unless($bo->{$z[49]}){&ak("resolve_server_markup: temp_base_dir argument not supplied");
}unless($bo->{$z[50]}){&ak("resolve_server_markup: temp_base_url argument not supplied");
}unless(-e"$bo->{'temp_base_dir'}"){&ak("resolve_server_markup: temp directory does not exist");
}my$mg=$af{$z[521]}||3;if($ENV{$z[522]}>=$mg){return("Content-type: text/html\n\n",
"[Dynamic SSI Error: SSI recursion limit of $mg reached. This page was not parsed for server-side markup.]\n\n"
.$bm);}my$mh;my($mi,$mj)=("temp_$^T","");my$mk;&fg();while(1)
{$mh="$mi$mj.$me";last unless-e"$bo->{'temp_base_dir'}$mh";
$mk++;$mj=sprintf($z[523],$mk);}&fh();open(AB,">$bo->{'temp_base_dir'}$mh")
||&ak("resolve_server_markup: could not create temp file '$bo->{'temp_base_dir'}$mh' : $!");
print AB$bm||&ak("resolve_server_markup: could not write to temp file '$bo->{'temp_base_dir'}$mh' : $!");
close(AB)||&ak("resolve_server_markup: could not close temp file '$bo->{'temp_base_dir'}$mh' : $!");
my$ml=&mm();if($ac{$z[524]}||$ac{$z[525]}){my$mn=$ac{$z[524]}
.":".$ac{$z[525]};$ml->{$z[526]}="Basic ".&mo($mn);}if($bo->{$z[527]})
{$ml->{$z[528]}='';$ml->{$z[529]}.=$z[530]if length$ml->{$z[529]};
$ml->{$z[529]}.=$z[531];}my$mp="$bo->{'temp_base_url'}$mh";
my($mq,$mr,$ms)=&mt($mp,$ml);unless($af{$z[532]}{$z[533]}){
unlink("$bo->{'temp_base_dir'}$mh");}return($mr,$ms);}sub mm
{&md('',@_);my%bl;my$mu;foreach$mu(keys%ENV){$mu=~/^HTTP_/i
||next;my$mv=$ENV{$mu};my$mw;$mw=$mu;$mw=~s/^HTTP_//;$mw=~s/_/-/g;
$mw=~s/(\w+)/ucfirst lc$1/eg;$bl{$mw}=$mv;}my@mx=($z[534],$z[526],
$z[529],$z[535],$z[536],$z[537],$z[538],$z[539],$z[540],$z[541],
$z[542],$z[543],$z[544],$z[545],$z[546],$z[547],$z[548],$z[549],
$z[550],$z[551],$z[552],$z[553],$z[554],$z[555],$z[556],$z[557]
);my%mz=map{uc($_)=>1}@mx;my$mw;foreach$mw(keys%bl){if($mz{uc
$mw}){delete$bl{$mw};}}$bl{$z[558]}=join($z[559],map{"$_=$ah{$_}"
}keys%ah);if(not exists$bl{$z[560]}){$bl{$z[560]}=1;}$bl{$z[560]}++;
my$na;if($ENV{$z[561]}eq($ENV{$z[562]}||$ENV{$z[563]})){$na
=$ENV{$z[564]}||$ENV{$z[565]}||$ENV{$z[561]};}else{$na=$ENV{$z[561]};
}$bl{$z[566]}=$na;$bl{$z[567]}=$na;return\%bl;}sub qe{&md($z[568],
@_);my($nb)=@_;my$nc={};$nc->{$z[569]}=$nb;@{$nc}{$z[570],$z[488],
$z[571],$z[572],$z[573],$z[574]}=$nb=~m{^(?:(\w+://)([^/]*))?([^?\#]*?)([^/?\#]*)(?:(\?[^\#]*))?(?:(\#.*))?$};
unless(length$nc->{$z[571]}){$nc->{$z[571]}=$z[62];}return$nc;
}sub kq{my($gw)=@_;if($gw=~/^\d+\.\d+\.\d+\.\d+$/){return$gw;
}else{$gw.=$z[33]unless$gw=~/\.$/;return$gw;}}1;;sub nl{my($nd,
$ne)=@_;foreach(@{$nd->{$z[177]}}){my($nf,$gk)=@{$_};if(!defined
&{$gk}&&!defined&{$ab{$z[575]}{$nf}}){die("The action '$nf' defined as a handler for db '$nd->{'name'}' does not have a custom handler or a default handler");
}if((!$ne&&$ag{$nd->{$z[46]}.$z[576].$nf})||$ne eq$nf){if(defined
&{$gk}){&{$gk}($nd);exit;}else{&{$ab{$z[575]}{$nf}}($nd);exit;
}}}if($ne){die"Unable to execute forced action '$ne' on db '$nd->{'name'}'";
}}sub ux{my$nd=shift;my$ar=&ng($nd);&nh($nd,$ar);}sub uy{my
$nd=shift;my$ar=&ni($nd);&nj($nd,$ar);&nk($z[577],$ar);exit;
}sub uz{my$nd=shift;if(!$ac{$z[578]}){&nl($nd,$z[178]);}my$ar
=&nm($nd);&nk($z[578],$ar);exit;}sub va{my$nd=shift;my$ar=&nn($nd);
&np($nd,$ar);}sub vb{my$nd=shift;&dp;my$nq=&nr($nd);my$ns=&nt($nd,
$nq);&nu($nd,$nq);&nv($nd,$nq);&dr;&nw($nd,$ns);&nx($nd);}sub
vc{my$nd=shift;my($eh,$ei);my$ny={$z[55]=>$af{$z[579]}{$z[55]},
$z[580]=>1,$z[84]=>'',};$ny=&nz($nd,$ny);foreach(split(/\s+/,$nd->{$z[81]}))
{push(@$ei,[$_,$z[278],$ny->{$z[84]}]);}my$as=sub{my$oa=shift;
if(!defined$oa->{$z[581]}&&$oa->{$z[26]}){my$iw=&ij(0,0,0,$oa->{$z[27]},$oa->{$z[26]}-1,$oa->{$z[25]});
$oa->{$z[581]}=&cn($ab{$z[98]},$iw);}$oa->{$z[582]}=&cn($ab{$z[146]},int($oa->{$z[582]}))
if$oa->{$z[582]};$oa->{$z[64]}=&cn($ab{$z[146]},int($oa->{$z[64]}))
if$oa->{$z[64]};$ad{$z[583]}=$ad{$z[583]}eq$z[584]?$z[585]:
$z[584];return&cs($z[124],$oa);};my$ar=&ob($nd,$as,$ny,$eh,
$ei);&oc($ar);}sub ng{my$nd=shift;$ad{$z[586]}=$nd->{$z[150]};
$ad{$z[587]}=$nd->{$z[46]};&an($nd->{$z[152]},{});my($ar)={};
if($nd->{$z[588]}&&&od($nd)>=$nd->{$z[588]}){&nk($z[589],$nd);
}my($it,$hr,$hs)=(localtime(&cy($^T)))[3,4,5];$hr++;$hs+=1900;
$ar->{"day_$it".$z[590]}=$z[591];$ar->{"mon_$hr".$z[590]}=$z[591];
$ar->{"year_$hs".$z[590]}=$z[591];foreach(split(/ /,$nd->{$z[76]}))
{if(/^ufile/&&!$ar->{$_}){$ar->{$_}=$z[592];}}$ar->{$z[582]}
=&cn($ab{$z[146]},&cy($^T));$ar->{$z[64]}=&cn($ab{$z[146]},&cy($^T));
$ar->{$z[593]}=$ai{$z[46]}||"unknown user";$ar->{$z[594]}=$ai{$z[46]}
||"unknown user";return$ar;}sub nh{my($nd,$ar)=@_;if($ab{$z[135]}{$z[136]}{$z[595]})
{&nk($z[595],$ar);}else{&nk($z[577],$ar);}exit;}sub ni{my$nd
=shift;$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}=$nd->{$z[46]};
&an($nd->{$z[152]},{});my($ll)=int$ag{$nd->{$z[46]}.$z[596]};
my$ar={};&oe($nd,$ar,$ll)||&ak($z[597],$ll);return$ar;}sub
nj{my($nd,$ar)=@_;foreach(split(/ /,$nd->{$z[76]})){if(/^ufile/
&&!$ar->{$_}){$ar->{$_}=$z[592];}}foreach(keys%{$ar}){$ar->{$_}
=&gl($ar->{$_});}foreach(keys%{$ar}){if(!/\W/&&$ar->{$_}!~/\W/)
{$ar->{$_.$z[576].$ar->{$_}.$z[598]}=$z[599];$ar->{$_.$z[576].$ar->{$_}.$z[590]}
=$z[591];}}$ar->{$z[582]}=&cn($ab{$z[146]},&cy($ar->{$z[582]}))
if$ar->{$z[582]};$ar->{$z[64]}=&cn($ab{$z[146]},&cy($ar->{$z[64]}))
if$ar->{$z[64]};my%of;&oe($ae{$z[200]},\%of,$ar->{$z[593]})
if$ar->{$z[593]};$ar->{$z[593]}=$of{$z[46]}||"unknown user";
&oe($ae{$z[200]},\%of,$ar->{$z[594]})if$ar->{$z[594]};$ar->{$z[594]}
=$of{$z[46]}||"unknown user";return$ar;}sub nm{my$nd=shift;
$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}=$nd->{$z[46]};&an($nd->{$z[152]},
{});my($ll)=int($ag{$nd->{$z[46]}.$z[600]})||int($ag{$z[22]});
my($ar)={};&oe($nd,$ar,$ll)||&ak($z[597],$ll);return$ar;}sub
nn{my$nd=shift;$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}=$nd->{$z[46]};
&an($nd->{$z[152]},{});my($ll)=$ag{$z[22]}||$ag{$nd->{$z[46]}.$z[600]};
my$ar={};&dp();&oe($nd,$ar,$ll)||&ak($z[597],$ll);&og($nd,$ll)
||die($z[601].$ll);&dr();&oh($ar,$ac{$z[602]});if(defined&{$nd->{$z[176]}})
{&{$nd->{$z[176]}}($ll,$z[178],$ar);}return$ar;}sub np{my($nd,
$ar)=@_;if(!$ac{$z[603]}){&nl($nd,$z[179]);}&nk($z[604],$ar);
exit;}sub nr{my$nd=shift;$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}
=$nd->{$z[46]};&an($nd->{$z[152]},{});my($ll)=int($ag{$z[22]});
my$nq={};if($nd->{$z[588]}){my($ce)=&od($nd);if($ll&&$ce>$nd->{$z[588]})
{&nk($z[589],$nd);}elsif(!$ll&&$ce>=$nd->{$z[588]}){&nk($z[589],$nd);
}}if($ll){&oe($nd,$nq,$ll)||die("ui_save : Can't find record #$ll");
}return($nq);}sub nt{my($oa)=$_[0]->{$z[46]}||die($z[605]);
my($ll)=int($ag{$z[22]});my(%oa)=%{$_[1]||{}};my(%fy,%gs,$fm,%ns,%ar);
if(!$ac{$z[602]}){die("ui_save_uploads: No upload directory has been defined in setup options!\n");
}if(!-d$ac{$z[602]}){die("ui_save_uploads: Upload directory '$ac{'dir_upload'}' doesn't exist!\n");
}if(!-w$ac{$z[602]}){die("ui_save_uploads: Upload directory isn't writable!\n");
}%fy=&bs($ac{$z[602]});foreach(split(/ |\,/,$ac{$z[606]})){
$gs{$_}++if$_;}foreach$fm(split(/ /,$_[0]->{$z[76]})){if($fm
!~/^ufile/){next;}if($ag{$fm}){if($ac{$z[607]}&&length($ag{$fm})
>$ac{$z[608]}*1000){my$oi=length($ag{$fm});$ns{$z[609]}.=qq|$ag{$fm."_file"} ($oi bytes, file too large)
\n|;
$ag{$fm}=$oa{$fm};next;}if(!$gs{lc$ag{$fm.$z[321]}}){$ns{$z[609]}
.=qq|$ag{$fm."_file"} ('$ag{$fm.'_ext'}' files not accepted)
\n|;
$ag{$fm}=$oa{$fm};next;}if($oa{$fm}&&$fy{$oa{$fm}}){unlink("$ac{'dir_upload'}/$oa{$fm}");
}my($oj);my($ok)=lc$ag{$fm.$z[320]};my($ol)=lc$ag{$fm.$z[321]};
my($om)=$z[610];$ok=~s/\.[^\.]*$//g;$ok=~s/[^a-z0-9_\-]/_/g;
$ol=~s/[^a-z0-9_\-]/_/g;$oj="$ok.$ol";if(-e"$ac{'dir_upload'}/$oj")
{do{$om=sprintf($z[415],++$om);$oj=$ok."_$om.$ol";}while(-e
"$ac{'dir_upload'}/$oj");}open(AB,">$ac{'dir_upload'}/$oj")
||die($z[611]."$oj $!\n");binmode AB;print AB$ag{$fm};close(AB);
if($oj=~/\.(gif|jpg|jpeg|png)$/i){my($jw,$jx,$on)=&oo("$ac{'dir_upload'}/$oj");
if(($ac{$z[612]}&&$jx>$ac{$z[612]})||($ac{$z[613]}&&$jw>$ac{$z[613]}))
{unlink("$ac{'dir_upload'}/$oj");$ns{$z[609]}.=qq|$ag{$fm."_file"} (${jx}x$jw, image too big)
\n|;
$ag{$fm}=$oa{$fm};next;}}$ag{$fm}=$oj;}elsif($ag{$fm.$z[320]})
{if($oa{$fm}&&$fy{$oa{$fm}}){unlink("$ac{'dir_upload'}/$oa{$fm}");
}$oa{$fm}='';}else{$ag{$fm}=$oa{$fm};}}return\%ns;}sub nu{my
($nd,$nq)=@_;my($ll)=int($ag{$z[22]});$ag{$z[582]}=$ll?$nq->{$z[582]}
:$^T;$ag{$z[593]}=$ll?$nq->{$z[593]}:$ai{$z[22]};$ag{$z[614]}
=$ll?$nq->{$z[614]}:$ai{$z[22]};$ag{$z[64]}=$^T;$ag{$z[594]}
=$ai{$z[22]};my$op;foreach$op($nd->{$z[76]}=~/\bufile([^ ]*)\b/g)
{if($nd->{$z[76]}=~/\bimagewidth\Q$op\E\b/){($ag{$z[615].$op},
$ag{$z[616].$op})=&oo($ac{$z[602]}.$ag{$z[617].$op});}}}sub
nv{my($nd,$nq)=@_;my($ll)=int($ag{$z[22]});if($ll){&ey($nd,
\%ag,$ll);}else{$ag{$z[22]}=&fe($nd,\%ag,$ll);}if(defined&{$nd->{$z[176]}})
{&{$nd->{$z[176]}}($ag{$z[22]},$z[618],$nq);}}sub nw{my($nd,
$ns)=@_;if(keys%{$ns}){undef$ac{$z[608]}if!$ac{$z[607]};$ns->{$z[22]}
=$ag{$z[22]};$ns->{$z[619]}=&cs($z[619],\%ac)if$ac{$z[608]};
$ns->{$z[620]}=&cs($z[620],\%ac)if$ac{$z[612]};$ns->{$z[621]}
=&cs($z[621],\%ac)if$ac{$z[613]};$ns->{$z[622]}=&cs($z[622],
{$z[606]=>$ac{$z[606]}?$ac{$z[606]}:$z[623]});&nk($z[624],$ns);
exit;}}sub nx{my($nd)=@_;if(!$ac{$z[625]}){&nl($nd,$z[179]);
}&nk($z[626],\%ag);exit;}sub oc{my$ar=shift;&nk($z[179],$ar);
exit;}sub nz{my($nd,$ny)=@_;$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}
=$nd->{$z[46]};if(ref($nd)ne$z[236]){die$z[627]."\n";}&an($nd->{$z[152]},
{});if($ag{$nd->{$z[46]}.$z[628]}){my$oq={};while($ah{$nd->{$z[46]}.$z[629]}
=~/(.*?)\t(.*?)\t/g){$oq->{$1}=$2;}$ny->{$z[55]}=$ag{$z[630]}
||$oq->{$z[55]};}else{while($ah{$nd->{$z[46]}.$z[629]}=~/(.*?)\t(.*?)\t/g)
{$ny->{$1}=$2;}foreach(keys%{$ny}){if(defined$ag{$z[576].$_})
{if($_ ne$z[55]&&$_ ne$z[580]){$ny->{$z[580]}=1;}$ny->{$_}=
$ag{$z[576].$_};}}}&or($nd->{$z[46]}.$z[629],join("\t",map{
$_,$ny->{$_}}keys%{$ny})."\t");foreach(keys%{$ny}){$ad{$z[576]
.$_}=$ny->{$_};$ad{$z[576].$_.$z[576].$ny->{$_}.$z[590]}=$z[591];
$ad{$z[576].$_.$z[576].$ny->{$_}.$z[598]}=$z[599];}return$ny;
}sub ob{my($nd,$as,$ny,$eh,$ei)=@_;my%ar;my$jz=sub{$ar{$z[631]}
.=&{$as}(@_);};($ar{$z[632]},$ar{$z[633]},$ar{$z[634]},$ar{$z[635]},
$ar{$z[636]},$ar{$z[637]})=&os($nd,$jz,$ny->{$z[580]},$ny->{$z[55]},
$eh,$ei);unless($ar{$z[631]}){if($ab{$z[135]}{$z[136]}{$z[638]}
&&scalar grep{$_ ne$z[55]&&$_ ne$z[580]&&$ny->{$_}ne''}keys
%{$ny}){$ar{$z[631]}=&cs($z[638],{});}else{$ar{$z[631]}=&cs($z[130],
{});}}return\%ar;}sub dl{my$nd=shift;my($eh,$ei);my$ny={$z[55]
=>$af{$z[579]}{$z[55]},$z[580]=>1,$z[84]=>'',};$ny=&nz($nd,
$ny);foreach(split(/\s+/,$nd->{$z[81]})){push(@$ei,[$_,$z[278],
$ny->{$z[84]}]);}my$as=sub{my$oa=shift;$oa->{$z[639]}=$aj[$oa->{$z[640]}];
if(!defined$oa->{$z[581]}&&$oa->{$z[26]}){my$iw=&ij(0,0,0,$oa->{$z[27]},$oa->{$z[26]}-1,$oa->{$z[25]});
$oa->{$z[581]}=&cn($ab{$z[98]},$iw);}$oa->{$z[582]}=&cn($ab{$z[146]},int($oa->{$z[582]}))
if$oa->{$z[582]};$oa->{$z[64]}=&cn($ab{$z[146]},int($oa->{$z[64]}))
if$oa->{$z[64]};$ad{$z[583]}=$ad{$z[583]}eq$z[584]?$z[585]:
$z[584];return&cs($z[124],$oa);};my$ar=&ob($nd,$as,$ny,$eh,
$ei);&oc($ar);}sub vd{my$nd=shift;&dp();my$nq=&nr($nd);my$ns
=&nt($nd,$nq);&nu($nd,$nq);my%ot;if(&ou($nd,\%ot,$z[641],$ag{$z[641]}))
{if($ot{$z[22]}!=$nq->{$z[22]}){&dr();&nk($z[642],\%ag);}}if
($ag{$z[22]}==$ai{$z[22]}&&$ag{$z[640]}<9){&dr();&nk($z[643],
{});}&nv($nd,$nq);my%ov;if(&ou($ae{$z[205]},\%ov,$z[22],$ag{$z[22]}))
{&ey($ae{$z[205]},\%ag,$ag{$z[22]});}&dr();&nw($nd,$ns);&nx($nd);
}sub ve{my$nd=shift;if(!$ac{$z[578]}){&nl($nd,$z[178]);}my$ar
=&nm($nd);if($ar->{$z[22]}==$ai{$z[22]}&&$ag{$z[640]}<9){&nk($z[643],
{});}&nk($z[578],$ar);}sub dk{my$nd=shift;my$ll=$ag{$z[22]}
||$ag{$nd->{$z[46]}.$z[600]};if($ll==$ai{$z[22]}&&$ag{$z[640]}
<9){$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}=$nd->{$z[46]};
&an($nd->{$z[152]},{});&nk($z[643],{});}&dp();&oe($ae{$z[200]},
{},$ai{$z[22]})||&ow($z[644],{});my$ar=&nn($nd);&og($ae{$z[205]},
$ll);&dr();&np($nd,$ar);}sub pp{my$kg=shift;if($ac{$z[645]}
eq$z[646]){my%bo=(host=>$ac{$z[647]},helo=>$af{$z[648]}{$z[649]},
timeout=>$af{$z[648]}{$z[650]},pop3_auth=>$ac{$z[651]},pop3_host
=>$ac{$z[652]},pop3_user=>$ac{$z[653]},pop3_pass=>$ac{$z[654]});
&ox($kg,\%bo)||die("Error sending message: $ab{'error'}");}
elsif($ac{$z[645]}eq$z[655]){if(!-e$ac{$z[656]}){die("sendmail: can't find sendmail program '$ac{'mail_sendmail'}'\n");
}local(*AL);my($kr)=&kh($kg);open(AL,"|$ac{'mail_sendmail'} -f $kr -t")
||die"Can't open $ac{'mail_sendmail'} : $!";print AL$kg;close(AL);
}elsif(!$ac{$z[645]}){die("sendmail: no mailer specified in setup options!\n");
}else{die("sendmail: unknown mailer '$ac{'mail_mailer'}' specified!\n");
}}sub vf{my($gh)=$_[0];my($oy)=$ag{$z[657]}||die("browse: you must pass a name/value for the 'fieldname'!\n");
my(%ar,$gi);if($gh ne$z[658]&&$gh ne$z[572]){die("browse: the first argument must be either 'dir' or 'file'!\n");
}if($ag{$z[659]}){&oz($z[660].$z[661].$ab{$z[662]}.$z[663]);
}if($ag{$z[664]}){&oz($z[665].$z[661].$ab{$z[662]}.$z[663]);
}if($ag{$z[658]}){&oz($z[666].$z[661].$ab{$z[662]}.$z[663]);
}if(!-d$ac{$z[667]}){delete$ac{$z[667]};}if($ag{$z[668]}){if
(-f$ag{$z[668]}){$ag{$z[668]}=~s!^(.+)(\\|/).*?$!$1!;}if(-d
$ag{$z[668]}){$ag{$z[658]}=$ag{$z[668]};}}if($af{$z[669]}){
$ag{$z[658]}=$ac{$z[667]};}&an("_browse_$gh.html",{});my$pa
="/";$ar{$z[657]}=$ag{$z[657]};if($ag{$z[659]}){$ar{$z[670]}
=$ag{$z[670]};if(!$ag{$z[670]}){$ad{$z[671]}=$z[672];}elsif
($ag{$z[670]}=~m/[^\w\-]/i){$ad{$z[671]}=$z[673];}elsif(!mkdir("$ag{'cdir'}$pa$ag{'mkdir_name'}",0777)){
$ad{$z[671]}=$z[674].$!;}if($ad{$z[671]}){$ad{$z[671]}=&cs($z[671],\%ad);
}}if($ag{$z[664]}){local(*AB);$ar{$z[675]}=$ag{$z[675]};if(!$ag{$z[675]})
{$ad{$z[676]}=$z[677];}elsif($ag{$z[675]}=~m/[^\w\-\.]/i){$ad{$z[676]}
=$z[678];}elsif(-e"$ag{'cdir'}$pa$ag{'mkfile_name'}"){$ad{$z[676]}
=$z[679];}elsif(!open(AB,">$ag{'cdir'}$pa$ag{'mkfile_name'}"))
{$ad{$z[676]}=$z[680].$!;}close(AB);if($ad{$z[676]}){$ad{$z[676]}
=&cs($z[676],\%ad);}}$ar{$z[658]}=$ag{$z[658]}||$ac{$z[667]}
||$ab{$z[517]};$ar{$z[658]}=~s/^(.+)(\\|\/)+$/$1/;$ar{$z[681]}
=$ar{$z[658]};$ar{$z[681]}=~s!^([a-z]:)!$1/..!i;$ar{$z[682]}
=($ar{$z[658]}=~m#^(.*)[\\/]#,$1||$pa);$ar{$z[683]}=&hd($ar{$z[682]});
$ar{$z[179]}.=&cs($z[682],\%ar)if($ar{$z[658]}=~m!.+(\\|/)!);
if(!-e$ar{$z[658]}){$ar{$z[494]}=$z[684];}elsif(!-r$ar{$z[658]})
{$ar{$z[494]}=$z[685];}if($ar{$z[494]}){print"Content-type: text/html\n\n"
unless($ab{$z[686]}++);$ar{$z[179]}.=&cs($z[494],\%ar);print
&an($z[687],\%ar);exit;}opendir(AC,"$ar{'dir2'}");my@gi=sort
{lc$a cmp lc$b}grep(!/^\.+$/,readdir(AC));closedir(AC);my($bs);
foreach$bs(@gi){-d"$ar{'dir'}$pa$bs"||next;$ar{$z[46]}=$bs;
$ar{$z[688]}="$ar{'dir'}$pa$bs";$ar{$z[688]}=~s/$pa+/$pa/g;
$ar{$z[689]}=&hd($ar{$z[688]});($ar{$z[690]},$ar{$z[691]})=
(stat($ar{$z[688]}))[7,9];next if$ar{$z[691]}eq"";$ar{$z[692]}
=&cn($ab{$z[146]},$ar{$z[691]});$ar{$z[179]}.=&cs($z[658],\%ar);
$gi++;}my($fy);foreach$fy(@gi){-d"$ar{'dir'}$pa$fy"&&next;$ar{$z[46]}
=$fy;$ar{$z[688]}="$ar{'dir'}$pa$fy";($ar{$z[690]},$ar{$z[691]})
=(stat($ar{$z[688]}))[7,9];next if$ar{$z[691]}eq"";if($ar{$z[690]})
{$ar{$z[690]}=(int($ar{$z[690]}/1000)||1)."KB";}else{$ar{$z[690]}
="0KB";}$ar{$z[692]}=&cn($ab{$z[146]},$ar{$z[691]});$ar{$z[688]}
=~s/'/\\'/g;$ar{$z[688]}=~s/\\/\\\\/g;if(-f"$ar{'dir'}$pa$fy")
{$ar{$z[179]}.=&cs($z[572],\%ar);}else{$ar{$z[179]}.=&cs($z[693],\%ar);
}$gi++;}if(!$gi){$ar{$z[179]}.=&cs($z[694],{});}print"Content-type: text/html\n\n"
unless($ab{$z[686]}++);print&an("_browse_$gh.html",\%ar);exit;
}sub vg{my($kv,$ky);if($ENV{$z[314]}=~/^[\w\-]+\.gif$/){$kv
=$z[695]."\n\n";}elsif($ENV{$z[314]}=~/^[\w\-]+\.jpg$/){$kv
=$z[696]."\n\n";}else{return;}$ky=&an($ENV{$z[314]},{},$z[330]);
if($ky){binmode(STDOUT);print$kv ;print$ky ;exit;}}sub cy{my
$iw=$_[0]||die("time_adj: first argument must be time()\n");
if($ac{$z[697]}eq$z[595]){$iw+=$ac{$z[698]}*60*60;}if($ac{$z[697]}
eq$z[699]){$iw-=$ac{$z[698]}*60*60;}if($ac{$z[700]}eq$z[595])
{$iw+=$ac{$z[701]}*60;}if($ac{$z[700]}eq$z[699]){$iw-=$ac{$z[701]}*60;
}return$iw;}sub vh{my($as,$pb,$pc,$pd,%ov);my(%ar,%pe);if(!$ag{$z[702]}
&&!$ah{$z[641]}){&ow(undef,\%ar);}if($ag{$z[702]}){($pb,$pc)
=(lc$ag{$z[641]},lc$ag{$z[703]});if(!$pb&&!$pc){&ow($z[644],
\%ar);}if(!$pb||!$pc){&ow($z[644],\%ar);}$as=sub{if(lc$pe{$z[641]}
eq$pb&&lc$pe{$z[703]}eq$pc){$pd=$pe{$z[22]};}};&bk($ae{$z[200]},
$as,\%pe);if(!$pd){&ow($z[644],\%ar);}&oe($ae{$z[200]},\%pe,
$pd);$pe{$z[582]}=$^T;$pe{$z[64]}=$^T;&ey($ae{$z[205]},\%pe,
$pd);}else{($pb,$pc)=(lc$ah{$z[641]},lc$ah{$z[703]});if(!$pb
||!$pc){&ow($z[704],\%ar);}$as=sub{if(($af{$z[705]}&&$pe{$z[64]}
<$^T-60*$af{$z[705]})||$pe{$z[64]}<$^T-60*60*24){&og($ae{$z[205]},
$pe{$z[22]});}elsif(lc$pe{$z[641]}eq$pb&&lc$pe{$z[703]}eq$pc)
{$pd=$pe{$z[22]};}};&bk($ae{$z[205]},$as,\%pe);if(!$pd){&ow($z[704],
\%ar);}&oe($ae{$z[205]},\%pe,$pd);$pe{$z[64]}=$^T;&ey($ae{$z[205]},
\%pe,$pd);}&or($z[641],$pb);&or($z[703],$pc);return%pe;}sub
ow{if(!$ab{$z[686]}++){print$z [706]."\n\n";}my($fw)=$_[0];
my(%ar)=%{$_[1]||{}};&an($z[707],{});foreach(keys%ar){$ar{$_}
=&gl($ar{$_});}if($fw&&!$ab{$z[135]}{$z[136]}{$fw}){die($z[708]."'$fw' isn't defined!\n");
}if($fw){$ar{$z[609]}=&cs($fw,\%ar);}print&cs($z[709],{});if
($fw){print&cs($z[710],\%ar);}else{print&cs($z[702],\%ar);}
print&cs($z[711],{});if(-f"$ab{'cgidir'}/display_resource_usage.pl")
{eval"require \"$ab{'cgidir'}/display_resource_usage.pl\"";
&display_resource_usage()}if($ab{$z[493]}){print"$ab{'debug_output'}
"if($ab{$z[310]});}&pf();exit;
}sub vi{&an($z[707],{});&or($z[641],'');&or($z[703],'');$ac{$z[712]}
=~s/^\s+|\s+$//g;if($ac{$z[712]}&&$ENV{$z[314]}=~/logoff/i)
{print"Content-type: text/html\n\n";print qq|
/g;
undef$cf->{$z[88]};}if($ac{$z[782]}&&$cf->{$z[90]}){$cf->{$z[78]}
=~s/\n/
/g;undef$cf->{$z[90]};}});}&ap();}sub vl{&ps;
foreach(keys%ae){my$qg=$ae{$_}{$z[176]};if(defined&{$qg}){&{$qg}();
}}&nk($z[790],{});}sub nk{my($hb)=$_[0];my($ar)=$_[1];unless
($hb){die($z[791]."\n");}if(ref($_[1])ne$z[236]){die$z[792]."\n";
}my(%ar);if(!$ab{$z[686]}++){print$z [706]."\n\n";}&an($z[707],
{});unless(length$ac{$z[789]}){$ad{$z[793]}=&cs($z[793],{});
}print&cs($z[709],{});for(1..9){if($ai{$z[640]}>=$_&&$ab{$z[135]}{$z[136]}{$z[794].$_})
{$ar{$z[795]}.=&cs($z[794].$_,{});}if($ai{$z[640]}==$_&&$ab{$z[135]}{$z[136]}{$z[794].$_.$z[796]})
{$ar{$z[795]}.=&cs($z[794].$_.$z[796],{});}}$ad{$z[797]}="$ai{'name'} ($aj[$ai{'acl'}])";
$ar{$z[78]}=&cs($hb,$ar);print&cs($z[798],\%ar);print&cs($z[711],
{});if($ab{$z[493]}>=2){print"
";
my$dz=0;while(my($fy,$ez,$gk)=(caller($dz++))[1,2,3]){print
qq!
\n!;}}if(-f"$ab{'cgidir'}/display_resource_usage.pl")
{eval"require \"$ab{'cgidir'}/display_resource_usage.pl\"";
&display_resource_usage()}if($ab{$z[493]}){print"$ab{'debug_output'}
"if($ab{$z[310]});}&pf();exit;
}sub pf{print$z [799]."\n";print$ad {$z[785]}.$z[800].$ab{$z[1]}
.$z[801].$ab{$z[802]}.$z[33].$ab{$z[3]}.")\n";print$z [803]
.$ad{$z[777]}.$z[804].$ad{$z[773]}.$z[804].$ad{$z[774]}."\n";
printf($z[805]."\n",time()-$^T);print$z [806]."\n";}sub vm{
my(@gi)=map"$ab{'datadir'}$ae{$_}{'datafile'}",keys%ae;my(@qh)
=($ab{$z[807]});my($bs,$fy,$qi);foreach$bs(sort@qh){if($bs
eq""){next;}if(!-d$bs||!-w$bs){$qi.="$bs\n";}}foreach$fy(sort
@gi){$fy=~s/\\/\//g;1 while$fy=~s!/[^/]+/\.\./!/!;if(-f$fy&&
!-w$fy){$qi.="$fy\n";}}if($qi){&ak($z[808],$qi);}}sub pr{return
unless$af{$z[669]};my$kg=shift;&ow($z[809],{$z[609]=>$kg});
}sub oz{return unless$af{$z[669]};my$kg=shift;$kg=&hd($kg);
print"Content-type: text/html\n\n";print qq|\n|
;exit;}sub vn{&an($ae{$z[207]}{$z[152]},{});my%qj;my$qk;foreach
$qk(keys%{$ab{$z[810]}}){my%ar=($z[811]=>$qk,$z[812]=>$ab{$z[810]}{$qk}
);$qj{$qk}[0]=&cs($z[813],\%ar);$qj{$qk}[1]=&cs($z[814],\%ar);
}foreach$qk(keys%{$ab{$z[810]}}){my$ql=join'',map{$qj{$_}[$qk
==$_?1:0]}sort keys%{$ab{$z[810]}};$ad{$z[815].$qk}=&cs($z[816],
{$z[817]=>$ql});}}1;;sub vo{my$qm=shift||die("ip2num : no ip or host specified!\n");
my($a,$b,$qn,$qo,$ll);if($qm=~/[^0-9\.]/){my$kt=gethostbyname("$qm.")
||die("ip2num: Can't find IP for host '$qm'!\n");($a,$b,$qn,$qo)
=unpack($z[818],$kt);}else{($a,$b,$qn,$qo)=split(/\./,$qm);
}$ll+=$qo*(256**0);$ll+=$qn*(256**1);$ll+=$b*(256**2);$ll+=
$a*(256**3);return$ll;}sub vp{my$ll=shift||die("num2ip : no number specified!\n");
my($a,$b,$qn,$qo);$a=($ll/256**3)% 256;$b=($ll/256**2)% 256;
$qn=($ll/256**1)% 256;$qo=($ll/256**0)% 256;return join$z[33],
$a,$b,$qn,$qo;}sub vq{my$iw=shift||time();$iw-=(localtime($iw))[6]
* 60*60*24;$iw-=(localtime($iw))[2]* 60*60;$iw-=(localtime($iw))[1]
* 60;$iw-=(localtime($iw))[0]* 1;return$iw;}sub vr{my$iw=shift
||time();$iw-=(localtime($iw))[2]* 60*60;$iw-=(localtime($iw))[1]
* 60;$iw-=(localtime($iw))[0]* 1;return$iw;}sub vs{my$hn=int
shift;my$ho=int($hn/60);my$hp=int($ho/60);$ho%=60;$hn%=60;return
sprintf("%01d:%02d:%02d",$hp,$ho,$hn);}sub vt{my$ll=reverse
int shift;$ll=~s/(...)\B/$1,/g;return reverse$ll;}sub cw{my
$ll=shift;if($ll==int($ll)){return$ll;}elsif($ll<0){return
int$ll;}else{return int($ll)+1;}}sub vu{my$ll=shift;if($ll==
int($ll)){return$ll;}elsif($ll<0){return int($ll)-1;}else{return
int$ll;}}sub cx{return(sort{$a<=>$b}@_)[0];}sub vv{return(sort
{$a<=>$b}@_)[-1];}1;;sub bn{local(*AB);my($fy,%gb,$bm,$hb);
%gb=%{$_[1]}if$_[1];my$qp=$_[3];my$qs=$_[5];my%hc;%hc=($z[328]
=>0,$z[329]=>0,$z[330]=>0,$z[331]=>0,$z[51]=>0,$z[819]=>0);
foreach(split(/ /,$_[2])){if(undef$hc{$_}){die($z[332]."'$_'\n");
}$hc{$_}=1;}unless($hc{$z[328]}){$hc{$z[329]}=1;}if(!$_[0])
{die$z[333]."\n";}if(ref($_[1])ne$z[236]){die$z[820]."\n";}
if(!$hc{$z[329]}||!$ab{$z[135]}{$z[329]}{$_[0]}){if(-e"$_[0]")
{$fy=$_[0];}else{foreach(grep/^templatedir/,sort keys%ab){if
(-e"$ab{$_}/$_[0]"){$fy="$ab{$_}/$_[0]";last;}}if(!$fy){die
$z[335]."'$_[0]'".$z[336]."\n";}}}if($hc{$z[329]}&&$ab{$z[135]}{$z[329]}{$_[0]})
{$bm=$ab{$z[135]}{$z[329]}{$_[0]};}else{open(AB,"<$fy")||die
$z[337]."$fy! $!\n";binmode(AB)if($fy=~/gif$/i||$fy=~/jpg$/i);
read(AB,$bm,-s AB);close(AB);}if($hc{$z[330]}){return$bm;}if
(!$hc{$z[329]}||!$ab{$z[135]}{$z[329]}{$_[0]}){foreach$hb($bm
=~m//g){$ab{$z[135]}{$z[136]}{"$qp$1"}=$2
if($bm=~m/(?:\r\n|\n)?(.*?)/is);
}$bm=~s/(?:\r\n|\n)?(.*?)//gis;
if($hc{$z[329]}){$ab{$z[135]}{$z[329]}{$_[0]}=$bm;}}if($hc{$z[51]})
{while($bm=~//i){my$qt=$1;
my$qu=$qt;$qu=~s/\$(\w+?)\$/defined$ad{$1}?$ad{$1}:$gb{$1}/eg;
unless($qu){$bm=~s///;next;
}if($qu=~m!^/!){;}else{if($_[4]){$qu="$_[4]$qu";}else{$qu=($fy
=~m!(.*/)!)[0].$qu;}}my$qv;if(not$ab{$z[135]}{$z[821]}{$qu}++)
{my$qy;if(-e"$qu"){$qy++;}else{foreach(grep/^templatedir/,sort
keys%ab){if(-e"$ab{$_}/$qu"){$qy++;last;}}}if($qy){$qv=&bn($qu,
$_[1],"$_[2] inside_ssi",$z[822],$_[4]);}else{$qv="[ Program Error - Could not include file \"$qu\" via template include ]";
}}else{$qv="[ Program Error - Cyclic Include - The file '$qu' is included by itself (perhaps indirectly). Please check include files for other Include statements. ]";
}$bm=~s//$qv/;delete$ab{$z[135]}{$z[821]}{$qu};
}}else{$bm=~s///gi;}$bm=~s//$1/gi;
$bm=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$fo=defined$ad{$1}
?$ad{$1}:$gb{$1};if($2 eq$z[338]){$fo=&hd($fo);}if($2 eq$z[339])
{$fo=&he($fo);}if($2 eq$z[340]){$fo=&he($fo);$fo=~s/ / /g;
}if($2 eq$z[341]){$fo=&hf($fo);}$fo;]ge;return$bm;}sub mt{use
Socket;my$AH="\015\012";my($nb,$qz,$ra)=@_;$nb=~s|\w+://||g;
my($gw,$kn,$fy)=$nb=~m|^(.*?)(?::(\d+))?([/?].*)?$|;$fy||=$z[62];
$qz->{$z[545]}=$gw;$qz->{$z[535]}=$z[823];$gw=&kq($gw);unless
(grep/^User-Agent$/i,keys%{$qz}){$qz->{$z[824]}="Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)";
}my($rb,$rc,$rd);if($ra){if($fy=~s/\?(.*)//){$rb=$1;}unless
(grep/^Content-Type$/i,keys%{$qz}){$qz->{$z[542]}=$z[825];}
unless(grep/^Content-Length$/i,keys%{$qz}){$qz->{$z[538]}=length
$rb;}$rd=$z[318];}else{$rd=$z[322];}my($re,@rf);foreach$re(split(/,\s*/,
$af{$z[331]}{$z[826]})){@rf=grep/^$re$/i,keys%{$qz};for(@rf)
{delete$qz->{$_};}}my$rg;$rg.=$rd.$z[748].$fy.$z[827].$AH;foreach
(keys%{$qz}){$rg.=$_.$z[828].$qz->{$_}.$AH;}$rg.=$AH;$rg.=$rb
.$AH.$AH if$ra;my$rh=<();my$kt=gethostbyname($gw)||die"Unknown host: $!";
socket($rh,AF_INET,SOCK_STREAM,0)||die"No Socket: $!";connect($rh,pack
"SnA4x8",AF_INET,$kn||80,$kt)||die"Can't connect : $!";select((select($rh),$|++)[0]);
print$rh $rg;my$ri;while(<$rh>){$ri.=$_;}close($rh);my($rj,
$mr,$rk)=$ri=~/^(.*?(?:\r\n|\n))(.*?(?:\r\n|\n)(?:\r\n|\n))?(.*)$/s;
if(wantarray){return($rj,$mr,$rk);}else{return$rk;}}sub cp{
my($iv,$cf,$qp)=@_;$iv=~s|
(\s*\*\*\*image\d+(?:\:(\w+))?\*\*\*)|
$1|gsi;
$iv=~s[\s*\*\*\*image(\d+)(?:\:(\w+))?\*\*\*\s*][if($2 eq$z[569])
{$cf->{$z[121].$1}}else{my%rl;$rl{$z[829]}=$2||$af{$z[830]}{$z[831]}
||$z[832];$rl{$z[833]}=$cf->{$z[121].$1};$rl{$z[834]}=$cf->{$z[122]
.$1};$rl{$z[835]}=$cf->{$z[67].$1};$rl{$z[836]}=$cf->{$z[68]
.$1};&cs($qp.($rl{$z[834]}ne''?$z[834]:$z[837]),\%rl);}]eigo;
return$iv;}sub vw{my($ar,$cf,$qp,$rm,$rn,@ro)=@_;$ar->{$z[87]}
=&cp($rm,$cf,$qp);$ar->{$z[89]}=&cp($rn,$cf,$qp);my$dz;for$dz
(1..$ab{$z[5]}){$ar->{$z[123].$dz}=&cp($ro[$dz-1],$cf,$qp);
}}sub vx{my($ar,$rm,$rn,@ro)=@_;($ar->{$z[87]}=$rm)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;
($ar->{$z[89]}=$rn)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;
my$dz;for$dz(1..$ab{$z[5]}){($ar->{$z[123].$dz}=$ro[$dz-1])
=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;}}sub vy{my$bm=shift;
my$iw=$ad{$z[148]}||&cn($ab{$z[146]},$ac{$z[148]}||$^T);my$rp
=$z[838].$ab{$z[662]}.$z[45];$$bm=$z[839].$iw.$z[840]."\n\n"
.$$bm;unless($$bm=~s/(]+>)/$rp\n$1/is){$$bm=~s/(]*>)/$1\n$rp\n/i;
}}sub ij{my$jz;eval{local$SIG{$z[841]}=undef;local$SIG{$z[842]}
=undef;$jz=timelocal(@_);};if($@){$jz=0;}return$jz;}sub ii{
my$jz;eval{local$SIG{$z[841]}=undef;local$SIG{$z[842]}=undef;
$jz=timegm(@_);};if($@){$jz=0;}return$jz;}sub vz{if(!$ac{$z[843]}
||(scalar(@{$ab{$z[844]}})<1)){return;}my$cf=shift;my%rq=%{$cf};
my($rr,$rs,$rt,$ru)=(1..4);if($ab{$z[493]}){if(scalar(@{$ab{$z[844]}})
>1){my%rv=map{$_,1}("$rr,$rs","$rs,$rt","$rs,$ru");my$rw=join($z[845],
sort{$a<=>$b}@{$ab{$z[844]}});unless(exists$rv{$rw}){&ak("Invalid notification events combination: $rw");
}}}my%rx;@rx{$z[582],$z[692]}=(split(/\s*,\s*/,$af{$z[846]}{$z[847]}));
$rx{$z[582]}||=$z[582];$rx{$z[692]}||=$z[692];my@ry=($z[848],
split(/\s*,\s*/,$af{$z[846]}{$z[849]}));$ry[1]||=$z[850];$ry[2]
||=$z[851];$ry[3]||=$z[65];$ry[4]||=$z[604];my%cb;&oe($ae{$z[20]},
\%cb,$rq{$z[20]});my$rz=$cb{$z[69]}?$cb{$z[13]}:$ac{$z[13]};
my(@cm,$cc);$rq{$z[852]}=$ai{$z[46]};$rq{$z[853]}=(grep/^$rr$/,
@{$ab{$z[844]}})?$rx{$z[582]}:$rx{$z[692]};$rq{$z[80]}=(grep
/^$ru$/,@{$ab{$z[844]}})?$ry[4]:$ry[$cf->{$z[80]}];foreach(keys
%rq){$rq{$z[86].$_}=$rq{$_};}foreach(1..$ab{$z[5]}){$rq{$z[123]
.$_}=$rq{$z[91].$_};}$rq{$z[854]}=$ac{$z[855]};$rq{$z[13]}=
$rz;$rq{$z[74]}=$rz.$ac{$z[856]}.$z[33].$ac{$z[34]};$rq{$z[39]}
=$ac{$z[32]}.$z[33].$ac{$z[34]};$rq{$z[40]}=$ac{$z[857]}.$z[33]
.$ac{$z[34]};$rq{$z[31]}=$ac{$z[32]}.$rq{$z[858]}.$z[33].$ac{$z[34]};
;$rq{$z[35]}=$ac{$z[36]}.$rq{$z[858]}.$z[33].$ac{$z[34]};$rq{$z[859]}
=$ac{$z[860]}.$z[33].$ac{$z[34]};$rq{$z[861]}=$ac{$z[862]}.
$z[33].$ac{$z[34]};$rq{$z[106]}=$rz.($ac{$z[107]}&&$rq{$z[108]}
?$ac{$z[109]}.$rq{$z[108]}:$ac{$z[109]}.$rq{$z[22]}).$z[33]
.$ac{$z[34]};$rq{$z[148]}=&cn($ab{$z[146]},&cy($ac{$z[148]}))
if($ac{$z[148]});@cm=($rq{$z[25]},$rq{$z[26]}-1,$rq{$z[27]},
$rq{$z[93]}+($rq{$z[94]}eq$z[95]?12:0),$rq{$z[96]});$rq{$z[97]}
=&cn($ab{$z[98]},@cm);$rq{$z[99]}=&cn($ab{$z[100]},@cm);$rq{$z[101]}
=$cb{$z[46]};$rq{$z[102]}=&sa($cb{$z[22]});$cc=$cb{$z[71]}?
$cb{$z[72]}:$ac{$z[73]}.$rq{$z[858]};$rq{$z[110]}=$ac{$z[13]}
.$cc.$z[33].$ac{$z[34]};$rq{$z[23]}=$rq{$z[858]};$rq{$z[147]}
=$ac{$z[147]};if($cf->{$z[80]}==2){if($cf->{$z[118]}==1){$rq{$z[863]}
=$rq{$z[111]}=$rz.($ac{$z[107]}&&$rq{$z[864]}?$rq{$z[108]}:
$ac{$z[112]}.$rq{$z[115]}).$z[33].$ac{$z[34]};}else{$rq{$z[863]}
=$rq{$z[111]}=$rq{$z[110]}.$z[780].$cf->{$z[22]};}}else{$rq{$z[863]}
=$rq{$z[111]}=$rq{$z[110]};}$rq{$z[865]}=$ac{$z[865]};$rq{$z[866]}
=$ac{$z[866]}||$ac{$z[865]};my$pl;local(*AJ);open(AJ,"<$ab{'templatedir1'}/email/notify.txt")
||&ak("Unable to open email template");read(AJ,$pl,-s AJ);close(AJ);
my($pm,$pn);if($pl=~/^\s*Subject: *([^\r\n]*?)(\r\n|\r|\n)\s*Body: *([^ ].*)$/si)
{$pm=$1;$ab{$z[135]}{$z[329]}{$z[867]}=$3;$pm=~s/\$(.*?)\$/$rq{$1}/g;
$pn=&an($z[867],\%rq,$z[329]);}else{&ak($z[868]);}my$sb=$cf->{$z[20]};
my$sc=$z[869];my@sd;my$as=sub{my$se=shift;if($se->{$z[870]}
||$se->{$z[871]}=~/(^|,)$sb(,|$)/){if($se->{$z[640]}==1){return;
}if(!$se->{$z[846]}||!&pk($se->{$z[846]})){return;}$se->{$z[46]}
||=$se->{$z[846]};my$sf;foreach$sf(split(/,/,$se->{$z[872]}))
{if(grep/^$sf$/,@{$ab{$z[844]}}){push(@sd,qq|"$se->{'name'}" <$se->{'email'}>|);
last;}}}};&bk($ae{$z[200]},$as);if(scalar(@sd)){my$sg;if(length($af{$z[846]}{$z[873]}))
{$sg=qq|To: $af{'email'}{'notifications_to_field'}\n|;}my$sh
=$af{$z[846]}{$z[874]}||";";$sh.=" ";my$si=join($sh,@sd);$sg
.=qq|Bcc: $si|;my$po=qq|From: "$rq{'mail_sender_name'}" <$rq{'mail_sender_email'}>\n$sg\nSubject: $pm\n$sc\n|
;&pp("$po\n$pn");}}sub wa{my$nd=shift;if($nd->{$z[46]}eq$z[16])
{my$sj=(caller)[2];die("Don't call custom_ui_erase to erase an article! Use art_erase instead. Line number of caller: $sj.");
}my$ba;if($ag{$z[875]}){$ba=$ag{$z[22]};}elsif($ag{$z[876]})
{$ba=$ag{$z[876]};}my%cb;&oe($ae{$z[20]},\%cb,$ba);my$sk=$cb{$z[69]}
?$cb{$z[602]}:$ac{$z[602]};my$ar=&sl($nd,$sk);&np($nd,$ar);
}sub sl{my$nd=shift;my$sk=shift;$sk||=$ac{$z[602]};$ad{$z[586]}
=$nd->{$z[150]};$ad{$z[587]}=$nd->{$z[46]};&an($nd->{$z[152]},
{});my($ll)=$ag{$z[22]}||$ag{$nd->{$z[46]}.$z[600]};my$ar={};
&dp();&oe($nd,$ar,$ll)||&ak($z[597],$ll);&og($nd,$ll)||die($z[601].$ll);
&dr();&oh($ar,$sk);if(defined&{$nd->{$z[176]}}){&{$nd->{$z[176]}}($ll,
$z[178],$ar);}return$ar;}sub wb{my($oa)=$_[0]->{$z[46]}||die($z[605]);
my($ll)=int($ag{$z[22]});my(%oa)=%{$_[1]||{}};my$sk=$_[2]||
$ac{$z[602]};my(%fy,%gs,$fm,%ns,%ar);if(!$sk){die("custom_ui_save_uploads: No upload directory has been defined in setup options or provided by caller!\n");
}if(!-d$sk){die("custom_ui_save_uploads: Upload directory '$sk' doesn't exist!\n");
}if(!-w$sk){die("custom_ui_save_uploads: Upload directory isn't writable!\n");
}%fy=&bs($sk);foreach(split(/ |\,/,$ac{$z[606]})){$gs{$_}++
if$_;}foreach$fm(split(/ /,$_[0]->{$z[76]})){if($fm!~/^ufile/)
{next;}if($ag{$fm}){if($ac{$z[607]}&&length($ag{$fm})>$ac{$z[608]}*1000)
{my$oi=length($ag{$fm});$ns{$z[609]}.=qq|$ag{$fm."_file"} ($oi bytes, file too large)
\n|;
$ag{$fm}=$oa{$fm};next;}if(!$gs{lc$ag{$fm.$z[321]}}){$ns{$z[609]}
.=qq|$ag{$fm."_file"} ('$ag{$fm.'_ext'}' files not accepted)
\n|;
$ag{$fm}=$oa{$fm};next;}if($oa{$fm}&&$fy{$oa{$fm}}){unlink("$sk$oa{$fm}");
}my($oj);my($ok)=lc$ag{$fm.$z[320]};my($ol)=lc$ag{$fm.$z[321]};
my($om)=$z[610];$ok=~s/\.[^\.]*$//g;$ok=~s/[^a-z0-9_\-]/_/g;
$ol=~s/[^a-z0-9_\-]/_/g;$oj="$ok.$ol";if(-e"$sk$oj"){do{$om
=sprintf($z[415],++$om);$oj=$ok."_$om.$ol";}while(-e"$sk$oj");
}open(AB,">$sk$oj")||die($z[877]."$oj $!\n");binmode AB;print
AB$ag{$fm};close(AB);if($oj=~/\.(gif|jpg|jpeg|png)$/i){my($jw,$jx,$on)
=&oo("$sk$oj");if(($ac{$z[612]}&&$jx>$ac{$z[612]})||($ac{$z[613]}
&&$jw>$ac{$z[613]})){unlink("$sk$oj");$ns{$z[609]}.=qq|$ag{$fm."_file"} (${jx}x$jw, image too big)
\n|;
$ag{$fm}=$oa{$fm};next;}}$ag{$fm}=$oj;}elsif($ag{$fm.$z[320]})
{if($oa{$fm}&&$fy{$oa{$fm}}){unlink("$sk$oa{$fm}");}$oa{$fm}
='';}else{$ag{$fm}=$oa{$fm};}}return\%ns;}sub wc{my($nd,$nq,
$sk)=@_;$sk||=$ac{$z[602]};my($ll)=int($ag{$z[22]});$ag{$z[582]}
=$ll?$nq->{$z[582]}:$^T;$ag{$z[593]}=$ll?$nq->{$z[593]}:$ai{$z[22]};
$ag{$z[614]}=$ll?$nq->{$z[614]}:$ai{$z[22]};$ag{$z[64]}=$^T;
$ag{$z[594]}=$ai{$z[22]};my$op;foreach$op($nd->{$z[76]}=~/\bufile([^ ]*)\b/g)
{if($nd->{$z[76]}=~/\bimagewidth\Q$op\E\b/){($ag{$z[615].$op},
$ag{$z[616].$op})=&oo($sk.$ag{$z[617].$op});}}}1;;sub bi{my
$bh;if($af{$z[878]}){$bh=$af{$z[878]};}else{$bh=$ac{$z[13]};
$bh=~s|https?://[^/]+||;}$ad{$z[879]}=$ac{$z[52]};$ad{$z[880]}
=$bh;$ad{$z[854]}=$ac{$z[855]};$ad{$z[13]}=$ac{$z[13]};$ad{$z[74]}
=$ac{$z[13]}.$ac{$z[856]}.$z[33].$ac{$z[34]};$ad{$z[39]}=$ac{$z[32]}
.$z[33].$ac{$z[34]};$ad{$z[40]}=$ac{$z[857]}.$z[33].$ac{$z[34]};
$ad{$z[859]}=$ac{$z[860]}.$z[33].$ac{$z[34]};$ad{$z[861]}=$ac{$z[862]}
.$z[33].$ac{$z[34]};$ad{$z[881]}=$bh.$ac{$z[32]}.$z[33].$ac{$z[34]};
$ad{$z[882]}=$bh.$ac{$z[857]}.$z[33].$ac{$z[34]};$ad{$z[883]}
=$bh.$ac{$z[860]}.$z[33].$ac{$z[34]};$ad{$z[884]}=$bh.$ac{$z[862]}
.$z[33].$ac{$z[34]};$ad{$z[148]}=&cn($ab{$z[146]},&cy($ac{$z[148]}))
if($ac{$z[148]});$ad{$z[147]}=$ac{$z[147]};return$bh;}sub ax
{my$sm=shift;my$dn={};my$as=sub{my$fi=shift;%{$dn->{$fi->{$z[22]}
}}=%$fi;};&bk($ae{$sm},$as);return$dn;}sub co{my$sb=shift;my
$sn=$ab{$z[506]}{$z[885]}||={};if(keys%$sn){return$sn->{$sb};
}&an($z[886],{});my$aw=&ax($z[20]);for(keys%$aw){my$ba=$_;my
$so=$aw->{$ba}{$z[71]}?$aw->{$ba}{$z[72]}:$ac{$z[73]}.$aw->{$ba}{$z[22]};
$aw->{$ba}{$z[110]}=$ac{$z[13]}.$so.$z[33].$ac{$z[34]};$aw->{$ba}{$z[23]}
=$aw->{$ba}{$z[22]};$aw->{$ba}{$z[101]}=$aw->{$ba}{$z[46]};
$aw->{$ba}{$z[145]}=&cn($ab{$z[146]},&cy($aw->{$ba}{$z[64]}));
$aw->{$ba}{$z[103]}=$ac{$z[70]}.$aw->{$ba}{$z[66]};$aw->{$ba}{$z[105]}
=$aw->{$ba}{$z[68]};$aw->{$ba}{$z[104]}=$aw->{$ba}{$z[67]};
$aw->{$ba}{$z[887]}=&cs($z[888],$aw->{$ba});$aw->{$ba}{$z[889]}
=&cs($z[890],$aw->{$ba});}do{&bi();my$sp={};$sp->{$z[110]}=
$ad{$z[74]};$sp->{$z[23]}=0;$sp->{$z[101]}=$ad{$z[147]};$sp->{$z[145]}
=$ad{$z[148]};my$sq=&cs($z[890],$sp);$sn->{$z[355]}=$sq;};my
$sr=&cs($z[891],{});for(keys%$aw){my$ba=$_;my$ay=$aw->{$ba};
&bi();my$sq=$ay->{$z[889]};my$ss=$ay->{$z[682]};my$st=0;while
($ss){if($st++>99){last;}my$su=$aw->{$ss};$sq=$su->{$z[887]}
.$sr.$sq;$ss=$su->{$z[682]};}$sn->{$ba}=$sq;}return$sn->{$sb};
}sub bj{my$sv=shift;my$sw=shift;if($sv!~/^(nohidden|article_editor|article_list)$/)
{die"Invalid list type '$sv'";}my%sx;foreach(@$sw){$sx{$_}=
1;}my$aw=&ax($z[20]);my$sy;my@sz=sort{$aw->{$a}{$z[892]}<=>
$aw->{$b}{$z[892]}}keys%$aw;foreach(@sz){my$fi=$aw->{$_};my
$ba=$fi->{$z[22]};my$ta=&sa($ba);my$tb=&tc($fi->{$z[46]},$fi->{$z[765]});
my$td=$ba;my$te="";if($sx{$fi->{$z[22]}}){$te="selected";}my
$tf=($ai{$z[640]}==9||$ai{$z[893]}||$ab{$z[894]}{$ba});if($sv
eq$z[830]){if($fi->{$z[895]}){next;}if(not$tf){next;}$sy.=qq|\n|;
}if($sv eq$z[128]){if(not$tf){next;}$sy.=qq|\n|;
}if($sv eq$z[42]){if($fi->{$z[65]}){next;}$sy.=qq|\n|;
}}return$sy;}sub sa{my$sb=shift;my$sn=$ab{$z[506]}{$z[896]}
||={};if(keys%$sn){return$sn->{$sb};}my$aw=&ax($z[20]);for(sort
keys%$aw){my$tg=$_;my$th=0;my$sq=$aw->{$tg}{$z[46]};my$ti=$aw->{$tg}{$z[682]};
while($ti&&$th++<99){$sq="$aw->{$ti}{'name'} \t $sq";$ti=$aw->{$ti}{$z[682]};
}my$tj=$af{$z[897]}{$z[898]};if($tj&&$tj<5){$tj=5;}my$tk;if
(length$sq<=$tj){$tk=$sq;}else{my@tl=split(/ \t /,$sq);my$tm
=$tl[$#tl];$tk="... $sq";while(length($tk)>$tj){my$ci=$tk=~
s/^.*? \t /... /s;if(not$ci){last;}}if(length$tk>$tj){my$tn
=$tj-4;if($tk=~/\s(.{1,$tn})$/s){$tk="... $1";}elsif($tk=~/(.{1,$tn})$/s)
{$tk="...$1";}else{die"unable to truncate breadcrumb name!";
}}}$tk=~s/ \t / : /gs;$sn->{$tg}=$tk;}return$sn->{$sb};}sub
tc{my$tm=shift;my$to=shift;if($to>0){$to--;}if(!$to){return
$tm;}my$tp=$af{$z[897]}{$z[899]}x$to;$tp.=$af{$z[897]}{$z[900]};
$tp.=$tm;return$tp;}sub cr{my($hb,$jf,@tq)=@_;my$ts;foreach
$ts(@tq){if(defined$ab{$z[135]}{$z[136]}{$hb.$ts}){$hb.=$ts;
}else{last;}}&cs($hb,$jf);}sub wd{my$tt=shift;foreach(grep/^templatedir/,
sort keys%ab){if(-e"$ab{$_}/$tt"){return 1;}}return 0;}sub
ap{my@tu;my$dz;foreach$dz(1..3){my$tv=$ac{"sort${dz}field"};
next unless$tv;$tv="#$tv#"if$ac{"sort${dz}numeric"};$tv="-$tv"
if$ac{"sort${dz}reverse"};push@tu,$tv;}$ae{$z[16]}{$z[174]}
=join($z[748],@tu);}sub ak{my($tw)=$ad{$z[133]};my($gh,$tx,$ty)
=@_;my(%tz,$ns,$ua,$ub,$ud,$ue);$tx=&gl($tx);$ad{$z[901]}||=
"#336699";my($uf,$ug)=(1,2);%tz=($z[597]=>[("Can't find record # $tx",
"The program can't find the specified record number in the database. This is usually because the record has already been erased. Reload the record list and try again.",
$uf)],$z[808]=>[("Warning: File/Directory not writeable!","This web application needs to be able to create and update it's data files. Please ask your server administrator to make the following files and directories writeable:
$tx
Please ask your server administrator to make sure the publish directory and publish file(s) are writable.",
$ug)],$z[906]=>[("Program doesn't support mod_perl","Your server is running $ENV{MOD_PERL}
This program doesn't support mod_perl. Please ask your server administrator to disable mod_perl for this program.",
$uf)],$z[907]=>[($z[908],$z[909],$uf)],$z[910]=>[("No such file or directory",
"The program can't find the file or directory it's looking for. Please make sure the following file or directory exists:
$tx",
$uf)],$z[911]=>[("Permission denied","The program doesn't have permission to access a required file. Please make sure the program has read and write access to the following directories and files:
$tx",
$ug)],$z[301]=>[("File System Error!","The program is unable to access a required file. Please contact your server administrator or technical support for assistance.
\n/g;}my$ui=$z[912]if$ab{$z[733]};
$ue=qq||;$ud=qq| |;
if($tz{$gh}[2]==$ug){$ub=$ud;}else{$ub=$ue;}if(!$ENV{$z[913]})
{$ns=~s/(<.*?>)+/\n/g;print"\n\nFatal Error: $ua\n\n$ns\n\n";
exit;}if($ab{$z[493]}){$ns.="
";$ns
.="";
my$dz=0;while(my($fy,$ez,$gk)=(caller($dz++))[1,2,3]){$fy=~
s/^.*[\/\\]//;$gk=~s/^main:://;unless($gk=~s/__ANON__/(anonymous)/)
{$gk=$z[309].$gk;}$ns.=qq!
!;
$ns.=qq! !;
$ns.=qq! !;
$ns.=qq! !;
$ns.=qq!\n!;}$ns.="
";
}if(!$ab{$z[686]}++){print"Cache-Control: no-cache\nPragma: no-cache\nExpires: -1\n";
print"Content-type: text/html\n\n";}print qq|\n \n $ab{'debug_output'}"if($ab{$z[310]});print"
";
}&pf();exit;}1;;%af=&uj("$dc/config.ini");$ad{$z[901]}=$af{$z[579]}{$z[914]}
||"#336699";$ab{$z[807]}=$af{$z[807]}||$z[915];$ab{$z[513]}
=$af{$z[513]}||$z[916];$ab{$z[146]}=$af{$z[579]}{$z[146]}||
$z[917];$ab{$z[98]}=$af{$z[579]}{$z[98]}||$z[918];$ab{$z[100]}
=$af{$z[579]}{$z[100]}||$z[431];$af{$z[897]}{$z[898]}||=55;
$af{$z[897]}{$z[899]}||=" ";&ak($z[919])
if!$ENV{$z[913]};&ak("macftp")if"¡"ne"\xA1";&ak($z[906])if
$ENV{$z[920]}&&!$af{$z[921]};%ab=(%ab,$z[517]=>$dc,$z[922]=>
$da,$z[923]=>$da,$z[61]=>$z[924],$z[925]=>$z[926],$z[927]=>
$z[928],$z[686]=>0,);foreach(qw(datadir filelock templatedir1 templatedir2 templatedir3 archive))
{if(ref($ab{$_})){next;}$ab{$_}="$dc/$ab{$_}"if(index($ab{$_},$z[33])
==0);$ab{$_}=~s|\\|/|g;1 while$ab{$_}=~s|/[^/]+/\.\./|/|;}&oe($ae{$z[207]},
\%ac,1);if(!$ac{$z[929]}){&ak($z[930]);}foreach(grep/^dir_/,
keys%ac){$ac{$_}="$dc/$ac{$_}"if index($ac{$_},$z[33])==0;$ac{$_}
=~tr|\\|/|;1 while$ac{$_}=~s|/[^/]+/\.\.||;}foreach(qw(cgidir cgiurl))
{$ad{$z[576].$_}=$ab{$_};}foreach(qw(url_help reg1 reg2 reg3))
{$ad{$z[576].$_}=$ac{$_};}$ad{$z[783]}=$ac{$z[784]};$ad{$z[931]}
=$ac{$z[786]};$ad{$z[932]}=$ab{$z[1]};$ad{$z[933]}=$af{$z[934]};
$ad{$z[935]}=$af{$z[936]};$ad{$z[937]}=$af{$z[938]};$ad{$z[13]}
=$ac{$z[13]};$ad{$z[785]}=$ac{$z[786]};$ad{$z[787]}=$ac{$z[711]};
%ag=&uk();%ah=&ul();}
# ----------------------------------------------------------------------------
# end of file