#!/usr/bin/perl # ---------------------------------------------------------------------------- # Article Manager 1.27 # Copyright (C) 2002 interactivetools.com, inc. All Rights Reserved # http://www.interactivetools.com/ # ---------------------------------------------------------------------------- # This program is protected by Canadian 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 interactivetools.com and all # other rights are reserved. # ----------------------------------------------------------------------------- # Warning : Modifying this program violates your license agreement! # ----------------------------------------------------------------------------- BEGIN{@z=('70726f675f6e616d65','41727469636c65204d616e61676' .'572','70726f675f6e616d6532','6172746d616e','70726f675f7665' .'72','312e3237','73706172655f6669656c6473','457870697265642' .'055736572','44697361626c6564','4e65772055736572','52656775' .'6c61722055736572','41646d696e6973747261746f72','6172636869' .'7665','617274','6461746166696c65','636174','6361745f6e756d', '253034642530326425303264','79656172','6d6f6e','646179','79' .'65617232','6d6f6e32','64617932','75726c5f736561726368','73' .'65617263685f75726c','75726c5f67696e646578','75726c5f707562' .'6c697368','7075626c6973685f696e6465785f66696c6570726566697' .'8','2e','7075626c6973685f66696c65657874','66696c655f676361' .'7465676f72696573','7075626c6973685f6361745f6c6973745f66696' .'c65707265666978','66696c655f67686561646c696e6573','7075626' .'c6973685f686561646c696e655f66696c65707265666978','66696c65' .'5f686561646c696e65735f6279636174','7075626c6973685f73616d7' .'06c65725f66696c65707265666978','66696c655f736561726368','7' .'075626c6973685f7365617263685f666f726d5f66696c6570726566697' .'8','676c6f62616c5f75706461746564','6461746574696d655f666f7' .'26d6174','676361745f6e616d65','66696c655f63617465676f72696' .'573','66696c655f686561646c696e6573','7075626c6973685f63617' .'45f686561646c696e655f66696c65707265666978','68696464656e', '63617465676f72795f70756c6c646f776e','3c6f7074696f6e2076616' .'c75653d22','6e756d','223e','6e616d65','617263686976655f707' .'56c6c646f776e','7365617263682f616476616e6365645f7365617263' .'682e68746d6c','737369','6469725f7075626c697368','74656d706' .'c617465','7365617263682f7365617263685f726573756c74732e6874' .'6d6c','70657270616765','7374617274','696e5f','696e6465782f', '686561646c696e65732f','7365617263682f','74656d706c61746564' .'697231','2f','536f7272792c207468652074656d706c61746520796f' .'7527766520726571756573746564206973206e6f742061207265676973' .'74657265642074656d706c6174652e','75706461746564','7566696c' .'655f696d616765','696d6167656865696768745f696d616765','696d' .'61676577696474685f696d616765','7075625f66696c6570726566697' .'85f73706563696679','7075625f66696c65707265666978','7075626' .'c6973685f6361745f66696c65707265666978','75726c5f7365617263' .'685f63617465676f7279','6669656c6473','73756d6d617279','636' .'f6e74656e74','7370617265','737461747573','736561726368','6' .'9676e6f72655f776f72645f626f756e646172696573','5c62','6b657' .'9776f7264','7365617263685f6d61746368','6172745f','6172745f' .'73756d6d617279','73756d6d6172795f666f726d6174','6172745f63' .'6f6e74656e74','636f6e74656e745f666f726d6174','6172745f7370' .'617265','666f726d61745f7370617265','686f7572','616d706d','' .'706d','6d696e','6172745f64617465','646174655f666f726d6174', '6172745f74696d65','74696d655f666f726d6174','6361745f6e616d' .'65','6361745f696d616765','6361745f696d6167655f686569676874', '6361745f696d6167655f7769647468','6172745f7072696e7465725f7' .'5726c','616c6c6f775f6172745f66696c656e616d65','66696c656e6' .'16d65','7075626c6973685f6172745f7072696e7465725f66696c6570' .'7265666978','75726c5f696e646578','64657461696c5f6c696e6b', '7075626c6973685f6172745f66696c65707265666978','76696577657' .'25f70617468696e666f','7669657765725f75726c','6172745f6e756' .'d','3f617263686976653d','266e756d3d','6172745f74797065','6' .'c696e6b','75726c5f75706c6f6164','7566696c655f646f63756d656' .'e74','6172745f696d6167655f75726c','63617074696f6e','617274' .'5f6669656c64','726f77','726f775f73756d6d617279','726f775f6' .'c696e6b','726f775f7566696c65','61727469636c655f6c697374','' .'32','6e6f745f666f756e64','70726576','707265765f75726c','5f' .'63676975726c','3f','54656d706c617465','63656c6c','6e6f5f70' .'726576','6e657874','6e6578745f75726c','6e6f5f6e657874','73' .'65617263685f7470616765','7365617263685f6370616765','736561' .'7263685f6c6e756d','7365617263685f686e756d','6361745f757064' .'61746564','5343524950545f46494c454e414d45','6d656e755f6865' .'61646572','41727469636c6520456469746f72','6d656e755f74656d' .'706c617465','5f6172745f6d656e75732e68746d6c','61727469636c' .'652e646174','6e756d206372656174656420637265617465645f62792' .'07570646174656420757064617465645f6279206d6f6e2064617920796' .'56172206e616d652073756d6d61727920636f6e74656e7420','73756d' .'6d6172795f666f726d617420636f6e74656e745f666f726d6174206361' .'7420','7566696c655f696d61676531207566696c655f696d616765322' .'07566696c655f696d61676533207566696c655f696d616765342075666' .'96c655f696d61676535207566696c655f696d61676536207566696c655' .'f696d61676537207566696c655f696d61676538207566696c655f696d6' .'1676539207566696c655f696d616765313020','63617074696f6e3120' .'63617074696f6e322063617074696f6e332063617074696f6e34206361' .'7074696f6e352063617074696f6e362063617074696f6e372063617074' .'696f6e382063617074696f6e392063617074696f6e313020','686f757' .'2206d696e20616d706d206f776e6572206c696e6b206172745f7479706' .'5207566696c655f646f63756d656e742068696464656e20','696d6167' .'656e616d653120696d6167656e616d653220696d6167656e616d653320' .'696d6167656e616d653420696d6167656e616d653520696d6167656e61' .'6d653620696d6167656e616d653720696d6167656e616d653820696d61' .'67656e616d653920696d6167656e616d65313020','696d61676577696' .'474685f696d6167653120696d61676577696474685f696d61676532206' .'96d61676577696474685f696d6167653320696d61676577696474685f6' .'96d6167653420696d61676577696474685f696d6167653520696d61676' .'577696474685f696d6167653620696d61676577696474685f696d61676' .'53720696d61676577696474685f696d6167653820696d6167657769647' .'4685f696d6167653920696d61676577696474685f696d616765313020', '696d6167656865696768745f696d6167653120696d6167656865696768' .'745f696d6167653220696d6167656865696768745f696d616765332069' .'6d6167656865696768745f696d6167653420696d616765686569676874' .'5f696d6167653520696d6167656865696768745f696d6167653620696d' .'6167656865696768745f696d6167653720696d6167656865696768745f' .'696d6167653820696d6167656865696768745f696d6167653920696d61' .'67656865696768745f696d616765313020','73746174757320','7370' .'6172653120737061726532207370617265332073706172653420737061' .'7265352073706172653620737061726537207370617265382073706172' .'653920737061726531302073706172653131207370617265313220','7' .'374616d7020','7566696c655f696d6167653131207566696c655f696d' .'6167653132207566696c655f696d6167653133207566696c655f696d61' .'67653134207566696c655f696d6167653135207566696c655f696d6167' .'653136207566696c655f696d6167653137207566696c655f696d616765' .'3138207566696c655f696d6167653139207566696c655f696d61676532' .'30207566696c655f696d6167653231207566696c655f696d6167653232' .'207566696c655f696d6167653233207566696c655f696d616765323420' .'7566696c655f696d616765323520','696d6167656e616d65313120696' .'d6167656e616d65313220696d6167656e616d65313320696d6167656e6' .'16d65313420696d6167656e616d65313520696d6167656e616d6531362' .'0696d6167656e616d65313720696d6167656e616d65313820696d61676' .'56e616d65313920696d6167656e616d65323020696d6167656e616d653' .'23120696d6167656e616d65323220696d6167656e616d65323320696d6' .'167656e616d65323420696d6167656e616d65323520','696d61676577' .'696474685f696d616765313120696d61676577696474685f696d616765' .'313220696d61676577696474685f696d616765313320696d6167657769' .'6474685f696d616765313420696d61676577696474685f696d61676531' .'3520696d61676577696474685f696d616765313620696d616765776964' .'74685f696d616765313720696d61676577696474685f696d6167653138' .'20696d61676577696474685f696d616765313920696d61676577696474' .'685f696d616765323020696d61676577696474685f696d616765323120' .'696d61676577696474685f696d616765323220696d6167657769647468' .'5f696d616765323320696d61676577696474685f696d61676532342069' .'6d61676577696474685f696d616765323520','696d616765686569676' .'8745f696d616765313120696d6167656865696768745f696d616765313' .'220696d6167656865696768745f696d616765313320696d61676568656' .'96768745f696d616765313420696d6167656865696768745f696d61676' .'5313520696d6167656865696768745f696d616765313620696d6167656' .'865696768745f696d616765313720696d6167656865696768745f696d6' .'16765313820696d6167656865696768745f696d616765313920696d616' .'7656865696768745f696d616765323020696d6167656865696768745f6' .'96d616765323120696d6167656865696768745f696d616765323220696' .'d6167656865696768745f696d616765323320696d61676568656967687' .'45f696d616765323420696d6167656865696768745f696d61676532352' .'0','66696c656e616d6520','737061726531332073706172653134207' .'3706172653135207370617265313620737061726531372073706172653' .'1382073706172653139207370617265323020','63617074696f6e3131' .'2063617074696f6e31322063617074696f6e31332063617074696f6e31' .'342063617074696f6e31352063617074696f6e31362063617074696f6e' .'31372063617074696f6e31382063617074696f6e31392063617074696f' .'6e32302063617074696f6e32312063617074696f6e3232206361707469' .'6f6e32332063617074696f6e32342063617074696f6e323520','666f7' .'26d61745f73706172653120666f726d61745f73706172653220666f726' .'d61745f73706172653320666f726d61745f73706172653420666f726d6' .'1745f73706172653520666f726d61745f73706172653620666f726d617' .'45f73706172653720666f726d61745f73706172653820666f726d61745' .'f73706172653920666f726d61745f7370617265313020666f726d61745' .'f7370617265313120666f726d61745f7370617265313220666f726d617' .'45f7370617265313320666f726d61745f7370617265313420666f726d6' .'1745f7370617265313520666f726d61745f7370617265313620666f726' .'d61745f7370617265313720666f726d61745f7370617265313820666f7' .'26d61745f7370617265313920666f726d61745f73706172653230','73' .'6f72746279','2d237374616d7023','7075626c6973685f737562','6' .'d656e755f73756273','6572617365','6c697374','74656d70','437' .'2656174652041727469636c65','5f7772697465725f6d656e75732e68' .'746d6c','74656d702e646174','43617465676f727920456469746f72', '5f6361745f6d656e75732e68746d6c','63617465676f72792e646174', '6e756d206372656174656420637265617465645f627920757064617465' .'6420757064617465645f6279206e616d6520736f7264657220','74656' .'d706c6174655f66696c652061727469636c655f74656d706c6174655f6' .'6696c6520686561646c696e655f74656d706c6174655f66696c6520','' .'7566696c655f696d616765207075625f66696c65707265666978207075' .'625f66696c657072656669785f7370656369667920','7065727061676' .'55f696e64657820706572706167655f686561646c696e6573206869646' .'4656e207072696e7465725f74656d706c6174655f66696c6520','696d' .'61676577696474685f696d61676520696d6167656865696768745f696d' .'616765207075625f706572706167655f73706563696679','23736f726' .'4657223','41726368697665204d616e61676572','5f6172636869766' .'55f6d656e75732e68746d6c','617263686976652e646174','6e756d2' .'06372656174656420637265617465645f6279207570646174656420757' .'064617465645f6279206e616d6520636f756e74','236e756d23','616' .'3636f756e74','5f6163636f756e745f6d656e75732e68746d6c','616' .'3636f756e742e6461742e636769','6e756d2063726561746564206372' .'65617465645f6279207570646174656420757064617465645f6279206e' .'616d652069642070772061636c206e6f746573206361747320616c6c5f' .'63617473','6e616d65206964','73657373696f6e','73657373696f6' .'e2e6461742e636769','7365747570','5f73657475705f6d656e75732' .'e68746d6c','73657475702e6461742e636769','6e756d207469746c6' .'5626172','20636f6e6669726d5f657261736520636f6e6669726d5f73' .'6176656420636f6e6669726d5f6572617365642073657475705f776172' .'6e696e67','2075706c6f61646c696d69742075706c6f61646d6178207' .'5706c6f61645f6865696768742075706c6f61645f77696474682075706' .'c6f6164657874206c686f7572206c686f75725f6f6666736574206c6d6' .'96e206c6d696e5f6f66667365742072656731207265673220726567332' .'06420632069','206469725f62617365206469725f75706c6f61642064' .'69725f7075626c697368','2075726c5f696d6167652075726c5f68656' .'c702075726c5f75706c6f61642075726c5f7075626c6973682075726c5' .'f6c6f676f6666207365617263685f75726c','2064656661756c745f61' .'75746f666f726d617420616c6c6f775f68746d6c20616c6c6f775f6172' .'745f7479706573206175746f5f7075626c697368','207075626c69736' .'85f696e6465785f66696c65707265666978207075626c6973685f68656' .'1646c696e655f66696c65707265666978207075626c6973685f6361745' .'f66696c65707265666978207075626c6973685f6361745f686561646c6' .'96e655f66696c65707265666978207075626c6973685f6172745f66696' .'c65707265666978207075626c6973685f6172745f7072696e7465725f6' .'6696c65707265666978207075626c6973685f6361745f6c6973745f666' .'96c65707265666978207075626c6973685f73616d706c65725f66696c6' .'5707265666978207075626c6973685f66696c65657874','207075626c' .'6973685f696e6465785f717479207075626c6973685f686561646c696e' .'655f717479207075626c6973685f6361745f717479207075626c697368' .'5f6361745f686561646c696e655f717479207075626c6973685f73616d' .'706c65725f717479','207075626c6973685f696e646578207075626c6' .'973685f686561646c696e6573207075626c6973685f636174207075626' .'c6973685f6361745f686561646c696e6573207075626c6973685f61727' .'469636c65207075626c6973685f7072696e746572207075626c6973685' .'f6c6973745f6f665f63617473207075626c6973685f73616d706c6572', '207075626c6973685f7365617263685f666f726d5f66696c6570726566' .'6978207075626c6973685f7365617263685f666f726d','20676361745' .'f6e616d65','20676c6f62616c5f75706461746564','20736669656c6' .'45f6e616d653120736669656c645f6e616d653220736669656c645f6e6' .'16d653320736669656c645f6e616d653420736669656c645f6e616d653' .'520736669656c645f6e616d653620736669656c645f6e616d653720736' .'669656c645f6e616d653820736669656c645f6e616d653920736669656' .'c645f6e616d65313020736669656c645f6e616d65313120736669656c6' .'45f6e616d653132','20736669656c645f6f726465723120736669656c' .'645f6f726465723220736669656c645f6f726465723320736669656c64' .'5f6f726465723420736669656c645f6f726465723520736669656c645f' .'6f726465723620736669656c645f6f726465723720736669656c645f6f' .'726465723820736669656c645f6f726465723920736669656c645f6f72' .'646572313020736669656c645f6f72646572313120736669656c645f6f' .'726465723132','20736669656c645f747970653120736669656c645f7' .'47970653220736669656c645f747970653320736669656c645f7479706' .'53420736669656c645f747970653520736669656c645f7479706536207' .'36669656c645f747970653720736669656c645f7479706538207366696' .'56c645f747970653920736669656c645f74797065313020736669656c6' .'45f74797065313120736669656c645f747970653132','207075626c69' .'73685f73796e6469636174655f66696c65707265666978207075626c69' .'73685f73796e6469636174655f717479207075626c6973685f73796e64' .'696361746520776562666565645f67656e5f616374697665','2076206' .'272616e64696e6720666f6f746572207374617469635f6172636869766' .'55f7061676573207669657765725f75726c207669657765725f7061746' .'8696e666f20616c6c6f775f6172745f66696c656e616d65','20736669' .'656c645f6e616d65313320736669656c645f6e616d6531342073666965' .'6c645f6e616d65313520736669656c645f6e616d65313620736669656c' .'645f6e616d65313720736669656c645f6e616d65313820736669656c64' .'5f6e616d65313920736669656c645f6e616d653230','20736669656c6' .'45f6f72646572313320736669656c645f6f72646572313420736669656' .'c645f6f72646572313520736669656c645f6f726465723136207366696' .'56c645f6f72646572313720736669656c645f6f7264657231382073666' .'9656c645f6f72646572313920736669656c645f6f726465723230','20' .'736669656c645f74797065313320736669656c645f7479706531342073' .'6669656c645f74797065313520736669656c645f747970653136207366' .'69656c645f74797065313720736669656c645f74797065313820736669' .'656c645f74797065313920736669656c645f747970653230','20736f7' .'274316669656c6420736f7274317265766572736520736f7274316e756' .'d6572696320736f7274326669656c6420736f727432726576657273652' .'0736f7274326e756d6572696320736f7274336669656c6420736f72743' .'37265766572736520736f7274336e756d65726963','2073756d6d6172' .'795f6e616d6520636f6e74656e745f6e616d652073756d6d6172795f74' .'79706520636f6e74656e745f747970652073756d6d6172795f656e6162' .'6c656420636f6e74656e745f656e61626c6564','20736669656c645f6' .'56e61626c65643120736669656c645f656e61626c65643220736669656' .'c645f656e61626c65643320736669656c645f656e61626c65643420736' .'669656c645f656e61626c65643520736669656c645f656e61626c65643' .'620736669656c645f656e61626c65643720736669656c645f656e61626' .'c65643820736669656c645f656e61626c65643920736669656c645f656' .'e61626c6564313020736669656c645f656e61626c65643131207366696' .'56c645f656e61626c6564313220736669656c645f656e61626c6564313' .'320736669656c645f656e61626c6564313420736669656c645f656e616' .'26c6564313520736669656c645f656e61626c6564313620736669656c6' .'45f656e61626c6564313720736669656c645f656e61626c65643138207' .'36669656c645f656e61626c6564313920736669656c645f656e61626c6' .'5643230','207075626c6973685f68696464656e5f696e646578','484' .'15348','44425f436f756e74203a2043616e2774206f70656e20','444' .'25f5365656b203a2054686520666972737420617267756d656e74206d7' .'5737420626520612048415348207265666572656e636521','44425f53' .'65656b203a20546865207365636f6e6420617267756d656e74206d7573' .'7420626520612048415348207265666572656e636521','44425f53656' .'56b203a204e6f207365656b206669656c6420776173207370656369666' .'9656421','44425f5365656b203a204572726f722c2043616e2774206f' .'70656e20','43','6669656c646e','44425f4c697374203a205468652' .'0666972737420617267756d656e74206d7573742062652061204841534' .'8207265666572656e636521','434f4445','44425f4c697374203a205' .'46865207365636f6e6420617267756d656e74206d75737420626520612' .'0434f4445207265666572656e636521','44425f4c697374203a205468' .'6520666f7572746820617267756d656e74206d75737420626520612048' .'415348207265666572656e636521','44425f4c697374203a20416e6f6' .'e207375622024726f77636f6465206973206e6f7420646566696e65642' .'1','44425f4c697374203a204e6f206461746166696c6520646566696e' .'656420696e20646174616261736520646566696e6974696f6e20282544' .'424465662921','44425f4c697374203a2043616e2774206f70656e20', '6e','2d','44425f4c697374203a2044424465662d3e736f7274627920' .'636f6e7461696e7320756e6b6e6f776e206669656c64206e616d6520', 'a1','44425f4c69737450616765203a205468652066697273742061726' .'7756d656e74206d75737420626520612048415348207265666572656e6' .'36521','44425f4c69737450616765203a205468652074686972642061' .'7267756d656e74206d757374206265206120434f444520726566657265' .'6e636521','44425f4c69737450616765203a20416e6f6e20737562202' .'46d61746368636f6465206973206e6f7420646566696e656421','4442' .'5f4c69737450616765203a204e6f206461746166696c6520646566696e' .'656420696e20646174616261736520646566696e6974696f6e20282544' .'424465662921','44425f4c69737450616765203a2044424465662d3e7' .'36f7274627920636f6e7461696e7320756e6b6e6f776e206669656c642' .'06e616d6520','44425f4c69737453617665203a2044424465662d3e73' .'6f7274627920636f6e7461696e7320756e6b6e6f776e206669656c6420' .'6e616d6520','414c4c','bf25303278','7072696e7420224c6f63617' .'4696f6e3a20687474703a2f2f7777772e696e746572616374697665746' .'f6f6c732e636f6d2f6e6e223b','5f5f454e445f5f','44425f4164642' .'03a2054686520666972737420617267756d656e74206d7573742062652' .'0612048415348207265666572656e636521','44425f416464203a2054' .'6865207365636f6e6420617267756d656e74206d757374206265206120' .'48415348207265666572656e636521','44425f416464203a204572726' .'f722c2043616e2774206f70656e20','736f72646572','44425f41646' .'4203a2043616e277420777269746520746f20','44425f4c6f6164203a' .'2054686520666972737420617267756d656e74206d7573742062652061' .'2048415348207265666572656e636521','44425f4c6f6164203a20546' .'865207365636f6e6420617267756d656e74206d7573742062652061204' .'8415348207265666572656e636521','44425f4c6f6164203a204e6f20' .'7265636f7264206e756d626572207761732073706563696669656421', '44425f4c6f6164203a204572726f722c2043616e2774206f70656e20', '44425f44656c203a2054686520666972737420617267756d656e74206d' .'75737420626520612048415348207265666572656e636521','44425f4' .'4656c203a20546865207365636f6e6420617267756d656e74206d75737' .'42062652061207265636f7264206e756d62657221','44425f44656c20' .'3a204572726f722c2043616e2774206f70656e20','44425f44656c203' .'a2043616e277420777269746520746f20','44425f53617665203a2054' .'686520666972737420617267756d656e74206d75737420626520612048' .'415348207265666572656e636521','44425f53617665203a205468652' .'07365636f6e6420617267756d656e74206d75737420626520612048415' .'348207265666572656e636521','44425f53617665203a204e6f207265' .'636f7264206e756d626572207761732073706563696669656421','444' .'25f53617665203a204572726f722c2043616e2774206f70656e20','44' .'425f53617665203a2043616e277420777269746520746f20','66696c6' .'56c6f636b696e67','6e65737465645f6c6f636b73','66696c656c6f6' .'36b','6e6f7772697465','64617461646972','736572766572627573' .'79','4152524159','556e6b6e6f776e206669656c642022','2220696' .'e20636f6e646974696f6e3c62723e3c62723e','4c494b45','4e4f542' .'04c494b45','3d3d','3c','3e','3c3d','3e3d','213d','42455457' .'45454e','4e4f54204245545745454e','494e','28','207c7c20','2' .'9','4e4f5420494e','2128','556e6b6e6f776e206f70657261746f72' .'2022','284066203d2073706c6974282fa12f2929','6d792040663b20' .'20407b247265635f6e6f7061636b7d203d2067726570207b20','20262' .'620','207d20407b247265635f6e6f7061636b7d3b','6d792040663b2' .'020666f72656163682028407b247265635f6e6f7061636b7d29207b202' .'069662028','29207b20246d617463685f6e6f7061636b7b24665b305d' .'7d2b2b3b207d207d','3d','766172','436f756c646e27742066696e6' .'420','21','66696c6573','64697273','646972203a20556e6b6e6f7' .'76e2066696c652074797065203a20','26','64656275675f6f7574707' .'574','6370203a2063616e2774207265616420','6370203a2063616e2' .'77420777269746520','434f4e54454e545f4c454e475448','5155455' .'2595f535452494e47','52656164466f726d203a20496e707574206578' .'6365656473206d617820696e707574206c696d6974206f6620','434f4' .'e54454e545f54595045','524551554553545f4d4554484f44','504f5' .'354','5f70617468','5f66696c65','5f657874','474554','747275' .'65','56','4d','41','44','6e6f2d6361636865','6361636865','7' .'06c61696e','54656d706c6174653a20556e6b6e6f776e2074656d706c' .'61746520666c616720','54656d706c617465203a204e6f2074656d706' .'c6174652066696c65207761732073706563696669656421','54656d70' .'6c617465203a20546865207365636f6e6420617267756d656e74206d75' .'737420626520612048415348207265666572656e6365206f7220756e64' .'6566696e656421','54656d706c617465203a2054656d706c617465206' .'6696c6520','20636f756c64206e6f7420626520666f756e6421','546' .'56d706c617465203a20436f756c646e2774206f70656e20','77656272' .'6f6f74','444f43554d454e545f524f4f54','696e736964655f737369', '5f7565','5f6865','5f6e627370','5f6a65','54656d706c61746543' .'656c6c203a204e6f2074656d706c6174652063656c6c20776173207370' .'6563696669656421','54656d706c61746543656c6c203a2054656d706' .'c6174652063656c6c20','206973206e6f7420646566696e656421','5' .'4656d706c61746543656c6c203a20546865207365636f6e64206172677' .'56d656e74206d75737420626520612048415348207265666572656e636' .'5206f7220756e646566696e656421','5a','61','7a','2b','422a', '4d494d453634203a204e6f7468696e6720746f206465636f6465','252' .'525303278','536574436f6f6b6965203a20436f6f6b6965206e616d65' .'206d75737420626520737065636966696564','536574436f6f6b69652' .'03a2045787069726520446174652069736e277420696e207365636f6e6' .'473207573696e672074696d6528293b','30','657870697265733d','' .'706174683d','646f6d61696e3d','7365637572653b20','5365742d4' .'36f6f6b69653a20','485454505f434f4f4b4945','6c616e677561676' .'5','6f7264696e616c73','20307468','20317374','20326e64','20' .'337264','20347468','20357468','20367468','20377468','20387' .'468','20397468','31307468','31317468','31327468','31337468', '31347468','31357468','31367468','31377468','31387468','313' .'97468','32307468','32317374','32326e64','32337264','323474' .'68','32357468','32367468','32377468','32387468','32397468', '33307468','33317374','7765656b5f66756c6c','7765656b5f61626' .'272','6d6f6e74685f66756c6c','6d6f6e74685f61626272','25','6' .'2','42','63','256d2f25642f25792025483a254d3a2553','2561202' .'56220256520255420255a202559','64','25303264','256d2f25642f' .'2579','65','253264','68','48','49','6a','25303364','6b','6' .'c','6d','6f','70','50','71','72','25493a254d3a2553202570', '52','25483a254d','73','53','74','54','25483a254d3a2553','5' .'5','77','57','78','58','79','59','25303464','4461746553747' .'2696e67203a2054696d652076616c7565206d75737420626520616e206' .'96e7465676572','4a616e','466562','4d6172','417072','4d6179', '4a756e','4a756c','417567','536570','4f6374','4e6f76','4465' .'63','4a616e75617279','4665627275617279','4d61726368','4170' .'72696c','4a756e65','4a756c79','417567757374','53657074656d' .'626572','4f63746f626572','4e6f76656d626572','446563656d626' .'572','53756e','4d6f6e','547565','576564','546875','467269', '536174','53756e646179','4d6f6e646179','54756573646179','57' .'65646e6573646179','5468757273646179','467269646179','53617' .'47572646179','7374','6e64','7264','7468','7e','2573','252d' .'20353073','3c696e70757420747970653d68696464656e206e616d653' .'d22','222076616c75653d22','534d54505f73656e646d61696c','68' .'6f7374','706f7274','68656c6f','6c6f63616c686f7374','74696d' .'656f7574','6465627567','6572726f72','706f70335f61757468','' .'5c62283f3a5b772d5d2b5b772d2e5d292a5b772d5d2b40','283f3a5b7' .'72d5d2b5b772d2e5d292a5b772d5d2b2e5b412d5a612d7a5d7b322c387' .'d62','66726f6d','706f70335f75736572','706f70335f70617373', '534d54505f706f703361757468','617574686f72697a6564','706f70' .'335f686f7374','706f70335f706f7274','706f70335f74696d656f75' .'74','636769646972','2e2e2e','414e59','75695f73756273','5f', '65646974','636f6e6669726d5f6572617365','7569','706167656e7' .'56d','64617465','63726561746564','5f6267636f6c6f72','23454' .'545454646','23444444444545','5f6d656e755f686561646572','5f' .'6d656e755f6e616d65','6d61785f7265636f726473','6572726f725f' .'6d61785f7265636f726473','5f73656c6563746564','73656c656374' .'6564','6e6f6e65','637265617465645f6279','757064617465645f6' .'279','616464','5f65646974','6e6f7265636f7264','5f636865636' .'b6564','636865636b6564','5f636f6e6669726d5f6572617365','65' .'72617365203a2043616e27742066696e64207265636f7264202320','6' .'36f6e6669726d5f657261736564','657261736564','73617665203a2' .'05461626c65206e616d6520756e646566696e6564','6469725f75706c' .'6f6164','75706c6f6164657874','75706c6f61646c696d6974','757' .'06c6f61646d6178','6d657373616765','303030','75695f73617665' .'5f75706c6f616473203a2063616e277420736176652075706c6f616465' .'642066696c6520','75706c6f61645f686569676874','75706c6f6164' .'5f7769647468','6f776e6572','696d6167657769647468','696d616' .'765686569676874','7566696c65','73617665','6d617873697a65', '6d6178686569676874','6d61787769647468','616363657074657874', '4e6f6e65','6572726f725f75706c6f61645f6e6f745f7361766564','' .'636f6e6669726d5f7361766564','7361766564','75695f6c69737420' .'3a2054686520666972737420617267756d656e74206d75737420626520' .'612048415348207265666572656e636521','5f6c697374616c6c','5f' .'7374617465','5f70657270616765','5f6c697374','5f70636f756e7' .'4','5f6d636f756e74','5f72636f756e74','5f6370616765','5f6c7' .'0616765','5f6e70616765','6e6f745f666f756e645f736561726368', '616363657373','61636c','6964','6572726f725f757365726e616d6' .'55f74616b656e','6572726f725f6c6173745f61646d696e','6c6f676' .'96e5f696e76616c6964','6d61696c5f6d61696c6572','736d7470','' .'6d61696c5f736d7470','534d5450','736d74705f68656c6f','736d7' .'4705f74696d656f7574','6d61696c5f706f703361757468','6d61696' .'c5f706f7033','6d61696c5f706f703375736572','6d61696c5f706f7' .'03370617373','73656e646d61696c','6d61696c5f73656e646d61696' .'c','6669656c645f6e616d65','646972','66696c65','6d6b646972', '546865206162696c69747920746f20637265617465206e657720646972' .'6563746f7269657320686173206265656e2072656d6f7665642066726f' .'6d206f75722064656d6f2076657273696f6e2e2020','4120726567697' .'374657265642076657273696f6e206f6620','20776f756c6420616c6c' .'6f7720796f7520746f20646f20736f2e','6d6b66696c65','54686520' .'6162696c69747920746f20637265617465206e65772066696c65732068' .'6173206265656e2072656d6f7665642066726f6d206f75722064656d6f' .'2076657273696f6e2e2020','546865206162696c69747920746f20627' .'26f7773652061726f756e6420796f75722073657276657220686173206' .'265656e2072656d6f7665642066726f6d206f75722064656d6f2076657' .'273696f6e2e2020','6469725f62617365','73646972','64656d6f', '6d6b6469725f6e616d65','6469725f6572726f72','4e6f2064697265' .'63746f7279206e616d652073706563696669656421','4469726563746' .'f7279206e616d65206d6179206f6e6c7920636f6e7461696e20412d5a2' .'c20612d7a2c20302d392c202d206f72205f','556e61626c6520746f20' .'63726561746520646972203a20','6d6b66696c655f6e616d65','6669' .'6c655f6572726f72','4e6f2066696c65206e616d65207370656369666' .'9656421','46696c65206e616d65206d6179206f6e6c7920636f6e7461' .'696e20412d5a2c20612d7a2c20302d392c202d2c205f206f72202e','4' .'6696c6520616c72656164792065786973747321','556e61626c652074' .'6f206372656174652066696c65203a20','64697232','706172656e74', '706172656e745f7565','4469726563746f727920646f65736e2774206' .'57869737421','4469726563746f72792069736e277420726561646162' .'6c6521','636f6e74656e74686561646572','5f62726f7773655f6469' .'722e68746d6c','70617468','706174685f7565','73697a65','6d74' .'696d65','6d6f646966696564','6f74686572','6e6f66696c6573','' .'436f6e74656e742d747970653a20696d6167652f676966','436f6e746' .'56e742d747970653a20696d6167652f6a706567','6c686f7572','6c6' .'86f75725f6f6666736574','6d696e7573','6c6d696e','6c6d696e5f' .'6f6666736574','6c6f67696e','7077','6c6f67696e5f65787069726' .'564','6c6f67696e5f74696d656f7574','436f6e74656e742d7479706' .'53a20746578742f68746d6c','5f696e746572666163652e68746d6c', '75695f6c6f67696e5f696e746572666163653a2074656d706c61746563' .'656c6c20','686561646572','6c6f67696e5f6d657373616765','666' .'f6f746572','75726c5f6c6f676f6666','7374696d65','6c74696d65', '656e765f7065726c5f6f73','656e765f7065726c5f766572','656e76' .'5f6d6f645f7065726c','656e765f72656d6f74655f686f7374','656e' .'765f72656d6f74655f61646472','656e765f636769646972','73656e' .'646d61696c5f726f77','2f7573722f6c69622f73656e646d61696c','' .'2f7573722f62696e2f73656e646d61696c','2f7573722f7362696e2f7' .'3656e646d61696c','2f7573722f6c6f63616c2f62696e2f73656e646d' .'61696c','2f7362696e2f73656e646d61696c','2f62696e2f73656e64' .'6d61696c','2f6574632f73656e646d61696c','73656e646d61696c5f' .'6c697374','74616231','73657475705f7761726e696e67','5f73657' .'475705f746573746d61696c2e68746d6c','746f','546865206162696' .'c69747920746f20616c746572205365747570204f7074696f6e7320686' .'173206265656e2072656d6f7665642066726f6d206f75722064656d6f2' .'076657273696f6e2e2020','20776f756c6420616c6c6f7720796f7520' .'746f206368616e676520616e79206f66207468657365206669656c6473' .'2e','73617665645f74616231','72656733','496e76616c696420507' .'26f64756374204944213c62723e','596f75206d75737420656e746572' .'20796f75722050726f64756374204944213c62723e','72656732','59' .'6f75206d75737420656e74657220796f757220646f6d61696e206e616d' .'65213c62723e','72656731','596f75206d75737420656e7465722079' .'6f757220636f6d70616e79206e616d65213c62723e','5f72656731','' .'5f72656732','5f72656733','74616239','5f6c6963656e73655f6e7' .'56d','25303764','6373756d','23','73756d6d6172795f74797065', '636f6e74656e745f74797065','5f696d61676575726c','75726c5f69' .'6d616765','5f75695f7469746c65','7469746c65626172','5f75695' .'f666f6f746572','5f75726c5f68656c70','75726c5f68656c70','70' .'75626c69736865645f616c6c','496e74657266616365203a204e6f207' .'4656d706c6174652063656c6c207761732073706563696669656421','' .'496e74657266616365203a20546865207365636f6e6420617267756d65' .'6e74206d75737420626520612048415348207265666572656e636521', '6d656e756261725f61636c','6d656e75626172','5f6f6e6c79','5f6' .'3757365725f6964','696e74657266616365','3c212d2d','2076','2' .'0284275696c643a20','70726f645f6964','70726f675f6275696c64', '4c6963656e73652023','207e20','457865637574652074696d653a20' .'25303164207365636f6e6473','2d2d3e','64656d6f5f6d6573736167' .'65','73657475705f74616273','7461625f6e756d','7461625f6e616' .'d65','7461625f756e73656c6563746564','7461625f73656c6563746' .'564','5f6865616465725f746162','7461625f626172','7461625f6c' .'697374','4334','696e636c75646573','61736466','75726c','696' .'d675f616c69676e','61727469636c655f656469746f72','696d61676' .'55f616c69676e6d656e74','7269676874','696d675f75726c','696d' .'675f63617074696f6e','696d675f686569676874','696d675f776964' .'7468','696d675f6e6f63617074696f6e','3c6d657461206e616d653d' .'2267656e657261746f722220636f6e74656e743d22','2c20687474703' .'a2f2f7777772e696e746572616374697665746f6f6c732e636f6d223e', '3c212d2d204c617374205570646174656420','207769746820','2062' .'7920696e746572616374697665746f6f6c732e636f6d202d2d3e','5f5' .'f4449455f5f','5f5f5741524e5f5f','5f75695f6267636f6c6f72','' .'6267636f6c6f72','2e2e2f646174612f','2e2e2f646174612f66696c' .'656c6f636b2e6c6f636b','256220256f2c202559202d2025483a254d3' .'a2553','25622025652c202559','6e6f5f7765625f736572766572','' .'5343524950545f4e414d45','6d6f645f7065726c','4d4f445f504552' .'4c','616c6c6f775f6d6f645f7065726c','63676975726c','6367696' .'6696c65','2e2e2f74656d706c61746573','74656d706c61746564697' .'232','2e2e2f74656d706c617465732f696e74657266616365','74656' .'d706c61746564697233','2e2e2f5f736f757263655f696d61676573', '69','506c6561736520696e7374616c6c207468652070726f6772616d2' .'066697273742062792072756e6e696e672061646d696e2e636769','20' .'3a20','5f70726f675f6e616d65','75695f6267636f6c6f72','53657' .'276657220746f6f206275737921','5468652073657276657220697320' .'63757272656e746c7920746f6f206275737920746f2070726f63657373' .'20796f75722072657175657374207269676874206e6f772e2020506c65' .'61736520776169742061206d6f6d656e7420616e64207468656e207472' .'7920616761696e2e','6d6163667470','7075626c697368','6e6f686' .'56c70','4e6f2048656c7020417661696c61626c65','536f7272792c2' .'06e6f2068656c702069732063757272656e746c7920617661696c61626' .'c6520666f722074686973206170706c69636174696f6e2e2020506c656' .'1736520636f6e7461637420796f75722073797374656d2061646d696e6' .'973747261746f7220666f7220617373697374616e63652e','4e6f2073' .'7563682066696c65206f72206469726563746f7279','5065726d69737' .'3696f6e2064656e696564','75695f7469746c65','206f6e436c69636' .'b3d2277696e646f772e636c6f736528293b2220','3c212d2d20457865' .'637574652074696d653a2025303164207365636f6e6473202d2d3e','3' .'c212d2d20506f776572656420627920696e746572616374697665746f6' .'f6c732e636f6d2028696e666f40696e746572616374697665746f6f6c7' .'32e636f6d29202d2d3e','20' );for(@z){$_=pack('H*',$_)}}use Socket;use Time::Local;%ab= ();%ac=();%ad=();%ae=();%af=();%ag=();%ah=();%ai=();$ab{$z[0]} =$z[1];$ab{$z[2]}=$z[3];$ab{$z[4]}=$z[5];$ab{$z[6]}=20;@aj[0,1,2,3,9] =($z[7],$z[8],$z[9],$z[10],$z[11]);$SIG{__DIE__}=\&ak;srand; $|=1;$^T=time();&al;sub om{;}MAIN:;&am();my$an=length$ag{$z[12]} ?int$ag{$z[12]}:undef;if($an){$ae{$z[13]}{$z[14]}="archive$an.dat"; }my%ao;my$ap;($ag{$z[15]})=($ag{$z[15]}=~/(\d+)/)if$ag{$z[15]}; $ao{$z[16]}=$ag{$z[15]};my($aq,$ar);$aq=sprintf($z[17],$ag{$z[18]} ,$ag{$z[19]},$ag{$z[20]})if($ag{$z[18]}&&$ag{$z[19]}&&$ag{$z[20]} );$ar=sprintf($z[17],$ag{$z[21]},$ag{$z[22]},$ag{$z[23]})if ($ag{$z[21]}&&$ag{$z[22]}&&$ag{$z[23]});$ad{$z[24]}=$ac{$z[25]}; $ad{$z[26]}=$ac{$z[27]}.$ac{$z[28]}.$z[29].$ac{$z[30]};$ad{$z[31]} =$ac{$z[32]}.$z[29].$ac{$z[30]};$ad{$z[33]}=$ac{$z[34]}.$z[29] .$ac{$z[30]};$ad{$z[35]}=$ac{$z[36]}.$z[29].$ac{$z[30]};$ad{$z[37]} =$ac{$z[38]}.$z[29].$ac{$z[30]};$ad{$z[39]}=&as($ab{$z[40]}, &at($ac{$z[39]}))if($ac{$z[39]});$ad{$z[41]}=$ac{$z[41]};if ($ag{$z[15]}){$ad{$z[42]}=$ac{$z[32]}.$ag{$z[15]}.$z[29].$ac{$z[30]}; ;$ad{$z[43]}=$ac{$z[44]}.$ag{$z[15]}.$z[29].$ac{$z[30]};}else {$ad{$z[42]}=$ad{$z[31]};$ad{$z[43]}=$ad{$z[33]};}if(!keys%ag) {$ap=sub{my$au=shift;return if$au->{$z[45]};$ad{$z[46]}.=$z[47].$au->{$z[48]}.$z[49].$au->{$z[50]}; };&av($ae{$z[15]},$ap);&av($ae{$z[12]},sub{my$an=shift;$ad{$z[51]} .=$z[47].$an->{$z[48]}.$z[49].$an->{$z[50]};});print"Content-type: text/html\n\n"; print&aw($z[52],{},$z[53],'',$ac{$z[54]});exit;}$ag{$z[55]} ||=$z[56];$ag{$z[57]}||=10;$ag{$z[58]}||=1;my($ax);foreach$ax (sort keys%ag){$ad{"in_$ax"}=$ag{$ax};$ad{$z[59]}.="in_$ax" ." = ".$ad{"in_$ax"}."
";}my%ay;my$az;foreach$az('',$z[60], $z[61],$z[62]){opendir AC,$ab{$z[63]}.$z[64].$az;%ay=(%ay,map {$az.$_,1}grep{not-d"$ab{'templatedir1'}/$az$_"}readdir(AC)); closedir AC;}unless($ay{$ag{$z[55]}}){&ak($z[65]);}&aw($ag{$z[55]}, {},$z[53],'',$ac{$z[54]});my(%ba,%bb,%bc,%bd,%be,%bf,%bg);$ap =sub{my%au=%{shift()};$ba{$au{$z[48]}}=$au{$z[50]};$bf{$au{$z[48]}} =$au{$z[66]};$bc{$au{$z[48]}}=$au{$z[45]};$bb{$au{$z[48]}}= $au{$z[67]}?"$ac{'url_upload'}$au{'ufile_image'}":"$ac{'url_image'}spacer.gif"; $bd{$au{$z[48]}}=$au{$z[68]};$be{$au{$z[48]}}=$au{$z[69]};$ad{$z[46]} .=$z[47].$au{$z[48]}.$z[49].$au{$z[50]};if($au{$z[48]}){my$bh =$au{$z[70]}?$au{$z[71]}:$ac{$z[72]}.$au{$z[48]};$bg{$au{$z[48]}} =$ac{$z[27]}.$bh.$z[29].$ac{$z[30]};}else{$bg{$au{$z[48]}}= $ad{$z[26]};}};&av($ae{$z[15]},$ap);if($ag{$z[15]}){$ad{$z[73]} =$bg{$ag{$z[15]}};}else{$ad{$z[73]}=$ad{$z[26]};}&av($ae{$z[12]}, sub{my$an=shift;$ad{$z[51]}.=$z[47].$an->{$z[48]}.$z[49].$an->{$z[50]}; });my@bi;if($ag{$z[74]}){@bi=split(/[\s,]+/,$ag{$z[74]});foreach (@bi){$_=~s/art_field/spare/ig;$_=~s/art_//ig;}}else{foreach ($z[50],$z[75],$z[76],map{$z[77].$_}1..$ab{$z[6]}){push(@bi,$_); }}my$bj;$ap=sub{my$bk=shift;return unless($bk->{$z[15]});return if($bk->{$z[78]}!=2);return if($bc{$bk->{$z[15]}});return if ($ag{$z[15]}&&$ag{$z[15]}!=$bk->{$z[15]});my$bl=sprintf($z[17], @{$bk}{qw/year mon day/});if($aq&&$ar){return unless($bl>=$aq &&$bl<=$ar);}elsif($aq){return unless($bl>=$aq);}elsif($ar) {return unless($bl<=$ar);}my$bm;my$bn=($af{$z[79]}{$z[80]}? '':$z[81]).quotemeta($ag{$z[82]});foreach(@bi){$bm++if($bk->{$_} =~m/$bn/i);}return if(defined$ag{$z[82]}&¬$bm);$ao{$z[83]}++; if($ao{$z[83]}>=$ag{$z[58]}&&$ao{$z[83]}<$ag{$z[58]}+$ag{$z[57]}) {my($bo,$bp);foreach$bo(keys%{$bk}){$bp->{$z[84].$bo}=$bk->{$bo}; }$bp->{$z[85]}=~s|\n|
\n|g if$bk->{$z[86]};$bp->{$z[87]} =~s|\n|
\n|g if$bk->{$z[88]};for(1..$ab{$z[6]}){$bp->{$z[89] .$_}=~s|\n|
\n|g if$bk->{$z[90].$_};}my@bq=($bk->{$z[18]}, $bk->{$z[19]}-1,$bk->{$z[20]},$bk->{$z[91]}+($bk->{$z[92]}eq $z[93]?12:0),$bk->{$z[94]});$bp->{$z[95]}=&as($ab{$z[96]},@bq); $bp->{$z[97]}=&as($ab{$z[98]},@bq);$bp->{$z[16]}=$bk->{$z[15]}; $bp->{$z[99]}=$ba{$bk->{$z[15]}};$bp->{$z[100]}=$bb{$bk->{$z[15]}}; $bp->{$z[101]}=$bd{$bk->{$z[15]}};$bp->{$z[102]}=$be{$bk->{$z[15]}}; $bp->{$z[103]}=$ac{$z[27]}.($ac{$z[104]}&&$bk->{$z[105]}?$ac{$z[106]} .$bk->{$z[105]}:$ac{$z[106]}.$bk->{$z[48]}).$z[29].$ac{$z[30]}; $bp->{$z[42]}=$ac{$z[32]}.$bk->{$z[15]}.$z[29].$ac{$z[30]}; $bp->{$z[43]}=$ac{$z[44]}.$bk->{$z[15]}.$z[29].$ac{$z[30]}; $bp->{$z[107]}=$bg{$bk->{$z[15]}};$bp->{$z[108]}=$ac{$z[27]} .($ac{$z[104]}&&$bk->{$z[105]}?$bk->{$z[105]}:$ac{$z[109]}. $bk->{$z[48]}).$z[29].$ac{$z[30]};if(defined$an){if($ac{$z[110]}) {$bp->{$z[108]}=$ac{$z[111]}.$z[64].$an.$z[64].$bp->{$z[112]}; }else{$bp->{$z[108]}=$ac{$z[111]}.$z[113].$an.$z[114].$bp->{$z[112]}; }}if($bk->{$z[115]}==3){$bp->{$z[116]}="http://$bk->{'link'}" unless($bk->{$z[116]}=~m|^\w+://|);$bp->{$z[108]}=$bk->{$z[116]} }if($bk->{$z[115]}==4){$bp->{$z[108]}=$ac{$z[117]}.$bk->{$z[118]}; }foreach(1..25){$bp->{$z[119].$_}=$ac{$z[117]}.$bk->{"ufile_image$_"}; $bp->{$z[120].$_}=$bk->{$z[120].$_};$bp->{$z[69].$_}=$bk->{$z[69] .$_};$bp->{$z[68].$_}=$bk->{$z[68].$_};}$bp->{$z[85]}=&br($bp->{$z[85]}, $bp,'');$bp->{$z[87]}=&br($bp->{$z[87]},$bp,'');foreach(1..$ab{$z[6]}) {if($bp->{$z[89].$_}=~/\*{3}image(\d+)(:\w+)?\*{3}/s){$bp->{$z[121] .$_}=&br($bp->{$z[89].$_},$bp,'');}else{$bp->{$z[121].$_}=$bp->{$z[89] .$_};}}my$bs=($z[122],$z[123],$z[124],$z[125])[$bk->{$z[115]} -1];$ao{$z[126]}.=&bt($bs,$bp,($bj++% 2==0)?'':$z[127]);}}; &av($ae{$z[13]},$ap);if(!$ao{$z[126]}){$ao{$z[126]}=&bu($z[128], {});$ao{$z[83]}=0;}else{if($ag{$z[58]}>1){my$bv=$ag{$z[58]} -$ag{$z[57]};$bv=1 if$bv<1;$ao{$z[129]}=&bu($z[129],{$z[130] =>$ad{$z[131]}.$z[132].&bw({%ag,$z[58]=>$bv})});}elsif(defined $ab{$z[133]}{$z[134]}{$z[135]}){$ao{$z[129]}=&bu($z[135],{}); }if($ao{$z[83]}>=$ag{$z[58]}+$ag{$z[57]}){my$bx=$ag{$z[58]} +$ag{$z[57]};$ao{$z[136]}=&bu($z[136],{$z[137]=>$ad{$z[131]} .$z[132].&bw({%ag,$z[58]=>$bx})});}elsif(defined$ab{$z[133]}{$z[134]}{$z[138]}) {$ao{$z[136]}=&bu($z[138],{});}}$ao{$z[139]}=&by($ao{$z[83]} /$ag{$z[57]});$ao{$z[140]}=&by($ag{$z[58]}/$ag{$z[57]});$ao{$z[141]} =$ag{$z[58]};$ao{$z[142]}=&bz($ag{$z[58]}+$ag{$z[57]}-1,$ao{$z[83]}); if($ag{$z[15]}){$ao{$z[99]}=$ba{$ag{$z[15]}};$ao{$z[143]}=&as($ab{$z[40]}, &at($bf{$ag{$z[15]}}))if$bf{$ag{$z[15]}};$ao{$z[100]}=$bb{$ag{$z[15]}}; $ao{$z[102]}=$be{$ag{$z[15]}}||1;$ao{$z[101]}=$bd{$ag{$z[15]}} ||1;}else{$ao{$z[99]}=$ac{$z[41]};$ao{$z[143]}=&as($ab{$z[40]}, &at($ac{$z[39]}))if$ac{$z[39]};}print"Content-type: text/html\n\n"; print&aw($ag{$z[55]},\%ao,$z[53],'',$ac{$z[54]});exit;sub al {my$ca=$0;$ca=~s/.*[\\\/]//;my@cb=($0,$ENV{$z[144]});my$cc= (grep(/$cgifile$/i&&s/^(.*)[\\\/].*/$1/,@cb))[0];$cc||=(($^O=~/mswin/i?`cd`:`pwd`)=~/(.*)/)[0]; $cc=~s/\\/\//g;if(!$cc){die("Can't determine cgi directory!\n"); }$ae{$z[13]}={$z[50]=>$z[13],$z[145]=>$z[146],$z[147]=>$z[148], $z[14]=>$z[149],$z[74]=>$z[150].$z[151].$z[152].$z[153].$z[154]. $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[79]=>$z[50], $z[169]=>$z[170],$z[171]=>\&cd,$z[172]=>[[$z[173],\&ce],[$z[174], \&cf],],};$ae{$z[175]}={$z[50]=>$z[13],$z[145]=>$z[176],$z[147] =>$z[177],$z[14]=>$z[178],$z[74]=>$ae{$z[13]}{$z[74]},$z[79] =>$ae{$z[13]}{$z[79]},$z[169]=>$ae{$z[13]}{$z[169]},$z[172] =>[[$z[174],\&cf],],};$ae{$z[15]}={$z[50]=>$z[15],$z[145]=> $z[179],$z[147]=>$z[180],$z[14]=>$z[181],$z[74]=>$z[182].$z[183]. $z[184].$z[185].$z[186],$z[79]=>$z[50],$z[169]=>$z[187],$z[171] =>\&cg,$z[172]=>[[$z[173],\&ch],[$z[174],\&ci],],};$ae{$z[12]} ={$z[50]=>$z[12],$z[145]=>$z[188],$z[147]=>$z[189],$z[14]=> $z[190],$z[74]=>$z[191],$z[79]=>$z[50],$z[169]=>$z[192],$z[172] =>[[$z[174],\&cj],],};$ae{$z[193]}={$z[50]=>$z[193],$z[147] =>$z[194],$z[14]=>$z[195],$z[74]=>$z[196],$z[79]=>$z[197],$z[169] =>$z[50],$z[172]=>[[$z[173],\&ck],[$z[174],\&cl],],};$ae{$z[198]} ={$z[50]=>$z[198],$z[14]=>$z[199],$z[74]=>$ae{$z[193]}{$z[74]}, };$ae{$z[200]}={$z[50]=>$z[200],$z[147]=>$z[201],$z[14]=>$z[202], $z[74]=>$z[203].$z[204].$z[205].$z[206].$z[207].$z[208].$z[209] .$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],};1;;sub lr{my$ae=$_[0];my($cm)="$ab{'datadir'}/$ae->{'datafile'}"; my(@cn);if(ref($ae)ne$z[227]){die"DB_Count : The first argument must be a HASH reference!\n"; }if(!$ae->{$z[14]}){die"DB_Count : No datafile defined in database definition (\%DBDef)!\n"; }unless(-e$cm){return(0);}&co;open(AB,"<$cm")||die($z[228]."'$cm'. $!\n"); @cn=grep/^\d/,;close(AB);&cp;my$bj=@cn;return$bj||0;}sub mi{my$ae=$_[0];if(ref($ae)ne$z[227]){die$z[229]."\n";}if(defined($_[1]) &&ref($_[1])ne$z[227]){die$z[230]."\n";}if(!$_[2]){die$z[231]."\n"; }my($cm)="$ab{'datadir'}/$ae->{'datafile'}";my(@bi)=split(/ /,$ae->{$z[74]}); my($ao)=$_[1]if defined($_[1]);my($cq)=grep{$bi[$_]eq$_[2]} (0..$#bi);my($cr)=$_[3];my($cs)=$_[4];my(@cn);my(@ct);unless (-e$cm){return(0);}if(-e$cm){&co;open(AB,"<$cm")||die($z[232]."'$cm'. $!\n"); @cn=;close(AB);&cp;}foreach(@cn){/^(\d+)\¡/;($1&&$1>=$cs) ||next;s/[^¡]+$//;undef%$ao if defined($ao);@ct=split(/\¡/); next if($ct[$cq]ne$cr);if(defined($ao)){for(0..$#bi){$ao->{$bi[$_]} =$ct[$_];$ao->{$bi[$_]}=~s/¿([A-F0-9]{2})/pack($z[233],hex($1))/egix; }}return 1;}return 0;}sub av{my$ae=$_[0];my($cm)="$ab{'datadir'}/$ae->{'datafile'}"; my(@bi)=split(/ /,$ae->{$z[74]});unless($ae->{$z[234]}){for (0..$#bi){$ae->{$z[234]}{$bi[$_]}=$_;}}my($ap)=$_[1];my($ao) =$_[2]||{};my($cu)=$_[3];my(@cn);my(@ct);my($cv,$cw);my$cx; if(ref($ae)ne$z[227]){die$z[235]."\n";}if(ref($_[1])ne$z[236] &&$_[1]){die$z[237]."\n";}if(ref($_[2])ne$z[227]&&$_[2]){die $z[238]."\n";}if(!defined&$ap){die$z[239]."\n";}if(!$ae->{$z[14]}) {die$z[240]."\n";}unless(-e$cm){return(0);}&co;open(AB,"<$cm") ||die($z[241]."'$cm'. $!\n");@cn=;close(AB);&cp;@cn=grep /^\d/,@cn;&cy($ae,\@cn,$cu);if($ae->{$z[169]}){my($cz,$da); foreach(split(/ /,$ae->{$z[169]})){if(s/#//g){$cv=$z[242];} else{$cv='';}if(s/-//g){$cw=$z[243];}else{$cw='';}if(!defined $ae->{$z[234]}{$_}){die($z[244]."'$_'!\n");}$da.="$cw$ae->{'fieldn'}{$_}$cv "; }@cn=&db($z[245],$da,\@cn);}foreach(@cn){s/[^¡]+$//;undef%$ao; @ct=split(/\¡/);for$cx(0..$#bi){$ao->{$bi[$cx]}=$ct[$cx];$ao->{$bi[$cx]} =~s/¿([A-F0-9]{2})/pack($z[233],hex($1))/egix;}&$ap($ao);}} sub mg{my($ae)=$_[0];my($dc)=$_[1];my($dd)=int$_[2]||1;my($de) =int$_[3];my($df)=$_[4];my($dg)=$_[5];my($cv,$cw);my($dh,$di,$cx); my($ao)={};if(ref($ae)ne$z[227]){die$z[246]."\n";}if(ref($_[1]) ne$z[236]&&$_[1]){die$z[247]."\n";}if(!defined&$dc){die$z[248]."\n"; }if(!$ae->{$z[14]}){die$z[249]."\n";}my($cm)="$ab{'datadir'}/$ae->{'datafile'}"; my(@bi)=split(/ /,$ae->{$z[74]});unless($ae->{$z[234]}){for (0..$#bi){$ae->{$z[234]}{$bi[$_]}=$_;}}my($dj,$dk,$dl,$dm,$dn) =(0,0,0,0,0);my(@cn);my(@ct);unless(-e$cm){return(0,0,0,0,0,0); }&co;open(AB,"<$cm")||die($z[241]."'$cm'. $!\n");@cn=;close(AB); &cp;@cn=grep/^\d/,@cn;&cy($ae,\@cn,$df);$dl=scalar@cn;&cy($ae, \@cn,$dg);$dk=scalar@cn;if($ae->{$z[169]}){my($cz,$da);foreach (split(/ /,$ae->{$z[169]})){if(s/#//g){$cv=$z[242];}else{$cv=''; }if(s/-//g){$cw=$z[243];}else{$cw='';}if(!defined$ae->{$z[234]}{$_}) {die($z[250]."'$_'!\n");}$da.="$cw$ae->{'fieldn'}{$_}$cv "; }@cn=&db($z[245],$da,\@cn);}$di=($dd*$de)-($de-1);$dh=$dd*$de; if($dh>$#cn){$dh=$#cn+1;}for($di..$dh){$_=$cn[$_-1];s/[^\¡]+$//; undef%$ao;@ct=split(/\¡/);for$cx(0..$#bi){$ao->{$bi[$cx]}=$ct[$cx]; $ao->{$bi[$cx]}=~s/¿([A-F0-9]{2})/pack($z[233],hex($1))/egix; }&$dc($ao);}$de||=1;$dj=int($dk/$de);if($dk%$de){$dj++;}if(($dd-1) <1||($dd-1)>$dj){$dm=$dj;}else{$dm=$dd-1;}if(($dd+1)>$dj){$dn =1;}else{$dn=$dd+1;}if(!$dj){$dd=$dm=$dn=0;}return($dj,$dk, $dl,$dd,$dm,$dn);}sub ng{my$ae=$_[0];if(ref($ae)ne$z[227]){ die"DB_ListSave : The first argument must be a HASH reference!\n"; }if(ref($_[1])ne$z[236]&&$_[1]){die"DB_ListSave : The second argument must be a CODE reference!\n"; }if(ref($_[2])eq$z[227]){die"DB_ListSave : Use of an output hash reference is depricated. Argument order has been changed.\n"; }my($cm)="$ab{'datadir'}/$ae->{'datafile'}";my(@bi)=split(/ /,$ae->{$z[74]}); unless($ae->{$z[234]}){for(0..$#bi){$ae->{$z[234]}{$bi[$_]} =$_;}}my($ap)=$_[1];my($cu)=$_[2];my($dp)=$_[3];my($ao)=$_[4] ||{};my(@cn,$dq,%dr);my(@ct,$cv,$cw,$cx);unless(-e$cm){return(0); }&co;open(AB,"<$cm")||die($z[241]."'$cm'. $!\n");@cn=;close(AB); if($cn[1]=~m/#(\d+)/){$dq=$1;}else{foreach(@cn){/^\d/||next; $dr{(split(/\¡/))[0]}=1;}$dq=(sort{$b<=>$a}keys%dr)[0];}@cn =grep/^\d/,@cn;my$ds=&dt($ae,\@cn,$cu);if($dp&&$ae->{$z[169]}) {my($cz,$da);foreach(split(/ /,$ae->{$z[169]})){if(s/#//g){ $cv=$z[242];}else{$cv='';}if(s/-//g){$cw=$z[243];}else{$cw=''; }if(!defined$ae->{$z[234]}{$_}){die($z[251]."'$_'!\n");}$da .="$cw$ae->{'fieldn'}{$_}$cv ";}@cn=&db($z[245],$da,\@cn);} foreach(@cn){if(!$ds->{$z[252]}&&!$ds->{(/^(\d+)/)[0]}){next; }s/[^¡]+$//;undef%$ao;@ct=split(/\¡/);for$cx(0..$#bi){$ao->{$bi[$cx]} =$ct[$cx];$ao->{$bi[$cx]}=~s/¿([A-F0-9]{2})/pack($z[233],hex($1))/egix; }&$ap($ao);if($ao->{num}){$_="$ct[$cx]¡";for$cx(1..$#bi){my($du) =$ao->{$bi[$cx]};$du=~s/[\x1a\r\n\¡\¿]/sprintf($z[253],ord($&))/egx; $_.="$du¡";}$_.="\n";}else{undef$_;}}open(AB,">$cm.tmp$$")|| die("DB_ListSave : Can\'t write $cm.tmp$$ : $!\n");print AB "#!$^X\n";print AB"#$dq\n";print AB$z[254]."\n".$z[255]."\n"; foreach(@cn){/^\d/||next;s/[^¡]+$//;print AB"$_\n";}close(AB) ||die("DB_ListSave : Can't write $cm : $!\n");rename("$cm.tmp$$",$cm) ||die("DB_ListSave : Can't write $cm : $!\n");&cp;}sub eb{my $ae=$_[0];if(ref($ae)ne$z[227]){die$z[256]."\n";}if(ref($_[1]) ne$z[227]){die$z[257]."\n";}my($cm)="$ab{'datadir'}/$ae->{'datafile'}"; my(@bi)=split(/ /,$ae->{$z[74]});my($ag)=$_[1];my($dv)=int$_[2]; my(@cn);my(@ct);my(%dr);my($dw,$cx,$dq);&co;if(-e$cm){open(AB,"<$cm") ||die($z[258]."'$cm'. $!\n");@cn=;close(AB);}if($cn[1]=~ m/#(\d+)/){$dq=$1;}else{foreach(@cn){/^\d/||next;$dr{(split(/\¡/))[0]} =1;}$dq=(sort{$b<=>$a}keys%dr)[0];}if($dv&&$dr{$dv}){&cp;return &dx(@_);}elsif($dv){$dw=$dv;}else{$dw=$dq=$dq+1;}$ag{$z[259]} =$dw;open(AB,">$cm.tmp$$")||die($z[260]."$cm.tmp$$ $!\n");print AB qq|#!$^X\n|;print AB qq|#$dq\n|;print AB$z[254]."\n".$z[255]."\n"; foreach(@cn){/^\d/||next;s/[^¡]+$//;print AB"$_\n";}my($dy) ="$dw¡";for$cx(1..$#bi){my($du)=$ag->{$bi[$cx]};$du=~s/[\x1a\r\n\¡\¿]/sprintf($z[253],ord($&))/egx; $dy.="$du¡";}print AB"$dy\n";close(AB)||die("DB_Add : Can't write $cm : $!\n"); rename("$cm.tmp$$",$cm)||die("DB_Add : Can't write $cm : $!\n"); &cp;return$dw;}sub lt{my$ae=$_[0];if(ref($ae)ne$z[227]){die $z[261]."\n";}if(ref($_[1])ne$z[227]){die$z[262]."\n";}if(!$_[2]) {die$z[263]."\n";}my($cm)="$ab{'datadir'}/$ae->{'datafile'}"; my(@bi)=split(/ /,$ae->{$z[74]});my($ao)=$_[1];my($dr)=int$_[2]; my(@cn);my(@ct);my($cx);unless(-e$cm){return(0);}if(-e$cm){ &co;open(AB,"<$cm")||die($z[264]."'$cm'. $!\n");@cn=;close(AB); &cp;}foreach(@cn){/^$dr\¡/||next;s/[^¡]+$//;undef%$ao;@ct=split(/\¡/); for$cx(0..$#bi){$ao->{$bi[$cx]}=$ct[$cx];$ao->{$bi[$cx]}=~s/¿([A-F0-9]{2})/pack($z[233],hex($1))/egix; }return 1;}return 0;}sub lv{my$ae=$_[0];if(ref($ae)ne$z[227]) {die$z[265]."\n";}if(!$_[1]){die$z[266]."\n";}my($cm)="$ab{'datadir'}/$ae->{'datafile'}"; my(@bi)=split(/ /,$ae->{$z[74]});my($dr)=int$_[1];my(%dh);my($dz) =0;for(1..$#_){$dh{$_[$_]}++;}my(@cn,$dq,%dr);unless(-e$cm) {return(0);}&co;if(-e$cm){open(AB,"<$cm")||die($z[267]."'$cm'. $!\n"); @cn=;close(AB);}if($cn[1]=~m/#(\d+)/){$dq=$1;}else{foreach (@cn){/^\d/||next;$dr{(split(/\¡/))[0]}=1;}$dq=(sort{$b<=>$a }keys%dr)[0];}open(AB,">$cm.tmp$$")||die($z[268]."$cm.tmp$$ $!\n"); print AB qq|#!$^X\n|;print AB qq|#$dq\n|;print AB$z[254]."\n".$z[255]."\n"; foreach(@cn){/^(\d+)\¡/||next;if($dh{$1}){$dz++;next;}s/[^¡]+$//; print AB"$_\n";}close(AB)||die("DB_Del : Can't write $cm : $!\n"); rename("$cm.tmp$$",$cm)||die("DB_Del : Can't write $cm : $!\n"); &cp;return$dz;}sub dx{my$ae=$_[0];if(ref($ae)ne$z[227]){die $z[269]."\n";}if(ref($_[1])ne$z[227]){die$z[270]."\n";}if(!$_[2]) {die$z[271]."\n";}my($cm)="$ab{'datadir'}/$ae->{'datafile'}"; my(@bi)=split(/ /,$ae->{$z[74]});my($ag)=$_[1];my($dr)=int$_[2]; my($ea)=0;my(@cn);my(@ct);my($cx,$ao,$dq,%dr);if(!-e$cm){return &eb(@_);}&co;open(AB,"<$cm")||die($z[272]."'$cm'. $!\n");@cn =;close(AB);if($cn[1]=~m/#(\d+)/){$dq=$1;}else{foreach(@cn) {/^\d/||next;$dr{(split(/\¡/))[0]}=1;}$dq=(sort{$b<=>$a}keys %dr)[0];}open(AB,">$cm.tmp$$")||die($z[273]."$cm.tmp$$ $!\n"); print AB qq|#!$^X\n|;print AB qq|#$dq\n|;print AB$z[254]."\n".$z[255]."\n"; foreach(@cn){/^\d/||next;if(/^$dr\¡/){my($dy)="$dr¡";for$cx (1..$#bi){my($du)=$ag->{$bi[$cx]};$du=~s/[\x1a\r\n\¡\¿]/sprintf($z[253],ord($&))/egx; $dy.="$du¡";}print AB"$dy\n";$ea++;next;}s/[^¡]+$//;print AB $_,"\n";}close(AB)||die("DB_Save : Can't write $cm : $!\n"); rename("$cm.tmp$$",$cm)||die("DB_Save : Can't write $cm : $!\n"); &cp;unless($ea){return&eb(@_);}}sub co{if(!$af{$z[274]}){return; }return if$ab{$z[275]}++;my($ec)=$ab{$z[276]};my($cx);while (!mkdir($ec,0777)){my$ed=(stat($ec))[9];if($ed&&$ed<$^T-300) {&ak($z[276],$ec);}sleep 1;if(++$cx>5){if(!-e$ec){&ak($z[277],$ab{$z[278]}); }else{&ak($z[279]);}}}}sub cp{if(!$af{$z[274]}){return;}die "Nested Filelock Underrun"unless$ab{$z[275]};return if--$ab{$z[275]}; my($ec)=$ab{$z[276]};rmdir($ec);}sub ep{my($ae,$ee,$ef)=@_; my(@eg,@eh);unless($ae->{$z[234]}){my(@bi)=split(/ /,$ae->{$z[74]}); for(0..$#bi){$ae->{$z[234]}{$bi[$_]}=$_;}}foreach(@{$ef}){my ($ei,$ej,$ek)=@{$_};next if$ek eq'';if(ref($ek)eq$z[280]){foreach (@$ek){s/[\x1a\r\n\¡\¿]/sprintf($z[253],ord($&))/egx;$_=quotemeta($_); }}else{$ek=~s/[\x1a\r\n\¡\¿]/sprintf($z[253],ord($&))/egx;$ek =quotemeta($ek);}$ej=uc$ej;my$el=$ae->{$z[234]}{$ei};unless (defined$el){&ak($z[281].$ei.$z[282].&em($ef));}if($ej eq$z[283]) {push@eg,"/$ek/i";push@eh,"\$f[$el] =~ /$ek/i";}elsif($ej eq $z[284]){push@eh,"\$f[$el] ne /$ek/i";}elsif($ej eq$z[285]) {push@eg,"/¡$ek¡/i";push@eh,"\$f[$el] eq q/$ek/";}elsif($ej eq$z[286]||$ej eq$z[287]||$ej eq$z[288]||$ej eq$z[289]||$ej eq$z[290]){push@eh,"\$f[$el] $ej $ek";}elsif($ej eq$z[291]) {my($en,$eo)=@{$ek};push@eh,"\$f[$el] >= $en && \$f[$el] <= $eo"; }elsif($ej eq$z[292]){my($en,$eo)=@{$ek};push@eh,"!(\$f[$el] >= $en && \$f[$el] <= $eo)"; }elsif($ej eq$z[293]){push@eh,$z[294].join($z[295],map{"\$f[$el] eq q/$_/" }@{$ek}).$z[296];}elsif($ej eq$z[297]){push@eh,$z[298].join($z[295], map{"\$f[$el] eq q/$_/"}@{$ek}).$z[296];}else{&ak($z[299].$ej .$z[282].&em($ef));}}unshift(@eh,$z[300])if@eh;return(\@eg, \@eh);}sub cy{my($ae,$rec_nopack,$ef)=@_;my($eg,$eh)=&ep($ae, $rec_nopack,$ef);return unless(@$eg||@$eh);my$eq=$z[301].join($z[302], @$eg,@$eh).$z[303];&er($eq);eval$eq;&er($@);}sub dt{my($ae, $rec_nopack,$ef)=@_;my($eg,$eh)=&ep($ae,$rec_nopack,$ef);return ({$z[252]=>1})unless(@$eg||@$eh);my%match_nopack;my$eq=$z[304] .join($z[302],@$eh).$z[305];&er($eq);eval$eq;&er($@);return(\%match_nopack); }1;;sub nz{local(*AB);my($es)=$_[0];my(@et,$eu,%ev);$eu=\%ev; if(!$_[0]){die"INI_Load : No ini file was specified!\n";}if (!-e$_[0]){die"INI_Load : The ini file '$_[0]' could not be found!\n"; }open(AB,"<$es")||die("INI_Load : Could open ini file! $!\n"); @et=;close(AB);foreach(@et){/^\s*#/m&&next;if(/^\s*\[/m) {$eu=\%ev;foreach(/\[(.+?)\]/g){$eu=\%{$eu->{$_}};}next;}my $ew=index($_,$z[306]);if($ew>0){my$ex=substr($_,0,$ew);my$ek =substr($_,$ew+1);foreach($ex,$ek){s/^\s+//;s/\s+$//;}$ex=~ /[^a-zA-Z\/0-9_\-]/&&die("INI_Load : Invalid key '$ex' in ini file '$es'!\n"); defined$eu->{$ex}&&die("INI_Load : Key '$ex' defined twice in ini file '$es'!\n"); $eu->{$ex}=$ek;}elsif($ew==-1){my$ex=$_;for($ex){s/^\s+//;s/\s+$//; }if(!length$ex){next;}defined$eu->{$ex}&&die("INI_Load : Key '$ex' defined twice in ini file '$es'!\n"); $eu->{$ex}=1;}}return%ev;}sub em{my$eu=$_[0];my$ey=$_[1];my $ez=$_[2]||$z[307];my$ao;if(ref($eu)eq$z[227]){foreach(sort keys%{$eu}){if(ref($eu->{$_})){$ao.=&em($eu->{$_},"$ey\{$_}"); }else{$ao.="\$$ez$ey"."{$_} = $eu->{$_}\n";}}}elsif(ref($eu) eq$z[280]){for(0..$#{$eu}){if(ref($eu->[$_])){$ao.=&em($eu->[$_],"$ey\[$_]"); }else{$ao.="\$$ez$ey"."[$_] = $eu->[$_]\n";}}}return$ao;}sub az{my($fa,$fb)=@_;my(%fc);local(*AC);if(!-e$fa){$!=$z[308].$fa.$z[309]; return(0);}if($fb&&$fb ne$z[310]&&$fb ne$z[311]){die($z[312]."$fb\n"); }opendir(AC,$fa);foreach(grep(!/^\.+$/,readdir(AC))){if($fb eq$z[310]){$fc{$_}++if-f"$fa/$_";}elsif($fb eq$z[311]){$fc{$_}++ if-d"$fa/$_";}else{$fc{$_}++;}}closedir(AC);return%fc;}sub er{my$fd;my$cx;while(my($es,$dy,$fe)=(caller($cx++))[1,2,3]) {$es=~s/^.*[\/\\]//;$fe=~s/^main:://;unless($fe=~s/__ANON__/(anonymous)/) {$fe=$z[313].$fe;}$fd.=qq!$es ($dy)¡called $fe¡¡!;}$fd=~s/\\/\\\\/g; $fd=~s/'/\\'/g;$fd=~s/¡/\\n/g;$ab{$z[314]}.=qq|>|; $ab{$z[314]}.=join("\n
",map{&ff($_)}@_)."
\n
"; }sub on{my($fg,$fh)=@_;local(*AD);local(*AE);open(AD,"<$fg") ||die($z[315]."$fg : $!\n");open(AE,">$fh")||die($z[316]."$fh : $!\n"); binmode(AD);binmode(AE);print AE;close(AD);close(AE);}sub oa{my($fi)=$_[0];my($ex,$ek,$fj,@fk,$fl,%ev);my($es,$fa,$fm); my($fn);binmode(STDIN);if($fi&&($ENV{$z[317]}||length$ENV{$z[318]}) >$fi){die($z[319]."$fi bytes\n");}($fn)=$ENV{$z[320]}=~/boundary=(?:"?)(\S+?)(?:"?)$/; if($ENV{$z[321]}eq$z[322]&&$ENV{$z[320]}=~m|^multipart/form-data|) {my$fl;read(STDIN,$fl,$ENV{$z[317]});foreach(split(/\n/,$fl)) {if(/^--$fn--/){$fl.="--$fn";last;}else{$fl.=$_;}}@fk=split(/--$fn/,$fl); foreach$fj(@fk){unless($fj=~/^(\r\n|\n)Content-Disposition/) {next;}($ex,$ek)=$fj=~/^(?:\r\n|\n)(.*?)(?:\r\n|\n){2}(.*?)(?:\r\n|\n)$/s; ($fa)=$ex=~/filename="([^"]+)"/;($ex)=$ex=~/name="([^"]+)"/; ($es)=$fa=~/([^\/\\]+)$/;($fm)=$fa=~/\.(\w+)$/;if(!$fa){$ex =~s/\r\n/\n/g;$ek=~s/\r\n/\n/g;$ex=~s/\x00//g;$ek=~s/\x00//g; }$ev{$ex}=$ek;$ev{$ex.$z[323]}=$fa;$ev{$ex.$z[324]}=$es;$ev{$ex.$z[325]} =$fm;}}else{if($ENV{$z[321]}eq$z[322]){read(STDIN,$fl,$ENV{$z[317]}); }elsif($ENV{$z[321]}eq$z[326]){$fl=$ENV{$z[318]};}@fk=split(/&/, $fl);foreach$fj(@fk){($ex,$ek)=split(/=/,$fj);$ex=~tr/+/ /; $ek=~tr/+/ /;$ex=~s/%([A-F0-9]{2})/pack($z[233],hex($1))/egi; $ek=~s/%([A-F0-9]{2})/pack($z[233],hex($1))/egi;$ex=~s/\r\n/\n/g; $ek=~s/\r\n/\n/g;$ex=~s/\x00//g;$ek=~s/\x00//g;if($ex=~/_multi$/) {push@{$ev{$ex}},$ek;}else{$ev{$ex}=$ek;}}}foreach(keys%ev) {if(/^(.*)(\.x|\.y)$/){$ev{$1}=$z[327];}}return%ev;}sub mv{ my($fo)=$_[0];my($fp,$fq)=split(/@/,$fo);if($fo eq''){return 0;}if($fo=~/[^A-Za-z0-9-_\.\@]/){return 0;}if($fp!~/^([\w\-]+[\w\-.])*[\w\-]+$/) {return 0;}if($fq!~/^([\w\-]+[\w\-.])*[\w\-]+\.[A-Za-z]{2,8}$/) {return 0;}return 1;}sub oo{my($fr,$fs)=@_;unless($fr eq$z[328] ||$fr eq$z[329]||$fr eq$z[330]||$fr eq$z[331]){return undef; }$fs=~s/[^\d]//g;my@ft=split//,$fs;unless(($fr eq$z[328]&&$ft[0] ==4)||($fr eq$z[329]&&$ft[0]==5)||($fr eq$z[330]&&$ft[0]==3) ||($fr eq$z[331]&&$ft[0]==6)){return undef;}unless(($fr eq$z[328] &&($#ft==12||$#ft==15))||($fr eq$z[329]&&$#ft==15)||($fr eq $z[330]&&$#ft==14)||($fr eq$z[331]&&$#ft==15)){return undef; }my$fu;for(my$ew=($#ft+1)% 2;$ew<=$#ft;$ew+=2){if($ft[$ew]< 5){$ft[$ew]*=2;}else{$ft[$ew]=($ft[$ew]* 2)-9}}foreach(@ft) {$fu+=$_;}unless($fu% 10==0){return undef;}return 1;}sub gb {local(*AB);my($es,%ev,$fv,$fw);%ev=%{$_[1]}if$_[1];my%fx;%fx =($z[332]=>0,$z[333]=>0,$z[334]=>0,$z[53]=>0);foreach(split(/ /,$_[2])) {if(undef$fx{$_}){die($z[335]."'$_'\n");}$fx{$_}=1;}if(!$_[0]) {die$z[336]."\n";}if(ref($_[1])ne$z[227]){die$z[337]."\n";} if((!$fx{$z[333]}||!$ab{$z[133]}{$z[333]}{$_[0]})){if(-e"$_[0]") {$es=$_[0];}else{foreach(grep/^templatedir/,sort keys%ab){if (-e"$ab{$_}/$_[0]"){$es="$ab{$_}/$_[0]";last;}}if(!$es){die $z[338]."'$_[0]'".$z[339]."\n";}}}if($fx{$z[333]}&&$ab{$z[133]}{$z[333]}{$_[0]}) {$fv=$ab{$z[133]}{$z[333]}{$_[0]};}else{open(AB,"<$es")||die $z[340]."$es! $!\n";binmode(AB)if($es=~/gif$/i||$es=~/jpg$/i); read(AB,$fv,-s AB);close(AB);}if($fx{$z[334]}){return$fv;}if ($fx{$z[53]}){$ab{$z[341]}||=$ENV{$z[342]};$ab{$z[341]}||die("Template: webroot isn't defined!
\n"); while($fv=~//g){my$fy=$1;if(($fy =~m!^/!)||(!$_[3])){$fy="$ab{'webroot'}/$fy";}else{my@fz=split $z[64],$es;my$fz=join$z[64],@fz[0..$#fz-1];$fy="$fz/$fy";}my $ga=&gb($fy,$_[1],$_[2],$z[343]);$fv=~s//$ga/; }}if(!$fx{$z[333]}||!$ab{$z[133]}{$z[333]}{$_[0]}){foreach$fw ($fv=~m//g){$ab{$z[133]}{$z[134]}{$1}=$2 if($fv=~m/(?:\r\n|\n)?(.*?)/is); }$fv=~s/(?:\r\n|\n)?(.*?)//gis; if($fx{$z[333]}){$ab{$z[133]}{$z[333]}{$_[0]}=$fv;}}$fv=~s//$1/gi; $fv=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$ek=defined$ad{$1} ?$ad{$1}:$ev{$1};if($2 eq$z[344]){$ek=&gc($ek);}if($2 eq$z[345]) {$ek=&gd($ek);}if($2 eq$z[346]){$ek=&gd($ek);$ek=~s/ / /g; }if($2 eq$z[347]){$ek=&ge($ek);}$ek;]ge;return$fv;}sub bu{if (!$_[0]){die$z[348]."\n";}if(!defined$ab{$z[133]}{$z[134]}{$_[0]}) {die$z[349]."'$_[0]'".$z[350]."\n";}if(ref($_[1])ne"HASH"){ die$z[351]."\n";}local(*AB);my(%ev);%ev=%{$_[1]}if$_[1];my($fv) =$ab{$z[133]}{$z[134]}{$_[0]};$fv=~s/(?:\r\n|\n)?(.*?)//gs; $fv=~s//$1/gi;$fv=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][ my$ek=defined$ad{$1}?$ad{$1}:$ev{$1};if($2 eq$z[344]){$ek=&gc($ek); }if($2 eq$z[345]){$ek=&gd($ek);}if($2 eq$z[346]){$ek=&gd($ek); $ek=~s/ / /g;}if($2 eq$z[347]){$ek=&ge($ek);}$ek;]ge;return $fv;}sub op{my($ag)=$_[0];my(@gf)=(($z[330]..$z[352],$z[353]..$z[354],0..9),$z[355],$z[64]); my($ao)=unpack($z[356],$ag);$ao=~s/(\d{6}|\d+$)/$gf[ord(pack$z[356],"00$1")]/ge; while(length($ao)%4){$ao.=$z[306];}return$ao;}sub oq{my($ag) =$_[0];my(%gf);my($ao);my$cx;for(($z[330]..$z[352],$z[353]..$z[354],0..9),$z[355],$z[64]){ $gf{$_}=$cx++}$ag=$_[0]||return$z[357];$ag=~s/[^A-Za-z0-9+\/]//g; $ag=~s/[A-Za-z0-9+\/]/unpack'B*',chr($gf{$&})/ge;$ag=~s/\d\d(\d{6})/$1/g; $ag=~s/\d{8}/$ao.=pack($z[356],$&)/ge;return$ao;}sub gc{my($gg) =$_[0];$gg=~s/([^A-Za-z0-9\*\.\@\_\-])/uc sprintf($z[358],ord($1))/egx; $gg=~tr/ /+/;return$gg;}sub gy{my($gg)=$_[0];$gg=~tr/+/ /;$gg =~s/%([A-F0-9]{2})/pack($z[233],hex($1))/egi;return$gg;}sub mf{my($gh);my($ex,$ek,$gi,$fa,$gj,$gk)=@_;my($gl);if($ex eq ''){die($z[359]."\n");}if($gi&&$gi ne int($gi)){die($z[360]."\n"); }$ah{$ex}=$ek;if($gi){my($gm,$gn,$go,$gp,$gq,$gr,$gs,$gt)=gmtime($gi); ($gm,$gn,$go,$gp)=map{$_<10?$z[361].$_:$_}($gm,$gn,$go,$gp); $gl=join('',(qw(Sun Mon Tue Wed Thu Fri Sat Sun))[$gs],", $gp-",(qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec))[$gq],$z[243],1900+$gr, " $gu$gv$gm GMT");}if($ex){$ex=&gc($ex);}if($ek){$ek=&gc($ek); }if($gi){$gh.=$z[362]."$gl; ";}if($fa){$gh.=$z[363]."$fa; "; }if($gj){$gh.=$z[364]."$gj; ";}if($gk){$gh.=$z[365];}print$z [366]."$ex=$ek; $gh\n";}sub ob{my($gw,$ex,$ek,%gx);foreach$gw (split(/; /,$ENV{$z[367]})){($ex,$ek)=split(/=/,$gw);foreach($ex,$ek) {$_=&gy($_);}$gx{$ex}=$ek;}return%gx;}sub as{my$gz=$_[0]||die("DateString: The first parameter must be a date or time format string\n"); $gz=~/\%/||die("DateString: The first parameter must contain a date format marker '%'\n"); my$ha=$_[1];my($gr,$gq,$gp,$hb,$gn,$gm,$gs,$gt);my@hc=(0,0,1,0,0,0); my$hd=$_[-1]=~/^GMT$/i;pop(@_)if$hd;if(scalar(@_)>=3){die("DateString: Too many arguments\n") if scalar(@_)>7;my$he;foreach$he(1..scalar(@_)-1){$hc[$he-1] =$_[$he];}($gr,$gq,$gp,$hb,$gn,$gm)=@hc;if($gp>28){($gr,$gq, $gp)=&hf($gr,$gq,$gp);}$ha=$hd?&hg($gm,$gn,$hb,$gp,$gq,$gr) :&hh($gm,$gn,$hb,$gp,$gq,$gr);}else{}($gm,$gn,$hb,$gp,$gq,$gr, $gs,$gt)=($hd?gmtime($ha):localtime($ha));my$hi;if(exists($ab{DateString}{rhNames})) {$hi=$ab{DateString}{rhNames};}else{$hi={$z[92]=>exists($af{$z[368]}{ampm}) ?[split(/,/,$af{$z[368]}{ampm})]:[qw(AM PM)],$z[369]=>exists($af{$z[368]}{ordinals}) ?[split(/,/,$af{$z[368]}{ordinals})]:[$z[370],$z[371],$z[372], $z[373],$z[374],$z[375],$z[376],$z[377],$z[378],$z[379],$z[380], $z[381],$z[382],$z[383],$z[384],$z[385],$z[386],$z[387],$z[388], $z[389],$z[390],$z[391],$z[392],$z[393],$z[394],$z[395],$z[396], $z[397],$z[398],$z[399],$z[400],$z[401]],$z[402]=>exists($af{$z[368]}{week_full}) ?[split(/,/,$af{$z[368]}{week_full})]:[qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)], $z[403]=>exists($af{$z[368]}{week_abbr})?[split(/,/,$af{$z[368]}{week_abbr})] :[qw(Sun Mon Tue Wed Thu Fri Sat)],$z[404]=>exists($af{$z[368]}{month_full}) ?[split(/,/,$af{$z[368]}{month_full})]:[qw(January February March April May June July August September October November December)], $z[405]=>exists($af{$z[368]}{month_abbr})?[split(/,/,$af{$z[368]}{month_abbr})] :[qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)],};$ab{DateString}{rhNames} =$hi;}my($hj,$hk)=(0,1);my$hl={$z[406]=>$z[406],$z[353]=>$hi->{week_abbr}[$gs], $z[330]=>$hi->{week_full}[$gs],$z[407]=>$hi->{month_abbr}[$gq], $z[408]=>$hi->{month_full}[$gq],$z[409]=>$z[410],$z[233]=>$z[411], $z[412]=>sprintf($z[413],$gp),$z[331]=>$z[414],$z[415]=>sprintf($z[416], $gp),$z[417]=>$hi->{month_abbr}[$gq],$z[418]=>sprintf($z[413], $hb),$z[419]=>sprintf($z[413],$hb% 12||12),$z[420]=>sprintf($z[421],$gt +1),$z[422]=>sprintf($z[416],$hb),$z[423]=>sprintf($z[416], $hb% 12||12),$z[424]=>sprintf($z[413],$gq+1),$z[329]=>sprintf($z[413], $gn),$z[242]=>"\n",$z[425]=>$hi->{ordinals}[$gp],$z[426]=>$hi->{ampm}[$hb >=12?1:0],$z[427]=>lc($hi->{ampm}[$hb>=12?1:0]),$z[428]=>int($gq /3)+1,$z[429]=>$z[430],$z[431]=>$z[432],$z[433]=>$ha,$z[434] =>sprintf($z[413],$gm),$z[435]=>"\t",$z[436]=>$z[437],$z[438] =>&hm($hj,$gs,$gt),$z[439]=>$gs,$z[440]=>&hm($hk,$gs,$gt),$z[441] =>$z[414],$z[442]=>$z[437],$z[443]=>sprintf($z[413],$gr% 100), $z[444]=>sprintf($z[445],$gr+1900),$z[352]=>'',$z[354]=>'', };$gz=&hn($hl,$gz);return$gz;}sub hn{my($hl,$gz)=@_;$gz=~s/%(O?[%a-zA-Z])/&ho($hl, $1)/sgeox;return$gz;}sub ho{my$hp=$_[1];return(exists($_[0]->{$hp})) ?($_[0]->{$hp}=~/\%/&&$hp ne$z[406]?&hn($_[0],$_[0]->{$hp}) :$_[0]->{$hp}):"\%$hp";}sub hm{my($hq,$gs,$gt)=@_;$gs=($gs+ 7-$hq)% 7;return int(($gt-$gs+13)/7-1);}sub hf{my($gr,$gq,$hr) =@_;return@_ if$hr<=28;my$hs;if($gq==1){if(($gr% 4==0)&&(!($gr % 100==0)||($gr% 400==0))){$hs=29;}else{$hs=28;}}elsif($gq== 3||$gq==5||$gq==8||$gq==10){$hs=30;}else{$hs=31;}return($gr, $gq,$hr<$hs?$hr:$hs);}sub or{my$ht=$_[0];my$hu=$_[1]||die("DateString: The second argument must time()\n"); my$AF=$_[2];if($hu ne int($hu)){die($z[446]."\n");}my($gm,$gn,$go,$hr,$gq,$gr,$gs); if($AF){($gm,$gn,$go,$hr,$gq,$gr,$gs)=gmtime($hu);}else{($gm,$gn,$go,$hr,$gq,$gr,$gs) =localtime($hu);}if($hu=~tr/://){($gr,$gq,$hr,$go,$gn,$gm,$gs) =split(/:/,$hu);$gr-=1900;$gq-=1;foreach($gr,$gq,$hr,$go,$gn,$gm,$gs) {$_||=0;}}my(%gs,%hv,%gq,%hw);my@gq=($z[447],$z[448],$z[449],$z[450],$z[451],$z[452],$z[453],$z[454],$z[455],$z[456],$z[457],$z[458]); my@hw=($z[459],$z[460],$z[461],$z[462],$z[451],$z[463],$z[464],$z[465],$z[466],$z[467],$z[468],$z[469]); my@gs=($z[470],$z[471],$z[472],$z[473],$z[474],$z[475],$z[476]); my@hv=($z[477],$z[478],$z[479],$z[480],$z[481],$z[482],$z[483]); foreach(@gs){$gs{lc$_}++;}foreach(@hv){$hv{lc$_}++;}foreach (@gq){$gq{lc$_}++;}foreach(@hw){$hw{lc$_}++;}$ht=~s/\b[A-Za-z]{3,9}\b/ if($gs{lc$&}){if(uc($&)eq$&){uc$gs[$gs];}elsif(lc($&)eq$&){ lc$gs[$gs];}else{ucfirst lc$gs[$gs];}}elsif($hv{lc$&}){if(uc($&) eq$&){uc$hv[$gs];}elsif(lc($&)eq$&){lc$hv[$gs];}else{ucfirst lc$hv[$gs];}}elsif($gq{lc$&}){if(uc($&)eq$&){uc$gq[$gq];}elsif (lc($&)eq$&){lc$gq[$gq];}else{ucfirst lc$gq[$gq];}}elsif($hw{lc $&}){if(uc($&)eq$&){uc$hw[$gq];}elsif(lc($&)eq$&){lc$hw[$gq]; }else{ucfirst lc$hw[$gq];}}else{$&;}/ge;$ht=~s/\d{1,4}\b/if (length$&==4){$gr+1900;}elsif(length$&<=2){if(substr($&,0,1) eq 0){sprintf($z[413],$hr);}else{$hr;}}else{$&;}/ge;$ht=~s/(\d{1,2})(st|nd|rd|th)/ if($hr==1||$hr==21||$hr==31){$hr.$z[484];}elsif($hr==2||$hr ==22){$hr.$z[485];}elsif($hr==3||$hr==23){$hr.$z[486];}else {$hr.$z[487];}/gei;$ht=~s/YYYY/sprintf($z[445],$gr+1900)/gei; $ht=~s/YY/sprintf($z[413],$gr%100)/gei;$ht=~s/MO\b/sprintf($z[413],$gq+1)/gei; $ht=~s/DD/sprintf($z[413],$hr)/gei;$ht=~s/SS/sprintf($z[413],$gm)/gei; $ht=~s/MM/sprintf($z[413],$gn)/gei;$ht=~s/HH/sprintf($z[413],$go)/gei; return$ht;}sub db{my($hx,$da,$arrayref_nopack)=@_;my(@f_nopack,$cz,$hy, $hz,$ia,$cx);my($cv,$cw);$cx=0;foreach(split(/ /,$da)){if(s/\#//g) {$cv=1;}elsif(s/n//g){$cv=1;}else{$cv=0;}if(s/\-//g){$cw=$z[488]; }elsif(s/\+//g){$cw='';}else{$cw='';}s/[^0-9]//gs;push(@f_nopack,$_); if($cv){$cz+=15;$hz.=$z[489];$ia.=qq|$cw sprintf('%015s',int(substr(\$str[$cx]*100,0,15))),|; }else{$cz+=50;$hz.=$z[490];$ia.="$cw substr(\$str[$cx],0,50),"; }$cx++;}$hy.=qq|return map { substr(\$_,$cz) } sort map {\n|; $hy.=qq| my \@str = (split(/\\$hx/,lc \$_))[\@f_nopack];\n|; $hy.=qq| sprintf("$hz\%s" ,$ia\$_);\n|;$hy.=qq| } \@\$arrayref_nopack;\n|; eval$hy;}sub ge{my$ib=shift;$ib=~s/\\/\\\\/g;$ib=~s/'/\\'/g; $ib=~s/\n/\\n/g;$ib=~s/\r/\\r/g;$ib=~s/\000//g;$ib=~s/-->/--'+'>/g; $ib=~s!!!g;return$ib;}sub ff{my$ic=shift; $ic=~s/&/&/g;$ic=~s/"/"/g;$ic=~s//>/g; return$ic;}sub gd{my$ic=shift;$ic=~s/&([^\w#]|$)/&$1/g; $ic=~s/"/"/g;$ic=~s//>/g;return$ic; }sub bw{my$id=shift;my%ie=map{$_,1}@_;return join($z[313],map {$ie{$_}?():&gc($_).$z[306].&gc($id->{$_})}keys%{$id});}sub os{my$id=shift;my%ie=map{$_,1}@_;return join("\n",map{$ie{$_} ?():$z[491].&ff($_).$z[492].&ff($id->{$_}).$z[49]}keys%{$id}); }sub mc{$_=$_[0];/\.gif$/i&&return(&ig($_[0]));(/\.jpeg$/i|| /\.jpg$/i)&&return(&ih($_[0]));/\.png$/i&&return(&ii($_[0])); undef;}sub ii{my($ij)=@_;my($ik);open(PNG,$ij)||return(undef, undef,"PNG - Couldn't Open $ij");binmode(PNG);seek(PNG,12,0); read(PNG,$ik,4);if($ik ne"IHDR"){close PNG;return(undef,undef, "PNG - Missing Image Header - $ik");}read(PNG,$ik,8);close PNG;return unpack("NN",$ik);}sub ih{my($ij)=@_;my($ik,$il,$im, $in,$io);open(JPEG,$ij)||return(undef,undef,"JPEG - Couldn't Open $ij"); binmode(JPEG);read(JPEG,$ik,2);while(1){read(JPEG,$il,4);($im, $in,$io)=unpack("a a n",$il);if($im ne"\xFF"){close JPEG;return(undef, undef,"JPEG - Marker not Found");}if((ord($in)>=0xC0)&&(ord($in) <=0xC3)){read(JPEG,$ik,5);close(JPEG);my($ip,$iq)=unpack("xnn", $ik);return($iq,$ip);}else{read(JPEG,$ik,$io-2);}}}sub iy{my ($ir,$is)=@_;my($it);read($ir,$it,$is);while(1){if(eof($ir)) {close AG;return(undef);}read($ir,$it,1);last if ord($it)== 0;read($ir,$it,ord($it));}1;}sub ig{my($ij)=@_;my($ik,$fb,$iu, $iv,$iq,$iw,$ip,$ix);open(AG,$ij)||return(undef,undef,"GIF - Couldn't Open $ij"); binmode(AG);read(AG,$fb,6);read(AG,$ik,7);if(length($ik)!=7) {close AG;return(undef,undef,"GIF - Corrupted Header");}($iq) =unpack("x4 C",$ik);if($iq&0x80){$iu=3*(2**(($iq&0x07)+1)); read(AG,$iv,$iu);if(!$iv){close AG;return(undef,undef,"GIF - Corrupted Colour Map"); }}while(1){if(eof(AG)){close AG;return(undef,undef,"GIF - EOF at BlockStart"); }read(AG,$ik,1);($iq)=unpack("C",$ik);if($iq==0x2c){read(AG, $ik,8);if(length($ik)!=8){close AG;return(undef,undef,"GIF - Missing Image Header"); }($iq,$iw,$ip,$ix)=unpack("x4 C4",$ik);close(AG);return($iq +$iw* 256,$ip+$ix* 256);}if($iq==0x21){read(AG,$ik,1);($iq) =unpack("C",$ik);if($iq==0xF9){read(AG,$ik,6);}elsif($iq==0xFE) {&iy(\*AG,0)||return(undef,undef,"GIF - Bad Block - skip=0"); }elsif($iq==0x01){&iy(\*AG,13)||return(undef,undef,"GIF - Bad Block - skip=13"); }elsif($iq==0xFF){&iy(\*AG,12)||return(undef,undef,"GIF - Bad Block - skip=12"); }else{close AG;return(undef,undef,"GIF - Unknown Block Extension"); }}else{close AG;return(undef,undef,"GIF - Unknown Block Type"); }}}sub ot{return($_[0]=~/(.+)/s)[0]||$_[0];}sub ou{my$iz;foreach (split/\n/,shift){s!\\!\\\\!g;s!\"!\\\"!g;s!$jf){$bs=1;}push(@{$jd[$bs]},$_);}if(defined$jc){ foreach(0..$#jd){while(scalar@{$jd[$_]}<$jb){push(@{$jd[$_]}, $jc);}}}shift@jd;return@jd;}sub ml{my($jg,%jh,$AH);$jg=$_[0]; %jh=%{$_[1]};$AH="\x0D\x0A";local(*AI);if(!defined&ji){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_parseheader'\n"); }if(!defined&jj){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_debug'\n"); }if(!defined&jk){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_readline'\n"); }if(!defined&jl){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_pop3auth'\n"); }if(!defined&jm){die("SMTP_sendmail: Couldn't find required subroutine 'FH_readline'\n"); }if(!defined&jn){die("SMTP_sendmail: Couldn't find required subroutine 'FH_can_read'\n"); }foreach(keys%{$ab{$z[493]}}){defined$jh{$_}&&next;$jh{$_}= $ab{$z[493]}{$_};}my($fq,$jo,$jp,$jq,$er);$fq=$jh{$z[494]}; $jo=$jh{$z[495]}||25;$jp=$jh{$z[496]}||$z[497];$jq=$jh{$z[498]} ||30;$er=$jh{$z[499]}||0;$jq+=time()if$jq<10**8&&$jq>0;if($fq =~s/:(\d+)//){$jo=$1;}if(!$fq){$ab{$z[500]}="No SMTP host specified.\n"; return 0;}if(!$jo){$ab{$z[500]}="No SMTP port specified.\n"; return 0;}my($jr,@js)=&ji($jg);$jg=~tr/\r//d;$jg=~s/\n/\r\n/gs; $jg=~s/^\s*bcc\s*:.*\n//mgi;if($jh{$z[501]}){&jl(\%jh)||return 0;}my($jt)=gethostbyname($fq)||do{$ab{$z[500]}="Could not connect to SMTP server. Unknown host $fq\n"; return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ab{$z[500]} ="Could not connect to SMTP server. No Socket: $!\n";return 0;};connect(AI,pack"SnA4x8",PF_INET,$jo,$jt)||do{if($!eq"Unknown error") {$ab{$z[500]}="Could not connect to SMTP server. SMTP server does not exist or is not responding.\n"; return 0;}else{$ab{$z[500]}="Could not connect to SMTP server. Connect failed: $!\n"; return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$ju =&jk(\*AI,$jq)||do{$ab{$z[500]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($er){&jj($ju);}if(substr($ju,0,3)ne"220"){$ab{$z[500]} ="An unknown error occured. Server response: $ju\n";return 0;}print AI"HELO $jp",$AH;if($er){&jj("HELO $jp",$AH);}$ju= &jk(\*AI,$jq)||do{$ab{$z[500]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($er){&jj($ju);}if(substr($ju,0,3)ne"250"){$ab{$z[500]} ="An unknown error occured. Server response: $ju\n";return 0;}print AI"MAIL FROM:<$jr>",$AH;if($er){&jj("MAIL FROM:<$jr>", $AH);}$ju=&jk(\*AI,$jq)||do{$ab{$z[500]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($er){&jj($ju);}if(substr($ju,0,3)ne"250"){$ab{$z[500]} ="An unknown error occured. Server response: $ju\n";return 0;}my$js;foreach$js(@js){print AI"RCPT TO:<$js>",$AH;if($er) {&jj("RCPT TO:<$js>",$AH);}$ju=&jk(\*AI,$jq)||do{$ab{$z[500]} ="Timed out waiting for SMTP server to respond.\n";return 0; };if($er){&jj($ju);}if(substr($ju,0,2)eq"55"){$ab{$z[500]}= "The server won't accept mail for '$js'. Server response: $ju\n"; return 0;}if(substr($ju,0,2)ne"25"){$ab{$z[500]}="An unknown error occured. Server response: $ju\n"; return 0;}}print AI"DATA",$AH;if($er){&jj("DATA",$AH);}$ju= &jk(\*AI,$jq)||do{$ab{$z[500]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($er){&jj($ju);}if(substr($ju,0,3)ne"354"){$ab{$z[500]} ="An unknown error occured. Server response: $ju\n";return 0;}$jg=~s/^\./\.\./gm;print AI$jg,$AH;if($er){&jj($jg,$AH); }print AI".",$AH;if($er){&jj(".",$AH);}$ju=&jk(\*AI,$jq)||do {$ab{$z[500]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($er){&jj($ju);}if(substr($ju,0,3)ne"250"){$ab{$z[500]} ="An unknown error occured. Server response: $ju\n";return 0;}print AI"QUIT",$AH;if($er){&jj("QUIT",$AH);}close(AI);return 1;}sub ji{my($jg,$bn,$jv,$jw,$dy);$jg=$_[0];$jg=~tr/\r//d;$bn =$z[502];$bn.=$z[503];if($jg=~m/^(.*?)\n\n(.*)$/s){($jv,$jw) =($1,$2);}else{die("SMTP_parseheader: couldn't find email header!\n"); }my($jr,@js);foreach$dy(split(/\n/,$jv)){foreach(qw(from to cc bcc)) {if($dy=~/^\s*$_\s*:/i){my$jx=$_;foreach($dy=~m/($bn)/g){if ($jx eq$z[504]){$jr=$_;}else{push@js,$_;}}}}}$jr||die("SMTP_parseheader: couldn't find from: address in mail header\n"); $#js>=0||die("SMTP_parseheader: couldn't find to: address in mail header\n"); return($jr,@js);}sub jk{my$AJ=$_[0];my$jq=int($_[1]);if(!$jq) {die("SMTP_readline: no timeout value specified!\n");}if($jq <10**8){die("SMTP_readline: timeout value must be in time() format!\n"); }fileno($AJ)||die("SMTP_readline: invalid filehandle or filehandle not open!\n"); my($dy,$jy);while(!$dy||substr($dy,3,1)eq$z[243]){$dy=&jm($AJ,$jq); $jy.=$dy;}return$jy;}sub jj{my$jz=join'',@_;$jz=~s/\s+$//m; my$ka=localtime();local*AK;if(!$jz){$ka="";$jz="\n";}if($jz =~/^From:/i){$jz="[email content]";}if($jz=~/^PASS /i){$jz= "PASS (not shown)";}$jz=~s//>/g;$jz=~s/\r\n|\n/
\n/g; print"

$jz
\n\n";}sub jl{my($jg,%jh,$AH);%jh=%{$_[0]}; $AH="\x0D\x0A";local(*AI);if(!$jh{$z[505]}){die("SMTP_pop3auth: POP3 username not defined'\n"); }if(!$jh{$z[506]}){die("SMTP_pop3auth: POP3 password not defined'\n"); }if($ab{$z[507]}{$z[508]}){return 1;}my($fq,$jo,$fp,$kb,$jq,$er); $fq=$jh{$z[509]}||$jh{$z[494]};$jo=$jh{$z[510]}||110;$fp=$jh{$z[505]}; $kb=$jh{$z[506]};$jq=$jh{$z[511]}||$jh{$z[498]}||30;$er=$jh{$z[499]} ||0;$jq+=time()if$jq<10**8&&$jq>0;if($fq=~s/:(\d+)//){$jo=$1; }my($jt)=gethostbyname($fq)||do{$ab{$z[500]}="Could not connect to POP3 server. Unknown host $fq\n"; return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ab{$z[500]} ="Could not connect to POP3 server. No Socket: $!\n";return 0;};connect(AI,pack"SnA4x8",PF_INET,$jo,$jt)||do{if($!eq"Unknown error") {$ab{$z[500]}="Could not connect to POP3 server. POP3 server does not exist or is not responding.\n"; return 0;}else{$ab{$z[500]}="Could not connect to POP3 server. Connect failed: $!\n"; return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$ju =&jm(\*AI,$jq)||do{$ab{$z[500]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($er){&jj($ju);}if(uc(substr($ju,0,3))ne"+OK") {$ab{$z[500]}="An unknown error occured. Server response: $ju\n"; return 0;}print AI"USER $fp",$AH;if($er){&jj("USER $fp",$AH); }$ju=&jm(\*AI,$jq)||do{$ab{$z[500]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($er){&jj($ju);}if(substr($ju,0,3)ne"+OK"){$ab{$z[500]} ="The server didn't accept the login info for '$fp'. Server response: $ju\n"; return 0;}print AI"PASS $kb",$AH;if($er){&jj("PASS $kb",$AH); }$ju=&jm(\*AI,$jq)||do{$ab{$z[500]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($er){&jj($ju);}if(substr($ju,0,3)ne"+OK"){$ab{$z[500]} ="The server didn't accept the login info for '$fp'. Server response: $ju\n"; return 0;}print AI"QUIT",$AH;if($er){&jj("QUIT",$AH);}close(AI); $ab{$z[507]}{$z[508]}=1;return 1;}sub jn{my$AJ=$_[0];my$jq= $_[1]||$z[361];my($kc,$kd,$ke,$kf,$kg,$kh,$ki);fileno($AJ)|| die("fh_can_read: invalid filehandle or filehandle not open!\n"); vec($kc,fileno($AJ),1)=1;$ki=select($kd=$kc,undef,undef,$jq); return vec($kd,fileno($AJ),1);}sub jm{my$AJ=$_[0];my$jq=int($_[1]); if(!$jq){die("FH_readline: no timeout value specified!\n"); }if($jq<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($dy,$kj);while($jq>=time()){&jn(\*AI,0.25)||next;sysread(\*AI,$kj, 1)||last;$dy.=$kj;if($kj eq"\x0A"){last;}}return$dy;}sub ow {my$fa=shift;$fa=~s|\\|/|g;if($fa=~m|^/|){return$fa;}if($fa =~m|^\w:/|){return$fa;}return&kk($ab{$z[512]}.$z[64].$fa);} sub kk{my$fa=shift;$fa=~s|\\|/|g;1 while$fa=~s|[^/]*/\.\./||; return$fa;}sub ox{my($kl,@jh)=@_;$kl=~s/\s+//g;$kl=uc$kl;my $km;my$kn=-1;my$ko;foreach$ko(split(/,/,$kl)){$kn++;my$kp=shift @jh;my$kq=$ko=~s/\[|\]//g;if($ko eq$z[513]){@jh=();last;}next if($kq and not defined$kp);next if($ko eq$z[514]and defined $kp);next if($ko=~/\bVALUE\b/and not ref($kp)and defined($kp)); next if(uc(ref$kp)=~/\b$ko\b/);next if($ko=~/\bINT\b/and$kp !~/[^0-9\.\e\-]/i and$kp==int($kp));$km.=", "if$km;$km.="\$_[$kn] must be "; $km.="either "if$kq;$km.=$ko;$km.=" or undefined"if$kq;$km.= " ARG: $kp.";}if(@jh){$kn++;$km.=", "if$km;$km.="extra argument(s) \@_[" .($kn)." .. ".($kn+$#jh)."]";}return 1unless$km;my$fe=(caller(1))[3]; $fe=~s/^main:://;&ak("Invalid arguments passed to $fe".": $km"); }sub oy{my$ic=shift;$ic=~s//>/g;return$ic; }1;;sub kz{my($kr,$ks)=@_;foreach(@{$kr->{$z[172]}}){my($kt, $fe)=@{$_};if(!defined&{$fe}&&!defined&{$ab{$z[515]}{$kt}}) {die("The action '$kt' defined as a handler for db '$kr->{'name'}' does not have a custom handler or a default handler"); }if((!$ks&&$ag{$kr->{$z[50]}.$z[516].$kt})||$ks eq$kt){if(defined &{$fe}){&{$fe}($kr);exit;}else{&{$ab{$z[515]}{$kt}}($kr);exit; }}}if($ks){die"Unable to execute forced action '$ks' on db '$kr->{'name'}'"; }}sub oz{my$kr=shift;my$ao=&ku($kr);&kv($kr,$ao);}sub pa{my $kr=shift;my$ao=&kw($kr);&kx($kr,$ao);&ky($z[517],$ao);exit; }sub pb{my$kr=shift;if(!$ac{$z[518]}){&kz($kr,$z[173]);}my$ao =&la($kr);&ky($z[518],$ao);exit;}sub pc{my$kr=shift;my$ao=&lb($kr); &ld($kr,$ao);}sub pd{my$kr=shift;&co;my$le=&lf($kr);my$lg=&lh($kr, $le);&li($kr,$le);&lj($kr,$le);&cp;&lk($kr,$lg);&ll($kr);}sub pe{my$kr=shift;my($df,$dg);my$lm={$z[57]=>$af{$z[519]}{$z[57]}, $z[520]=>1,$z[82]=>'',};$lm=&ln($kr,$lm);foreach(split(/\s+/,$kr->{$z[79]})) {push(@$dg,[$_,$z[283],$lm->{$z[82]}]);}my$ap=sub{my$lo=shift; if(!defined$lo->{$z[521]}&&$lo->{$z[19]}){my$hu=&hh(0,0,0,$lo->{$z[20]},$lo->{$z[19]}-1,$lo->{$z[18]}); $lo->{$z[521]}=&as($ab{$z[96]},$hu);}$lo->{$z[522]}=&as($ab{$z[40]},int($lo->{$z[522]})) if$lo->{$z[522]};$lo->{$z[66]}=&as($ab{$z[40]},int($lo->{$z[66]})) if$lo->{$z[66]};$ad{$z[523]}=$ad{$z[523]}eq$z[524]?$z[525]: $z[524];return&bu($z[122],$lo);};my$ao=&lp($kr,$ap,$lm,$df, $dg);&lq($ao);}sub ku{my$kr=shift;$ad{$z[526]}=$kr->{$z[145]}; $ad{$z[527]}=$kr->{$z[50]};&gb($kr->{$z[147]},{});my($ao)={}; if($kr->{$z[528]}&&&lr($kr)>=$kr->{$z[528]}){&ky($z[529],$kr); }my($hr,$gq,$gr)=(localtime(&at($^T)))[3,4,5];$gq++;$gr+=1900; $ao->{"day_$hr".$z[530]}=$z[531];$ao->{"mon_$gq".$z[530]}=$z[531]; $ao->{"year_$gr".$z[530]}=$z[531];foreach(split(/ /,$kr->{$z[74]})) {if(/^ufile/&&!$ao->{$_}){$ao->{$_}=$z[532];}}$ao->{$z[522]} =&as($ab{$z[40]},&at($^T));$ao->{$z[66]}=&as($ab{$z[40]},&at($^T)); $ao->{$z[533]}=$ai{$z[50]}||"unknown user";$ao->{$z[534]}=$ai{$z[50]} ||"unknown user";return$ao;}sub kv{my($kr,$ao)=@_;if($ab{$z[133]}{$z[134]}{$z[535]}) {&ky($z[535],$ao);}else{&ky($z[517],$ao);}exit;}sub kw{my$kr =shift;$ad{$z[526]}=$kr->{$z[145]};$ad{$z[527]}=$kr->{$z[50]}; &gb($kr->{$z[147]},{});my($ls)=int$ag{$kr->{$z[50]}.$z[536]}; my$ao={};<($kr,$ao,$ls)||&ak($z[537],$ls);return$ao;}sub kx{my($kr,$ao)=@_;foreach(split(/ /,$kr->{$z[74]})){if(/^ufile/ &&!$ao->{$_}){$ao->{$_}=$z[532];}}foreach(keys%{$ao}){$ao->{$_} =~s/\&/&/g;$ao->{$_}=~s/\"/"/g;$ao->{$_}=~s/\{$_}=~s/\>/>/g;}foreach(keys%{$ao}){if(!/\W/&&$ao->{$_} !~/\W/){$ao->{$_.$z[516].$ao->{$_}.$z[538]}=$z[539];$ao->{$_.$z[516].$ao->{$_}.$z[530]} =$z[531];}}$ao->{$z[522]}=&as($ab{$z[40]},&at($ao->{$z[522]})) if$ao->{$z[522]};$ao->{$z[66]}=&as($ab{$z[40]},&at($ao->{$z[66]})) if$ao->{$z[66]};my%lu;<($ae{$z[193]},\%lu,$ao->{$z[533]}) if$ao->{$z[533]};$ao->{$z[533]}=$lu{$z[50]}||"unknown user"; <($ae{$z[193]},\%lu,$ao->{$z[534]})if$ao->{$z[534]};$ao->{$z[534]} =$lu{$z[50]}||"unknown user";return$ao;}sub la{my$kr=shift; $ad{$z[526]}=$kr->{$z[145]};$ad{$z[527]}=$kr->{$z[50]};&gb($kr->{$z[147]}, {});my($ls)=int($ag{$kr->{$z[50]}.$z[540]})||int($ag{$z[48]}); my($ao)={};<($kr,$ao,$ls)||&ak($z[537],$ls);return$ao;}sub lb{my$kr=shift;$ad{$z[526]}=$kr->{$z[145]};$ad{$z[527]}=$kr->{$z[50]}; &gb($kr->{$z[147]},{});my($ls)=$ag{$z[48]}||$ag{$kr->{$z[50]}.$z[540]}; my$ao={};&co();<($kr,$ao,$ls)||&ak($z[537],$ls);&lv($kr,$ls) ||die($z[541].$ls);&cp();foreach(split(/ /,$kr->{$z[74]})){ if(/^ufile/&&$ao->{$_}){if(-e"$ac{'dir_upload'}/$ao->{$_}") {unlink("$ac{'dir_upload'}/$ao->{$_}");}}}if(defined&{$kr->{$z[171]}}) {&{$kr->{$z[171]}}($ls,$z[173],$ao);}return$ao;}sub ld{my($kr, $ao)=@_;if(!$ac{$z[542]}){&kz($kr,$z[174]);}&ky($z[543],$ao); exit;}sub lf{my$kr=shift;$ad{$z[526]}=$kr->{$z[145]};$ad{$z[527]} =$kr->{$z[50]};&gb($kr->{$z[147]},{});my($ls)=int($ag{$z[48]}); my$le={};if($kr->{$z[528]}){my($bj)=&lr($kr);if($ls&&$bj>$kr->{$z[528]}) {&ky($z[529],$kr);}elsif(!$ls&&$bj>=$kr->{$z[528]}){&ky($z[529],$kr); }}if($ls){<($kr,$le,$ls)||die("ui_save : Can't find record #$ls"); }return($le);}sub lh{my($lo)=$_[0]->{$z[50]}||die($z[544]); my($ls)=int($ag{$z[48]});my(%lo)=%{$_[1]||{}};my(%es,%fm,$ei,%lg,%ao); if(!$ac{$z[545]}){die("ui_save_uploads: No upload directory has been defined in setup options!\n"); }if(!-d$ac{$z[545]}){die("ui_save_uploads: Upload directory '$ac{'dir_upload'}' doesn't exist!\n"); }if(!-w$ac{$z[545]}){die("ui_save_uploads: Upload directory isn't writable!\n"); }%es=&az($ac{$z[545]});foreach(split(/ |\,/,$ac{$z[546]})){ $fm{$_}++if$_;}foreach$ei(split(/ /,$_[0]->{$z[74]})){if($ei !~/^ufile/){next;}if($ag{$ei}){if($ac{$z[547]}&&length($ag{$ei}) >$ac{$z[548]}*1000){my$lw=length($ag{$ei});$lg{$z[549]}.=qq|$ag{$ei."_file"} ($lw bytes, file too large)
\n|; $ag{$ei}=$lo{$ei};next;}if(!$fm{lc$ag{$ei.$z[325]}}){$lg{$z[549]} .=qq|$ag{$ei."_file"} ('$ag{$ei.'_ext'}' files not accepted)
\n|; $ag{$ei}=$lo{$ei};next;}if($lo{$ei}&&$es{$lo{$ei}}){unlink("$ac{'dir_upload'}/$lo{$ei}"); }my($lx);my($ly)=lc$ag{$ei.$z[324]};my($lz)=lc$ag{$ei.$z[325]}; my($ma)=$z[550];$ly=~s/\.[^\.]*$//g;$ly=~s/[^a-z0-9_\-]/_/g; $lz=~s/[^a-z0-9_\-]/_/g;$lx="$ly.$lz";if(-e"$ac{'dir_upload'}/$lx") {do{$ma=sprintf($z[421],++$ma);$lx=$ly."_$ma.$lz";}while(-e "$ac{'dir_upload'}/$lx");}open(AB,">$ac{'dir_upload'}/$lx") ||die($z[551]."$lx $!\n");binmode AB;print AB$ag{$ei};close(AB); if($lx=~/\.(gif|jpg|jpeg|png)$/i){my($iw,$ix,$mb)=&mc("$ac{'dir_upload'}/$lx"); if(($ac{$z[552]}&&$ix>$ac{$z[552]})||($ac{$z[553]}&&$iw>$ac{$z[553]})) {unlink("$ac{'dir_upload'}/$lx");$lg{$z[549]}.=qq|$ag{$ei."_file"} (${ix}x$iw, image too big)
\n|; $ag{$ei}=$lo{$ei};next;}}$ag{$ei}=$lx;}elsif($ag{$ei.$z[324]}) {if($lo{$ei}&&$es{$lo{$ei}}){unlink("$ac{'dir_upload'}/$lo{$ei}"); }$lo{$ei}='';}else{$ag{$ei}=$lo{$ei};}}return\%lg;}sub li{my ($kr,$le)=@_;my($ls)=int($ag{$z[48]});$ag{$z[522]}=$ls?$le->{$z[522]} :$^T;$ag{$z[533]}=$ls?$le->{$z[533]}:$ai{$z[48]};$ag{$z[554]} =$ls?$le->{$z[554]}:$ai{$z[48]};$ag{$z[66]}=$^T;$ag{$z[534]} =$ai{$z[48]};my$md;foreach$md($kr->{$z[74]}=~/\bufile([^ ]*)\b/g) {if($kr->{$z[74]}=~/\bimagewidth\Q$md\E\b/){($ag{$z[555].$md}, $ag{$z[556].$md})=&mc($ac{$z[545]}.$ag{$z[557].$md});}}}sub lj{my($kr,$le)=@_;my($ls)=int($ag{$z[48]});if($ls){&dx($kr, \%ag,$ls);}else{$ag{$z[48]}=&eb($kr,\%ag,$ls);}if(defined&{$kr->{$z[171]}}) {&{$kr->{$z[171]}}($ag{$z[48]},$z[558],$le);}}sub lk{my($kr, $lg)=@_;if(keys%{$lg}){undef$ac{$z[548]}if!$ac{$z[547]};$lg->{$z[48]} =$ag{$z[48]};$lg->{$z[559]}=&bu($z[559],\%ac)if$ac{$z[548]}; $lg->{$z[560]}=&bu($z[560],\%ac)if$ac{$z[552]};$lg->{$z[561]} =&bu($z[561],\%ac)if$ac{$z[553]};$lg->{$z[562]}=&bu($z[562], {$z[546]=>$ac{$z[546]}?$ac{$z[546]}:$z[563]});&ky($z[564],$lg); exit;}}sub ll{my($kr)=@_;if(!$ac{$z[565]}){&kz($kr,$z[174]); }&ky($z[566],\%ag);exit;}sub lq{my$ao=shift;&ky($z[174],$ao); exit;}sub ln{my($kr,$lm)=@_;$ad{$z[526]}=$kr->{$z[145]};$ad{$z[527]} =$kr->{$z[50]};if(ref($kr)ne$z[227]){die$z[567]."\n";}&gb($kr->{$z[147]}, {});if($ag{$kr->{$z[50]}.$z[568]}){my$me={};while($ah{$kr->{$z[50]}.$z[569]} =~/(.*?)\t(.*?)\t/g){$me->{$1}=$2;}$lm->{$z[57]}=$ag{$z[570]} ||$me->{$z[57]};}else{while($ah{$kr->{$z[50]}.$z[569]}=~/(.*?)\t(.*?)\t/g) {$lm->{$1}=$2;}foreach(keys%{$lm}){if(defined$ag{$z[516].$_}) {if($_ ne$z[57]&&$_ ne$z[520]){$lm->{$z[520]}=1;}$lm->{$_}= $ag{$z[516].$_};}}}&mf($kr->{$z[50]}.$z[569],join("\t",map{ $_,$lm->{$_}}keys%{$lm})."\t");foreach(keys%{$lm}){$ad{$z[516] .$_}=$lm->{$_};$ad{$z[516].$_.$z[516].$lm->{$_}.$z[530]}=$z[531]; }return$lm;}sub lp{my($kr,$ap,$lm,$df,$dg)=@_;my%ao;my$iz=sub {$ao{$z[571]}.=&{$ap}(@_);};($ao{$z[572]},$ao{$z[573]},$ao{$z[574]}, $ao{$z[575]},$ao{$z[576]},$ao{$z[577]})=&mg($kr,$iz,$lm->{$z[520]}, $lm->{$z[57]},$df,$dg);unless($ao{$z[571]}){if($ab{$z[133]}{$z[134]}{$z[578]} &&scalar grep{$_ ne$z[57]&&$_ ne$z[520]&&$lm->{$_}ne''}keys %{$lm}){$ao{$z[571]}=&bu($z[578],{});}else{$ao{$z[571]}=&bu($z[128], {});}}return\%ao;}sub cl{my$kr=shift;my($df,$dg);my$lm={$z[57] =>$af{$z[519]}{$z[57]},$z[520]=>1,$z[82]=>'',};$lm=&ln($kr, $lm);foreach(split(/\s+/,$kr->{$z[79]})){push(@$dg,[$_,$z[283], $lm->{$z[82]}]);}my$ap=sub{my$lo=shift;$lo->{$z[579]}=$aj[$lo->{$z[580]}]; if(!defined$lo->{$z[521]}&&$lo->{$z[19]}){my$hu=&hh(0,0,0,$lo->{$z[20]},$lo->{$z[19]}-1,$lo->{$z[18]}); $lo->{$z[521]}=&as($ab{$z[96]},$hu);}$lo->{$z[522]}=&as($ab{$z[40]},int($lo->{$z[522]})) if$lo->{$z[522]};$lo->{$z[66]}=&as($ab{$z[40]},int($lo->{$z[66]})) if$lo->{$z[66]};$ad{$z[523]}=$ad{$z[523]}eq$z[524]?$z[525]: $z[524];return&bu($z[122],$lo);};my$ao=&lp($kr,$ap,$lm,$df, $dg);&lq($ao);}sub pf{my$kr=shift;&co();my$le=&lf($kr);my$lg =&lh($kr,$le);&li($kr,$le);my%mh;if(&mi($kr,\%mh,$z[581],$ag{$z[581]})) {if($mh{$z[48]}!=$le->{$z[48]}){&cp();&ky($z[582],\%ag);}}if ($ag{$z[48]}==$ai{$z[48]}&&$ag{$z[580]}<9){&cp();&ky($z[583], {});}&lj($kr,$le);my%mj;if(&mi($ae{$z[198]},\%mj,$z[48],$ag{$z[48]})) {&dx($ae{$z[198]},\%ag,$ag{$z[48]});}&cp();&lk($kr,$lg);&ll($kr); }sub pg{my$kr=shift;if(!$ac{$z[518]}){&kz($kr,$z[173]);}my$ao =&la($kr);if($ao->{$z[48]}==$ai{$z[48]}&&$ag{$z[580]}<9){&ky($z[583], {});}&ky($z[518],$ao);}sub ck{my$kr=shift;my$ls=$ag{$z[48]} ||$ag{$kr->{$z[50]}.$z[540]};if($ls==$ai{$z[48]}&&$ag{$z[580]} <9){$ad{$z[526]}=$kr->{$z[145]};$ad{$z[527]}=$kr->{$z[50]}; &gb($kr->{$z[147]},{});&ky($z[583],{});}&co();<($ae{$z[193]}, {},$ai{$z[48]})||&mk($z[584],{});my$ao=&lb($kr);&lv($ae{$z[198]}, $ls);&cp();&ld($kr,$ao);}sub ph{my$jg=shift;if($ac{$z[585]} eq$z[586]){my%jh=(host=>$ac{$z[587]},helo=>$af{$z[588]}{$z[589]}, timeout=>$af{$z[588]}{$z[590]},pop3_auth=>$ac{$z[591]},pop3_host =>$ac{$z[592]},pop3_user=>$ac{$z[593]},pop3_pass=>$ac{$z[594]}); &ml($jg,\%jh)||die("Error sending message: $ab{'error'}
\n"); }elsif($ac{$z[585]}eq$z[595]){if(!-e$ac{$z[596]}){die("sendmail: can't find sendmail program '$ac{'mail_sendmail'}'\n"); }local(*AL);my($jr)=&ji($jg);open(AL,"|$ac{'mail_sendmail'} -f $jr -t") ||die"Can't open $ac{'mail_sendmail'} : $!";print AL$jg;close(AL); }elsif(!$ac{$z[585]}){die("sendmail: no mailer specified in setup options!\n"); }else{die("sendmail: unknown mailer '$ac{'mail_mailer'}' specified!\n"); }}sub pi{my($fb)=$_[0];my($mm)=$ag{$z[597]}||die("browse: you must pass a name/value for the 'fieldname'!\n"); my(%ao,$fc);if($fb ne$z[598]&&$fb ne$z[599]){die("browse: the first argument must be either 'dir' or 'file'!\n"); }if($ag{$z[600]}){&mn($z[601].$z[602].$ab{$z[0]}.$z[603]);} if($ag{$z[604]}){&mn($z[605].$z[602].$ab{$z[0]}.$z[603]);}if ($ag{$z[598]}){&mn($z[606].$z[602].$ab{$z[0]}.$z[603]);}if(!-d $ac{$z[607]}){delete$ac{$z[607]};}if($ag{$z[608]}){if(-f$ag{$z[608]}) {$ag{$z[608]}=~s!^(.+)(\\|/).*?$!$1!;}if(-d$ag{$z[608]}){$ag{$z[598]} =$ag{$z[608]};}}if($af{$z[609]}){$ag{$z[598]}=$ac{$z[607]}; }&gb("_browse_$fb.html",{});my$mo="/";$ao{$z[597]}=$ag{$z[597]}; if($ag{$z[600]}){$ao{$z[610]}=$ag{$z[610]};if(!$ag{$z[610]}) {$ad{$z[611]}=$z[612];}elsif($ag{$z[610]}=~m/[^\w\-]/i){$ad{$z[611]} =$z[613];}elsif(!mkdir("$ag{'cdir'}$mo$ag{'mkdir_name'}",0777)){ $ad{$z[611]}=$z[614].$!;}if($ad{$z[611]}){$ad{$z[611]}=&bu($z[611],\%ad); }}if($ag{$z[604]}){local(*AB);$ao{$z[615]}=$ag{$z[615]};if(!$ag{$z[615]}) {$ad{$z[616]}=$z[617];}elsif($ag{$z[615]}=~m/[^\w\-\.]/i){$ad{$z[616]} =$z[618];}elsif(-e"$ag{'cdir'}$mo$ag{'mkfile_name'}"){$ad{$z[616]} =$z[619];}elsif(!open(AB,">$ag{'cdir'}$mo$ag{'mkfile_name'}")) {$ad{$z[616]}=$z[620].$!;}close(AB);if($ad{$z[616]}){$ad{$z[616]} =&bu($z[616],\%ad);}}$ao{$z[598]}=$ag{$z[598]}||$ac{$z[607]} ||$ab{$z[512]};$ao{$z[598]}=~s/^(.+)(\\|\/)+$/$1/;$ao{$z[621]} =$ao{$z[598]};$ao{$z[621]}=~s!^([a-z]:)!$1/..!i;$ao{$z[622]} =($ao{$z[598]}=~m#^(.*)[\\/]#,$1||$mo);$ao{$z[623]}=&gc($ao{$z[622]}); $ao{$z[174]}.=&bu($z[622],\%ao)if($ao{$z[598]}=~m!.+(\\|/)!); if(!-e$ao{$z[598]}){$ao{$z[500]}=$z[624];}elsif(!-r$ao{$z[598]}) {$ao{$z[500]}=$z[625];}if($ao{$z[500]}){print"Content-type: text/html\n\n" unless($ab{$z[626]}++);$ao{$z[174]}.=&bu($z[500],\%ao);print &gb($z[627],\%ao);exit;}opendir(AC,"$ao{'dir2'}");my@fc=sort {lc$a cmp lc$b}grep(!/^\.+$/,readdir(AC));closedir(AC);my($az); foreach$az(@fc){-d"$ao{'dir'}$mo$az"||next;$ao{$z[50]}=$az; $ao{$z[628]}="$ao{'dir'}$mo$az";$ao{$z[628]}=~s/$mo+/$mo/g; $ao{$z[629]}=&gc($ao{$z[628]});($ao{$z[630]},$ao{$z[631]})= (stat($ao{$z[628]}))[7,9];next if$ao{$z[631]}eq"";$ao{$z[632]} =&as($ab{$z[40]},$ao{$z[631]});$ao{$z[174]}.=&bu($z[598],\%ao); $fc++;}my($es);foreach$es(@fc){-d"$ao{'dir'}$mo$es"&&next;$ao{$z[50]} =$es;$ao{$z[628]}="$ao{'dir'}$mo$es";($ao{$z[630]},$ao{$z[631]}) =(stat($ao{$z[628]}))[7,9];next if$ao{$z[631]}eq"";if($ao{$z[630]}) {$ao{$z[630]}=(int($ao{$z[630]}/1000)||1)."KB";}else{$ao{$z[630]} ="0KB";}$ao{$z[632]}=&as($ab{$z[40]},$ao{$z[631]});$ao{$z[628]} =~s/'/\\'/g;$ao{$z[628]}=~s/\\/\\\\/g;if(-f"$ao{'dir'}$mo$es") {$ao{$z[174]}.=&bu($z[599],\%ao);}else{$ao{$z[174]}.=&bu($z[633],\%ao); }$fc++;}if(!$fc){$ao{$z[174]}.=&bu($z[634],{});}print"Content-type: text/html\n\n" unless($ab{$z[626]}++);print&gb("_browse_$fb.html",\%ao);exit; }sub pj{my($jv,$jy);if($ENV{$z[318]}=~/^[\w\-]+\.gif$/){$jv =$z[635]."\n\n";}elsif($ENV{$z[318]}=~/^[\w\-]+\.jpg$/){$jv =$z[636]."\n\n";}else{return;}$jy=&gb($ENV{$z[318]},{},$z[334]); if($jy){binmode(STDOUT);print$jv ;print$jy ;exit;}}sub at{my $hu=$_[0]||die("time_adj: first argument must be time()\n"); if($ac{$z[637]}eq$z[535]){$hu+=$ac{$z[638]}*60*60;}if($ac{$z[637]} eq$z[639]){$hu-=$ac{$z[638]}*60*60;}if($ac{$z[640]}eq$z[535]) {$hu+=$ac{$z[641]}*60;}if($ac{$z[640]}eq$z[639]){$hu-=$ac{$z[641]}*60; }return$hu;}sub pk{my($ap,$mp,$mq,$mr,%mj);my(%ao,%ms);if(!$ag{$z[642]} &&!$ah{$z[581]}){&mk(undef,\%ao);}if($ag{$z[642]}){($mp,$mq) =(lc$ag{$z[581]},lc$ag{$z[643]});if(!$mp&&!$mq){&mk($z[584], \%ao);}if(!$mp||!$mq){&mk($z[584],\%ao);}$ap=sub{if(lc$ms{$z[581]} eq$mp&&lc$ms{$z[643]}eq$mq){$mr=$ms{$z[48]};}};&av($ae{$z[193]}, $ap,\%ms);if(!$mr){&mk($z[584],\%ao);}<($ae{$z[193]},\%ms, $mr);$ms{$z[522]}=$^T;$ms{$z[66]}=$^T;&dx($ae{$z[198]},\%ms, $mr);}else{($mp,$mq)=(lc$ah{$z[581]},lc$ah{$z[643]});if(!$mp ||!$mq){&mk($z[644],\%ao);}$ap=sub{if(($af{$z[645]}&&$ms{$z[66]} <$^T-60*$af{$z[645]})||$ms{$z[66]}<$^T-60*60*24){&lv($ae{$z[198]}, $ms{$z[48]});}elsif(lc$ms{$z[581]}eq$mp&&lc$ms{$z[643]}eq$mq) {$mr=$ms{$z[48]};}};&av($ae{$z[198]},$ap,\%ms);if(!$mr){&mk($z[644], \%ao);}<($ae{$z[198]},\%ms,$mr);$ms{$z[66]}=$^T;&dx($ae{$z[198]}, \%ms,$mr);}&mf($z[581],$mp);&mf($z[643],$mq);return%ms;}sub mk{if(!$ab{$z[626]}++){print$z [646]."\n\n";}my($jz)=$_[0]; my(%ao)=%{$_[1]||{}};&gb($z[647],{});foreach(keys%ao){$ao{$_} =&ff($ao{$_});}if($jz&&!$ab{$z[133]}{$z[134]}{$jz}){die($z[648]."'$jz' isn't defined!\n"); }if($jz){$ao{$z[549]}=&bu($jz,\%ao);}print&bu($z[649],{});if ($jz){print&bu($z[650],\%ao);}else{print&bu($z[642],\%ao);} print&bu($z[651],{});if($ab{$z[499]}){print"

";print"

$ab{'debug_output'}
" if($ab{$z[314]});}&mt();exit;}sub pl{&gb($z[647],{});&mf($z[581],''); &mf($z[643],'');$ac{$z[652]}=~s/^\s+|\s+$//g;if($ac{$z[652]} &&$ENV{$z[318]}=~/logoff/i){print"Content-type: text/html\n\n"; print qq|\n|;print qq|\n|; print qq|\n|;print qq|\n|; print qq|\n|;exit;}&mk();}sub mz{&gb($ae{$z[200]}->{$z[147]}, {});<($ae{$z[200]},\%ac,1);foreach(keys%ac){if(!/\W/&&$ac{$_} !~/\W/){$ac{$_."_$ac{$_}".$z[538]}=$z[539];$ac{$_."_$ac{$_}".$z[530]} =$z[531];}}$ac{$z[653]}=&as($ab{$z[40]},$^T);$ac{$z[638]}||= 0;$ac{$z[641]}||=0;$ac{$z[654]}=&as($ab{$z[40]},&at($^T));foreach (keys%ENV){$ac{"env_".lc($_)}=$ENV{$_};}$ac{$z[655]}=$^O;$ac{$z[656]} =$];$ac{$z[657]}||="not available";$ac{$z[658]}||=$ac{$z[659]}; $ac{$z[660]}=$ab{$z[512]};foreach(grep/^env_/,keys%ac){$ac{$_} =~s/(\W)(\w)/$1$2/g;}foreach(keys%ac){$ac{$_.$z[344]}= &gc($ac{$_})if/^dir/;$ac{$_}=~s/"/"/g;}if($^O!~/win32/i &&!$ac{$z[596]}&&defined$ab{$z[133]}{$z[134]}{$z[661]}){foreach ($z[662],$z[663],$z[664],$z[665],$z[666],$z[667],$z[668]){if (-e$_){$ad{$z[669]}.=&bu($z[661],{$z[628]=>$_});}}}my$mu=$z[670]; $mu=$z[671]if($ac{$z[671]});foreach(1..10){$mu="tab$_"if($ag{"setup_tab$_"} &&defined$ab{$z[133]}{$z[134]}{"tab$_"});}&ky($mu,\%ac);exit; }sub pm{&gb($z[672],{});$ad{$z[587]}=$ac{$z[587]};if(!$ag{$z[595]}) {print"Content-type: text/html\n\n";print&bu("testmail_form", {});exit;}print"Content-type: text/html\n\n";print&bu("testmail_response_header", {});my$jg;$jg.="X-Remote-Addr: $ENV{'REMOTE_ADDR'}\n";$jg.= "From: $ag{'from'}\n";$jg.="To: $ag{'to'}\n";$jg.="\n";$jg.= $ag{$z[549]};my%jh=(host=>$ac{$z[587]},helo=>$af{$z[588]}{$z[589]}, timeout=>$af{$z[588]}{$z[590]},debug=>0,pop3_auth=>$ac{$z[591]}, pop3_host=>$ac{$z[592]},pop3_user=>$ac{$z[593]},pop3_pass=> $ac{$z[594]},);if(!&mv($ag{$z[504]})){print"Invalid 'from' email!"; }elsif(!&mv($ag{$z[673]})){print"Invalid 'to' email!";}elsif ($ac{$z[591]}&&!$ac{$z[592]}){print"No POP3 server specified!"; }elsif($ac{$z[591]}&&!$ac{$z[593]}){print"No POP3 username specified!"; }elsif($ac{$z[591]}&&!$ac{$z[594]}){print"No POP3 password specified!"; }else{if(&ml($jg,\%jh)){print"Message sent successfully!";} else{print"There was an error: $ab{'error'}
\n";}}print&bu("testmail_response_footer", {});exit;}sub pn{&mw($z[674].$z[602].$ab{$z[0]}.$z[675]);&gb($ae{$z[200]}->{$z[147]}, {});&mx;if(!$ac{$z[565]}){&mz;}my$mu=$z[676];foreach(1..10) {$mu="saved_tab$_"if($ag{"setup_tab$_"}&&defined$ab{$z[133]}{$z[134]}{"saved_tab$_"}); }&ky($mu,{});exit;}sub mx{my($lg);if(defined$ag{$z[677]}){$ag{$z[677]} =~s/\s+//g;if(defined&na){if(!&na($ag{$z[677]})){$lg=$z[678]; }if(!$ag{$z[677]}){$lg=$z[679];}}if(!$ag{$z[680]}){$lg=$z[681]; }if(!$ag{$z[682]}){$lg=$z[683];}if($lg){$ad{$z[500]}=$lg;$ad{$z[684]} =$ag{$z[682]};$ad{$z[685]}=$ag{$z[680]};$ad{$z[686]}=$ag{$z[677]}; &ky($z[687],\%ad)}$ac{$z[682]}=$ag{$z[682]};$ac{$z[680]}=$ag{$z[680]}; $ad{$z[688]}=int sprintf($z[689],&na($ag{$z[677]}));$ab{$z[690]} =&nb();if(defined&nc&&$ac{$z[677]}ne$ag{$z[677]}){&nc;}}foreach (qw(uploadmax lhour_offset lmin_offset)){if(exists$ag{$_}){ $ag{$_}=int($ag{$_});}}foreach(qw(upload_height upload_width)) {if(exists$ag{$_}){$ag{$_}&&=int($ag{$_});}}foreach(grep{/_default_to$/i }keys%ag){my($nd,$el)=/^((.*)_default_to)$/;if($ag{$nd}=~/^null$/i) {$ag{$nd}='';}$ag{$el}||=$ag{$nd};}foreach(qw(publish_index publish_basename publish_fileext)) {$ag{$_}=~s/^\.+//;$ag{$_}=~s/\.+$//;}foreach(keys%ag){if((/^dir_/ ||/^url_/)&¬/^url_logoff$/){if(!$ag{$_}){next;}$ag{$_}=~ tr|\\|/|;if(/^url_/&&index($ag{$_},$z[132])>=0){next;}if(/^url_/ &&index($ag{$_},$z[691])>=0){next;}if(substr($ag{$_},-1,1)ne $z[64]){$ag{$_}.=$z[64];}}}my$ne=$ac{$z[692]};my$nf=$ac{$z[693]}; <($ae{$z[200]},\%ac,1);foreach(sort keys%ac){$ac{$_}=$ag{$_} if defined$ag{$_};}&dx($ae{$z[200]},\%ac,1);$ad{$z[694]}=$ac{$z[695]}; foreach(keys%ac){$ad{$z[516].$_}=$ac{$_}if/^ui_/;}$ad{$z[684]} =$ac{$z[682]};$ad{$z[685]}=$ac{$z[680]};$ad{$z[686]}=$ac{$z[677]}; $ad{$z[696]}=$ac{$z[697]};$ad{$z[698]}=$ac{$z[651]};$ad{$z[699]} =$ac{$z[700]};foreach(grep/^dir_/,keys%ac){$ac{$_}="$ab{'cgidir'}/$ac{$_}" if index($ac{$_},$z[29])==0;$ac{$_}=~tr|\\|/|;1 while$ac{$_} =~s|/[^/]+/\.\.||;}if(($ne ne$ac{$z[692]}||$nf ne$ac{$z[693]}) &&($ac{$z[692]}||$ac{$z[693]})){&ng($ae{$z[13]},sub{my$bk=shift; if($ac{$z[692]}&&$bk->{$z[86]}){$bk->{$z[75]}=~s/\n/
/g; undef$bk->{$z[86]};}if($ac{$z[693]}&&$bk->{$z[88]}){$bk->{$z[76]} =~s/\n/
/g;undef$bk->{$z[88]};}});}&am();}sub po{&mx; foreach(keys%ae){my$nh=$ae{$_}{$z[171]};if(defined&{$nh}){&{$nh}(); }}&ky($z[701],{});}sub ky{my($fw)=$_[0];my($ao)=$_[1];unless ($fw){die($z[702]."\n");}if(ref($_[1])ne$z[227]){die$z[703]."\n"; }my(%ao);if(!$ab{$z[626]}++){print$z [646]."\n\n";}&gb($z[647], {});print&bu($z[649],{});for(1..9){if($ai{$z[580]}>=$_&&$ab{$z[133]}{$z[134]}{$z[704].$_}) {$ao{$z[705]}.=&bu($z[704].$_,{});}if($ai{$z[580]}==$_&&$ab{$z[133]}{$z[134]}{$z[704].$_.$z[706]}) {$ao{$z[705]}.=&bu($z[704].$_.$z[706],{});}}$ad{$z[707]}="$ai{'name'} ($aj[$ai{'acl'}])"; $ao{$z[76]}=&bu($fw,$ao);print&bu($z[708],\%ao);print&bu($z[651], {});if($ab{$z[499]}>=2){print"

Stack Trace
"; my$cx=0;while(my($es,$dy,$fe)=(caller($cx++))[1,2,3]){print qq!

($fe) called from ($es) line ($dy)
\n!;}}if($ab{$z[499]}) {print"

";print"

$ab{'debug_output'}
"if($ab{$z[314]}); }&mt();exit;}sub mt{print$z [709]."\n";print$ad {$z[696]}.$z[710] .$ab{$z[4]}.$z[711].$ab{$z[712]}.$z[29].$ab{$z[713]}.")\n"; print$z [714].$ad{$z[688]}.$z[715].$ad{$z[684]}.$z[715].$ad{$z[685]} ."\n";printf($z[716]."\n",time()-$^T);print$z [717]."\n";}sub pp{my(@fc)=map"$ab{'datadir'}$ae{$_}{'datafile'}",keys%ae;my(@ni) =($ab{$z[278]});my($az,$es,$nj);foreach$az(sort@ni){if($az eq""){next;}if(!-d$az||!-w$az){$nj.="$az\n";}}foreach$es(sort @fc){$es=~s/\\/\//g;1 while$es=~s!/[^/]+/\.\./!/!;if(-f$es&& !-w$es){$nj.="$es\n";}}if($nj){&ak($z[277],$nj);}}sub mw{return unless$af{$z[609]};my$jg=shift;&mk($z[718],{$z[549]=>$jg}); }sub mn{return unless$af{$z[609]};my$jg=shift;$jg=&gc($jg); print"Content-type: text/html\n\n";print qq|\n| ;exit;}sub pq{&gb($ae{$z[200]}{$z[147]},{});my%nk;my$nl;foreach $nl(keys%{$ab{$z[719]}}){my%ao=($z[720]=>$nl,$z[721]=>$ab{$z[719]}{$nl} );$nk{$nl}[0]=&bu($z[722],\%ao);$nk{$nl}[1]=&bu($z[723],\%ao); }foreach$nl(keys%{$ab{$z[719]}}){my$nm=join'',map{$nk{$_}[$nl ==$_?1:0]}sort keys%{$ab{$z[719]}};$ad{$z[724].$nl}=&bu($z[725], {$z[726]=>$nm});}}1;;sub pr{my$nn=shift||die("ip2num : no ip or host specified!\n"); my($a,$b,$np,$nq,$ls);if($nn=~/[^0-9\.]/){my$jt=gethostbyname("$nn.") ||die("ip2num: Can't find IP for host '$nn'!\n");($a,$b,$np,$nq) =unpack($z[727],$jt);}else{($a,$b,$np,$nq)=split(/\./,$nn); }$ls+=$nq*(256**0);$ls+=$np*(256**1);$ls+=$b*(256**2);$ls+= $a*(256**3);return$ls;}sub ps{my$ls=shift||die("num2ip : no number specified!\n"); my($a,$b,$np,$nq);$a=($ls/256**3)% 256;$b=($ls/256**2)% 256; $np=($ls/256**1)% 256;$nq=($ls/256**0)% 256;return join$z[29], $a,$b,$np,$nq;}sub pt{my$hu=shift||time();$hu-=(localtime($hu))[6] * 60*60*24;$hu-=(localtime($hu))[2]* 60*60;$hu-=(localtime($hu))[1] * 60;$hu-=(localtime($hu))[0]* 1;return$hu;}sub pu{my$hu=shift ||time();$hu-=(localtime($hu))[2]* 60*60;$hu-=(localtime($hu))[1] * 60;$hu-=(localtime($hu))[0]* 1;return$hu;}sub pv{my$gm=int shift;my$gn=int($gm/60);my$go=int($gn/60);$gn%=60;$gm%=60;return sprintf("%01d:%02d:%02d",$go,$gn,$gm);}sub pw{my$ls=reverse int shift;$ls=~s/(...)\B/$1,/g;return reverse$ls;}sub by{my $ls=shift;if($ls==int($ls)){return$ls;}elsif($ls<0){return int$ls;}else{return int($ls)+1;}}sub px{my$ls=shift;if($ls== int($ls)){return$ls;}elsif($ls<0){return int($ls)-1;}else{return int$ls;}}sub bz{return(sort{$a<=>$b}@_)[0];}sub py{return(sort {$a<=>$b}@_)[-1];}1;;sub aw{local(*AB);my($es,%ev,$fv,$fw); %ev=%{$_[1]}if$_[1];my$nr=$_[3];my%fx;%fx=($z[332]=>0,$z[333] =>0,$z[334]=>0,$z[53]=>0,$z[343]=>0);foreach(split(/ /,$_[2])) {if(undef$fx{$_}){die($z[335]."'$_'\n");}$fx{$_}=1;}unless($fx{$z[332]}) {$fx{$z[333]}=1;}if(!$_[0]){die$z[336]."\n";}if(ref($_[1])ne $z[227]){die$z[337]."\n";}if((!$fx{$z[333]}||!$ab{$z[133]}{$z[333]}{$_[0]}) ){if(-e"$_[0]"){$es=$_[0];}else{foreach(grep/^templatedir/, sort keys%ab){if(-e"$ab{$_}/$_[0]"){$es="$ab{$_}/$_[0]";last; }}if(!$es){die$z[338]."'$_[0]'".$z[339]."\n";}}}if($fx{$z[333]} &&$ab{$z[133]}{$z[333]}{$_[0]}){$fv=$ab{$z[133]}{$z[333]}{$_[0]}; }else{open(AB,"<$es")||die$z[340]."$es! $!\n";binmode(AB)if ($es=~/gif$/i||$es=~/jpg$/i);read(AB,$fv,-s AB);close(AB);} if($fx{$z[334]}){return$fv;}if(!$fx{$z[333]}||!$ab{$z[133]}{$z[333]}{$_[0]}) {foreach$fw($fv=~m//g) {$ab{$z[133]}{$z[134]}{"$nr$1"}=$2 if($fv=~m/(?:\r\n|\n)?(.*?)/is); }$fv=~s/(?:\r\n|\n)?(.*?)//gis; if($fx{$z[333]}){$ab{$z[133]}{$z[333]}{$_[0]}=$fv;}}if($fx{$z[53]}) {while($fv=~//i){my$ns=$1; my$fy=$ns;$fy=~s/\$(\w+?)\$/defined$ad{$1}?$ad{$1}:$ev{$1}/eg; unless($fy){$fv=~s///;next; }if($fy=~m!^/!){;}else{if($_[4]){$fy="$_[4]$fy";}else{$fy=($es =~m!(.*/)!)[0].$fy;}}my$ga;if(not$ab{$z[133]}{$z[728]}{$fy}++) {my$nt;if(-e"$fy"){$nt++;}else{foreach(grep/^templatedir/,sort keys%ab){if(-e"$ab{$_}/$fy"){$nt++;last;}}}if($nt){$ga=&aw($fy, $_[1],"$_[2] inside_ssi",$z[729],$_[4]);}else{$ga="[ Program Error - Could not include file \"$fy\" via template include ]"; }}else{$ga="[ Program Error - Cyclic Include - The file '$fy' is included by itself (perhaps indirectly). Please check include files for other Include statements. ]"; }$fv=~s//$ga/;delete$ab{$z[133]}{$z[728]}{$fy}; }}else{$fv=~s///gi;}$fv=~s//$1/gi; $fv=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$ek=defined$ad{$1} ?$ad{$1}:$ev{$1};if($2 eq$z[344]){$ek=&gc($ek);}if($2 eq$z[345]) {$ek=&gd($ek);}if($2 eq$z[346]){$ek=&gd($ek);$ek=~s/ / /g; }if($2 eq$z[347]){$ek=&ge($ek);}$ek;]ge;return$fv;}sub br{my ($ht,$bk,$nr)=@_;$ht=~s|
(\s*\*\*\*image\d+(?:\:(\w+))?\*\*\*)|
$1|gsi; $ht=~s[\s*\*\*\*image(\d+)(?:\:(\w+))?\*\*\*\s*][if($2 eq$z[730]) {$bk->{$z[119].$1}}else{my%nu;$nu{$z[731]}=$2||$af{$z[732]}{$z[733]} ||$z[734];$nu{$z[735]}=$bk->{$z[119].$1};$nu{$z[736]}=$bk->{$z[120] .$1};$nu{$z[737]}=$bk->{$z[68].$1};$nu{$z[738]}=$bk->{$z[69] .$1};&bu($nr.($nu{$z[736]}ne''?$z[736]:$z[739]),\%nu);}]eigo; return$ht;}sub pz{my($ao,$bk,$nr,$nv,$nw,@nx)=@_;$ao->{$z[85]} =&br($nv,$bk,$nr);$ao->{$z[87]}=&br($nw,$bk,$nr);my$cx;for$cx (1..$ab{$z[6]}){$ao->{$z[121].$cx}=&br($nx[$cx-1],$bk,$nr); }}sub qa{my($ao,$nv,$nw,@nx)=@_;($ao->{$z[85]}=$nv)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g; ($ao->{$z[87]}=$nw)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g; my$cx;for$cx(1..$ab{$z[6]}){($ao->{$z[121].$cx}=$nx[$cx-1]) =~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;}}sub qb{my$fv=shift; my$hu=$ad{$z[39]}||&as($ab{$z[40]},$ac{$z[39]}||$^T);my$ny= $z[740].$ab{$z[0]}.$z[741];$$fv=$z[742].$hu.$z[743].$ab{$z[0]} .$z[744]."\n\n".$$fv;unless($$fv=~s/(]+>)/$ny\n$1/is) {$$fv=~s/(]*>)/$1\n$ny\n/i;}}sub hh{my$iz;eval{local $SIG{$z[745]}=undef;local$SIG{$z[746]}=undef;$iz=timelocal(@_); };if($@){$iz=0;}return$iz;}sub hg{my$iz;eval{local$SIG{$z[745]} =undef;local$SIG{$z[746]}=undef;$iz=timegm(@_);};if($@){$iz =0;}return$iz;}1;;%af=&nz("$cc/config.ini");$ad{$z[747]}=$af{$z[519]}{$z[748]} ||"#336699";$ab{$z[278]}=$af{$z[278]}||$z[749];$ab{$z[276]} =$af{$z[276]}||$z[750];$ab{$z[40]}=$af{$z[519]}{$z[40]}||$z[751]; $ab{$z[96]}=$af{$z[519]}{$z[96]}||$z[752];$ab{$z[98]}=$af{$z[519]}{$z[98]} ||$z[437];&ak($z[753])if!$ENV{$z[754]};&ak("macftp")if"¡"ne "\xA1";&ak($z[755])if$ENV{$z[756]}&&!$af{$z[757]};%ab=(%ab, $z[512]=>$cc,$z[758]=>$ca,$z[759]=>$ca,$z[63]=>$z[760],$z[761] =>$z[762],$z[763]=>$z[764],$z[626]=>0,);foreach(qw(datadir filelock templatedir1 templatedir2 templatedir3 archive)) {if(ref($ab{$_})){next;}$ab{$_}="$cc/$ab{$_}"if(index($ab{$_},$z[29]) ==0);$ab{$_}=~s|\\|/|g;1 while$ab{$_}=~s|/[^/]+/\.\./|/|;}<($ae{$z[200]}, \%ac,1);if(!$ac{$z[765]}){&ak($z[766]);}foreach(grep/^dir_/, keys%ac){$ac{$_}="$cc/$ac{$_}"if index($ac{$_},$z[29])==0;$ac{$_} =~tr|\\|/|;1 while$ac{$_}=~s|/[^/]+/\.\.||;}foreach(qw(prog_name prog_name2 prog_ver cgidir cgiurl publish_fileext)) {$ad{$z[516].$_}=$ab{$_};}foreach(qw(url_help reg1 reg2 reg3)) {$ad{$z[516].$_}=$ac{$_};}$ad{$z[27]}=$ac{$z[27]};$ad{$z[694]} =$ac{$z[695]};$ad{$z[696]}=join$z[767],grep{$_}$ab{$z[0]},$ac{$z[697]}; $ad{$z[768]}||=$ac{$z[697]};%ag=&oa;%ah=&ob;}sub ak{my($oc) =$ad{$z[131]};my($fb,$od,$oe)=@_;my(%of,$lg,$og);$od=&ff($od); $ad{$z[769]}||="#336699";%of=($z[537]=>[("Can't find record # $od", "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.")], $z[277]=>[("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:

$od")], $z[276]=>[("Warning: Persistent Filelock!","This web application uses temporary 'file locks' to ensure than only one user can update data at a time. The program was halted while in the middle of writing data and the file lock will need to be removed manually to avoid data corruption. Please ask your server administrator to remove the following directory:

$od")], $z[279]=>[($z[770],$z[771])],$z[772]=>[("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. ")], $z[773]=>[("Publishing Error","The program cannot create or write to the file:

$od

Please ask your server administrator to make sure the publish directory and publish file(s) are writable.")], $z[755]=>[("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.")], $z[753]=>[("This program can only be run through a web server.", "")],$z[774]=>[($z[775],$z[776])],$z[777]=>[("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:

$od")], $z[778]=>[("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:

$od")], );my($oh)=$ad{$z[779]}||$of{$fb}[0]||"Program Message";if($of{$fb}[0]) {$og=$of{$fb}[0];$lg=$of{$fb}[1];}elsif($od&&$fb){$og=&ff($fb); $lg=$od;}else{$og="Program Message";$lg=&ff($fb);}if(!$of{$fb}[1]) {$lg=~s/\n/

\n/g;}if($ab{$z[499]}){if(!$ENV{$z[754]}) {$lg.="\n\nSTACK TRACE\n";}else{$lg.="

Stack Trace
"; }my$cx=0;while(my($es,$dy,$fe)=(caller($cx++))[1,2,3]){if(!$ENV{$z[754]}) {$lg.=qq!($fe) called from ($es) line ($dy)\n!;}else{$lg.=qq!

($fe) called from ($es) line ($dy)
\n!; }}}if(!$ENV{$z[754]}){foreach($og,$lg){s/
/\n/gm;s/

/\n\n/gm; }foreach($og,$lg){s/<[^>]*>//gm;}print"\n$ab{'prog_name'} v$ab{'prog_ver'}\n$og\n$lg\n"; }else{if(!$ab{$z[626]}++){print"Cache-Control: no-cache\nPragma: no-cache\nExpires: -1\n"; print"Content-type: text/html\n\n";}my$oi=$z[780]if$oe;print qq|\n\n \n $oh\n \n \n\n

\n
\n
\n
\n \n

$og

\n $lg\n

\n
\n
\n
\n
\n
\n| ;}if($ab{$z[499]}&&$ab{$z[314]}){if(!$ENV{$z[754]}){print"$ab{'debug_output'}\n"; }else{print"

";print"

$ab{'debug_output'}"
if($ab{$z[314]});print"";}}if($ab{$z[275]}){rmdir($ab{$z[276]})
&&undef$ab{$z[275]};}if($ENV{$z[754]}){printf($z[781]."\n",time()-$^T);
print$z [782]."\n\n";}exit;}sub bt{my($fw,$id,$oj)=@_;if(defined
$ab{$z[133]}{$z[134]}{$fw.$oj}){$fw.=$oj;}&bu($fw,$id);}sub 
am{my@ok;my$cx;foreach$cx(1..3){my$ol=$ac{"sort${cx}field"};
next unless$ol;$ol="#$ol#"if$ac{"sort${cx}numeric"};$ol="-$ol"
if$ac{"sort${cx}reverse"};push@ok,$ol;}$ae{$z[13]}{$z[169]}
=join($z[783],@ok);}
# ----------------------------------------------------------------------------
#   Programming by interactivetools.com, inc.