#!/usr/bin/perl # ---------------------------------------------------------------------------- # Article Manager 1.31 # Copyright (C) 2003 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','312e3331','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','7075626c6973685f73706563696' .'679','75726c5f75706c6f6164','7075625f66696c657072656669785' .'f73706563696679','7075625f66696c65707265666978','7075626c6' .'973685f6361745f66696c65707265666978','75726c5f736561726368' .'5f63617465676f7279','6669656c6473','73756d6d617279','636f6' .'e74656e74','7370617265','737461747573','736561726368','696' .'76e6f72655f776f72645f626f756e646172696573','5c62','6b65797' .'76f7264','7365617263685f6d61746368','6172745f','6172745f73' .'756d6d617279','73756d6d6172795f666f726d6174','6172745f636f' .'6e74656e74','636f6e74656e745f666f726d6174','6172745f737061' .'7265','666f726d61745f7370617265','686f7572','616d706d','70' .'6d','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','7566696c655f646f63756d656e74','6172745f696d61676' .'55f75726c','63617074696f6e','6172745f6669656c64','726f77', '726f775f73756d6d617279','726f775f6c696e6b','726f775f756669' .'6c65','61727469636c655f6c697374','32','6e6f745f666f756e64', '70726576','707265765f75726c','5f63676975726c','3f','54656d' .'706c617465','63656c6c','6e6f5f70726576','6e657874','6e6578' .'745f75726c','6e6f5f6e657874','7365617263685f7470616765','7' .'365617263685f6370616765','7365617263685f6c6e756d','7365617' .'263685f686e756d','6361745f75706461746564','5343524950545f4' .'6494c454e414d45','6d656e755f686561646572','41727469636c652' .'0456469746f72','6d656e755f74656d706c617465','5f6172745f6d6' .'56e75732e68746d6c','61727469636c652e646174','6e756d2063726' .'56174656420637265617465645f6279207570646174656420757064617' .'465645f6279206d6f6e206461792079656172206e616d652073756d6d6' .'1727920636f6e74656e7420','73756d6d6172795f666f726d61742063' .'6f6e74656e745f666f726d61742063617420','7566696c655f696d616' .'76531207566696c655f696d61676532207566696c655f696d616765332' .'07566696c655f696d61676534207566696c655f696d616765352075666' .'96c655f696d61676536207566696c655f696d61676537207566696c655' .'f696d61676538207566696c655f696d61676539207566696c655f696d6' .'16765313020','63617074696f6e312063617074696f6e322063617074' .'696f6e332063617074696f6e342063617074696f6e352063617074696f' .'6e362063617074696f6e372063617074696f6e382063617074696f6e39' .'2063617074696f6e313020','686f7572206d696e20616d706d206f776' .'e6572206c696e6b206172745f74797065207566696c655f646f63756d6' .'56e742068696464656e20','696d6167656e616d653120696d6167656e' .'616d653220696d6167656e616d653320696d6167656e616d653420696d' .'6167656e616d653520696d6167656e616d653620696d6167656e616d65' .'3720696d6167656e616d653820696d6167656e616d653920696d616765' .'6e616d65313020','696d61676577696474685f696d6167653120696d6' .'1676577696474685f696d6167653220696d61676577696474685f696d6' .'167653320696d61676577696474685f696d6167653420696d616765776' .'96474685f696d6167653520696d61676577696474685f696d616765362' .'0696d61676577696474685f696d6167653720696d61676577696474685' .'f696d6167653820696d61676577696474685f696d6167653920696d616' .'76577696474685f696d616765313020','696d6167656865696768745f' .'696d6167653120696d6167656865696768745f696d6167653220696d61' .'67656865696768745f696d6167653320696d6167656865696768745f69' .'6d6167653420696d6167656865696768745f696d6167653520696d6167' .'656865696768745f696d6167653620696d6167656865696768745f696d' .'6167653720696d6167656865696768745f696d6167653820696d616765' .'6865696768745f696d6167653920696d6167656865696768745f696d61' .'6765313020','73746174757320','7370617265312073706172653220' .'7370617265332073706172653420737061726535207370617265362073' .'7061726537207370617265382073706172653920737061726531302073' .'706172653131207370617265313220','7374616d7020','7566696c65' .'5f696d6167653131207566696c655f696d6167653132207566696c655f' .'696d6167653133207566696c655f696d6167653134207566696c655f69' .'6d6167653135207566696c655f696d6167653136207566696c655f696d' .'6167653137207566696c655f696d6167653138207566696c655f696d61' .'67653139207566696c655f696d6167653230207566696c655f696d6167' .'653231207566696c655f696d6167653232207566696c655f696d616765' .'3233207566696c655f696d6167653234207566696c655f696d61676532' .'3520','696d6167656e616d65313120696d6167656e616d65313220696' .'d6167656e616d65313320696d6167656e616d65313420696d6167656e6' .'16d65313520696d6167656e616d65313620696d6167656e616d6531372' .'0696d6167656e616d65313820696d6167656e616d65313920696d61676' .'56e616d65323020696d6167656e616d65323120696d6167656e616d653' .'23220696d6167656e616d65323320696d6167656e616d65323420696d6' .'167656e616d65323520','696d61676577696474685f696d6167653131' .'20696d61676577696474685f696d616765313220696d61676577696474' .'685f696d616765313320696d61676577696474685f696d616765313420' .'696d61676577696474685f696d616765313520696d6167657769647468' .'5f696d616765313620696d61676577696474685f696d61676531372069' .'6d61676577696474685f696d616765313820696d61676577696474685f' .'696d616765313920696d61676577696474685f696d616765323020696d' .'61676577696474685f696d616765323120696d61676577696474685f69' .'6d616765323220696d61676577696474685f696d616765323320696d61' .'676577696474685f696d616765323420696d61676577696474685f696d' .'616765323520','696d6167656865696768745f696d616765313120696' .'d6167656865696768745f696d616765313220696d61676568656967687' .'45f696d616765313320696d6167656865696768745f696d61676531342' .'0696d6167656865696768745f696d616765313520696d6167656865696' .'768745f696d616765313620696d6167656865696768745f696d6167653' .'13720696d6167656865696768745f696d616765313820696d616765686' .'5696768745f696d616765313920696d6167656865696768745f696d616' .'765323020696d6167656865696768745f696d616765323120696d61676' .'56865696768745f696d616765323220696d6167656865696768745f696' .'d616765323320696d6167656865696768745f696d616765323420696d6' .'167656865696768745f696d616765323520','66696c656e616d6520', '7370617265313320737061726531342073706172653135207370617265' .'3136207370617265313720737061726531382073706172653139207370' .'617265323020','63617074696f6e31312063617074696f6e313220636' .'17074696f6e31332063617074696f6e31342063617074696f6e3135206' .'3617074696f6e31362063617074696f6e31372063617074696f6e31382' .'063617074696f6e31392063617074696f6e32302063617074696f6e323' .'12063617074696f6e32322063617074696f6e32332063617074696f6e3' .'2342063617074696f6e323520','666f726d61745f7370617265312066' .'6f726d61745f73706172653220666f726d61745f73706172653320666f' .'726d61745f73706172653420666f726d61745f73706172653520666f72' .'6d61745f73706172653620666f726d61745f73706172653720666f726d' .'61745f73706172653820666f726d61745f73706172653920666f726d61' .'745f7370617265313020666f726d61745f7370617265313120666f726d' .'61745f7370617265313220666f726d61745f7370617265313320666f72' .'6d61745f7370617265313420666f726d61745f7370617265313520666f' .'726d61745f7370617265313620666f726d61745f737061726531372066' .'6f726d61745f7370617265313820666f726d61745f7370617265313920' .'666f726d61745f73706172653230','736f72746279','2d237374616d' .'7023','7075626c6973685f737562','6d656e755f73756273','65726' .'17365','6c697374','74656d70','4372656174652041727469636c65', '5f7772697465725f6d656e75732e68746d6c','74656d702e646174','' .'43617465676f727920456469746f72','5f6361745f6d656e75732e687' .'46d6c','63617465676f72792e646174','6e756d20637265617465642' .'0637265617465645f6279207570646174656420757064617465645f627' .'9206e616d6520736f7264657220','74656d706c6174655f66696c6520' .'61727469636c655f74656d706c6174655f66696c6520686561646c696e' .'655f74656d706c6174655f66696c6520','7566696c655f696d6167652' .'07075625f66696c65707265666978207075625f66696c6570726566697' .'85f7370656369667920','706572706167655f696e6465782070657270' .'6167655f686561646c696e65732068696464656e207072696e7465725f' .'74656d706c6174655f66696c6520','696d61676577696474685f696d6' .'1676520696d6167656865696768745f696d616765207075625f7065727' .'06167655f7370656369667920','6469725f7075626c6973682075726c' .'5f7075626c697368207075626c6973685f73706563696679206469725f' .'75706c6f61642075726c5f75706c6f6164','23736f7264657223','41' .'726368697665204d616e61676572','5f617263686976655f6d656e757' .'32e68746d6c','617263686976652e646174','6e756d2063726561746' .'56420637265617465645f6279207570646174656420757064617465645' .'f6279206e616d6520636f756e74','236e756d23','6163636f756e74', '5f6163636f756e745f6d656e75732e68746d6c','6163636f756e742e6' .'461742e636769','6e756d206372656174656420637265617465645f62' .'79207570646174656420757064617465645f6279206e616d6520696420' .'70772061636c206e6f746573206361747320616c6c5f6361747320656d' .'61696c5f6361747320656d61696c5f616c6c5f6361747320656d61696c' .'5f6e6f74696669636174696f6e5f6576656e747320656d61696c','6e6' .'16d65206964','73657373696f6e','73657373696f6e2e6461742e636' .'769','7365747570','5f73657475705f6d656e75732e68746d6c','73' .'657475702e6461742e636769','6e756d207469746c65626172','2063' .'6f6e6669726d5f657261736520636f6e6669726d5f736176656420636f' .'6e6669726d5f6572617365642073657475705f7761726e696e67','207' .'5706c6f61646c696d69742075706c6f61646d61782075706c6f61645f6' .'865696768742075706c6f61645f77696474682075706c6f61646578742' .'06c686f7572206c686f75725f6f6666736574206c6d696e206c6d696e5' .'f6f6666736574207265673120726567322072656733206420632069','' .'206469725f62617365206469725f75706c6f6164206469725f7075626c' .'697368','2075726c5f696d6167652075726c5f68656c702075726c5f7' .'5706c6f61642075726c5f7075626c6973682075726c5f6c6f676f66662' .'07365617263685f75726c','2064656661756c745f6175746f666f726d' .'617420616c6c6f775f68746d6c20616c6c6f775f6172745f7479706573' .'206175746f5f7075626c697368','207075626c6973685f696e6465785' .'f66696c65707265666978207075626c6973685f686561646c696e655f6' .'6696c65707265666978207075626c6973685f6361745f66696c6570726' .'5666978207075626c6973685f6361745f686561646c696e655f66696c6' .'5707265666978207075626c6973685f6172745f66696c6570726566697' .'8207075626c6973685f6172745f7072696e7465725f66696c657072656' .'66978207075626c6973685f6361745f6c6973745f66696c65707265666' .'978207075626c6973685f73616d706c65725f66696c657072656669782' .'07075626c6973685f66696c65657874','207075626c6973685f696e64' .'65785f717479207075626c6973685f686561646c696e655f7174792070' .'75626c6973685f6361745f717479207075626c6973685f6361745f6865' .'61646c696e655f717479207075626c6973685f73616d706c65725f7174' .'79','207075626c6973685f696e646578207075626c6973685f6865616' .'46c696e6573207075626c6973685f636174207075626c6973685f63617' .'45f686561646c696e6573207075626c6973685f61727469636c6520707' .'5626c6973685f7072696e746572207075626c6973685f6c6973745f6f6' .'65f63617473207075626c6973685f73616d706c6572','207075626c69' .'73685f7365617263685f666f726d5f66696c6570726566697820707562' .'6c6973685f7365617263685f666f726d','20676361745f6e616d65','' .'20676c6f62616c5f75706461746564','20736669656c645f6e616d653' .'120736669656c645f6e616d653220736669656c645f6e616d653320736' .'669656c645f6e616d653420736669656c645f6e616d653520736669656' .'c645f6e616d653620736669656c645f6e616d653720736669656c645f6' .'e616d653820736669656c645f6e616d653920736669656c645f6e616d6' .'5313020736669656c645f6e616d65313120736669656c645f6e616d653' .'132','20736669656c645f6f726465723120736669656c645f6f726465' .'723220736669656c645f6f726465723320736669656c645f6f72646572' .'3420736669656c645f6f726465723520736669656c645f6f7264657236' .'20736669656c645f6f726465723720736669656c645f6f726465723820' .'736669656c645f6f726465723920736669656c645f6f72646572313020' .'736669656c645f6f72646572313120736669656c645f6f726465723132', '20736669656c645f747970653120736669656c645f7479706532207366' .'69656c645f747970653320736669656c645f747970653420736669656c' .'645f747970653520736669656c645f747970653620736669656c645f74' .'7970653720736669656c645f747970653820736669656c645f74797065' .'3920736669656c645f74797065313020736669656c645f747970653131' .'20736669656c645f747970653132','207075626c6973685f73796e646' .'9636174655f66696c65707265666978207075626c6973685f73796e646' .'9636174655f717479207075626c6973685f73796e64696361746520776' .'562666565645f67656e5f616374697665','2076206272616e64696e67' .'20666f6f746572207374617469635f617263686976655f706167657320' .'7669657765725f75726c207669657765725f70617468696e666f20616c' .'6c6f775f6172745f66696c656e616d65','20736669656c645f6e616d6' .'5313320736669656c645f6e616d65313420736669656c645f6e616d653' .'13520736669656c645f6e616d65313620736669656c645f6e616d65313' .'720736669656c645f6e616d65313820736669656c645f6e616d6531392' .'0736669656c645f6e616d653230','20736669656c645f6f7264657231' .'3320736669656c645f6f72646572313420736669656c645f6f72646572' .'313520736669656c645f6f72646572313620736669656c645f6f726465' .'72313720736669656c645f6f72646572313820736669656c645f6f7264' .'6572313920736669656c645f6f726465723230','20736669656c645f7' .'4797065313320736669656c645f74797065313420736669656c645f747' .'97065313520736669656c645f74797065313620736669656c645f74797' .'065313720736669656c645f74797065313820736669656c645f7479706' .'5313920736669656c645f747970653230','20736f7274316669656c64' .'20736f7274317265766572736520736f7274316e756d6572696320736f' .'7274326669656c6420736f7274327265766572736520736f7274326e75' .'6d6572696320736f7274336669656c6420736f72743372657665727365' .'20736f7274336e756d65726963','2073756d6d6172795f6e616d65206' .'36f6e74656e745f6e616d652073756d6d6172795f7479706520636f6e7' .'4656e745f747970652073756d6d6172795f656e61626c656420636f6e7' .'4656e745f656e61626c6564','20736669656c645f656e61626c656431' .'20736669656c645f656e61626c65643220736669656c645f656e61626c' .'65643320736669656c645f656e61626c65643420736669656c645f656e' .'61626c65643520736669656c645f656e61626c65643620736669656c64' .'5f656e61626c65643720736669656c645f656e61626c65643820736669' .'656c645f656e61626c65643920736669656c645f656e61626c65643130' .'20736669656c645f656e61626c6564313120736669656c645f656e6162' .'6c6564313220736669656c645f656e61626c6564313320736669656c64' .'5f656e61626c6564313420736669656c645f656e61626c656431352073' .'6669656c645f656e61626c6564313620736669656c645f656e61626c65' .'64313720736669656c645f656e61626c6564313820736669656c645f65' .'6e61626c6564313920736669656c645f656e61626c65643230','20707' .'5626c6973685f68696464656e5f696e64657820656d61696c5f6e6f746' .'96669636174696f6e5f656e61626c6564206d61696c5f73656e6465725' .'f656d61696c206d61696c5f73656e6465725f6e616d65206d61696c5f6' .'d61696c6572206d61696c5f73656e646d61696c206d61696c5f736d747' .'0206d61696c5f706f703361757468206d61696c5f706f7033206d61696' .'c5f706f703375736572206d61696c5f706f703370617373','48415348', '44425f5365656b203a2054686520666972737420617267756d656e7420' .'6d75737420626520612048415348207265666572656e636521','44425' .'f5365656b203a20546865207365636f6e6420617267756d656e74206d7' .'5737420626520612048415348207265666572656e636521','44425f53' .'65656b203a204e6f207365656b206669656c6420776173207370656369' .'6669656421','43','6669656c646e','44425f4c697374203a2054686' .'520666972737420617267756d656e74206d75737420626520612048415' .'348207265666572656e636521','434f4445','44425f4c697374203a2' .'0546865207365636f6e6420617267756d656e74206d757374206265206' .'120434f4445207265666572656e636521','44425f4c697374203a2054' .'686520746869726420617267756d656e74206d75737420626520612048' .'415348207265666572656e636521','44425f4c697374203a20416e6f6' .'e207375622024726f77636f6465206973206e6f7420646566696e65642' .'1','44425f4c697374203a204e6f206461746166696c6520646566696e' .'656420696e20646174616261736520646566696e6974696f6e20282544' .'424465662921','6e','2d','44425f4c697374203a2044424465662d3' .'e736f7274627920636f6e7461696e7320756e6b6e6f776e206669656c6' .'4206e616d6520','a1','44425f4c69737450616765203a20546865206' .'66972737420617267756d656e74206d757374206265206120484153482' .'07265666572656e636521','44425f4c69737450616765203a20546865' .'20746869726420617267756d656e74206d757374206265206120434f44' .'45207265666572656e636521','44425f4c69737450616765203a20416' .'e6f6e2073756220246d61746368636f6465206973206e6f74206465666' .'96e656421','44425f4c69737450616765203a204e6f20646174616669' .'6c6520646566696e656420696e20646174616261736520646566696e69' .'74696f6e20282544424465662921','44425f4c69737450616765203a2' .'044424465662d3e736f7274627920636f6e7461696e7320756e6b6e6f7' .'76e206669656c64206e616d6520','44425f4c69737453617665203a20' .'44424465662d3e736f7274627920636f6e7461696e7320756e6b6e6f77' .'6e206669656c64206e616d6520','414c4c','bf25303278','7072696' .'e7420224c6f636174696f6e3a20687474703a2f2f7777772e696e74657' .'2616374697665746f6f6c732e636f6d2f6e6e223b','5f5f454e445f5f', '44425f416464203a2054686520666972737420617267756d656e74206d' .'75737420626520612048415348207265666572656e636521','44425f4' .'16464203a20546865207365636f6e6420617267756d656e74206d75737' .'420626520612048415348207265666572656e636521','736f72646572', '44425f4c6f6164203a2054686520666972737420617267756d656e7420' .'6d75737420626520612048415348207265666572656e636521','44425' .'f4c6f6164203a20546865207365636f6e6420617267756d656e74206d7' .'5737420626520612048415348207265666572656e636521','44425f4c' .'6f6164203a204e6f207265636f7264206e756d62657220776173207370' .'6563696669656421','44425f44656c203a20546865206669727374206' .'17267756d656e74206d757374206265206120484153482072656665726' .'56e636521','44425f44656c203a20546865207365636f6e6420617267' .'756d656e74206d7573742062652061207265636f7264206e756d626572' .'21','44425f53617665203a2054686520666972737420617267756d656' .'e74206d75737420626520612048415348207265666572656e636521','' .'44425f53617665203a20546865207365636f6e6420617267756d656e74' .'206d75737420626520612048415348207265666572656e636521','444' .'25f53617665203a204e6f207265636f7264206e756d626572207761732' .'073706563696669656421','6d61785f66696c656c6f636b5f77616974', '6578636c7573697665','4152524159','556e6b6e6f776e206669656c' .'642022','2220696e20636f6e646974696f6e3c62723e3c62723e','4c' .'494b45','4e4f54204c494b45','3d3d','3c','3e','3c3d','3e3d', '213d','4245545745454e','4e4f54204245545745454e','494e','28', '207c7c20','29','4e4f5420494e','2128','556e6b6e6f776e206f70' .'657261746f722022','284066203d2073706c6974282fa12f2929','6d' .'792040663b2020407b247265635f6e6f7061636b7d203d206772657020' .'7b20','20262620','207d20407b247265635f6e6f7061636b7d3b','6' .'d792040663b2020666f72656163682028407b247265635f6e6f7061636' .'b7d29207b202069662028','29207b20246d617463685f6e6f7061636b' .'7b24665b305d7d2b2b3b207d207d','66696c6573797374656d','3d', '766172','436f756c646e27742066696e6420','21','66696c6573','' .'64697273','646972203a20556e6b6e6f776e2066696c6520747970652' .'03a20','26','64656275675f6f7574707574','6370203a2063616e27' .'74207265616420','6370203a2063616e277420777269746520','434f' .'4e54454e545f4c454e475448','51554552595f535452494e47','5265' .'6164466f726d203a20496e7075742065786365656473206d617820696e' .'707574206c696d6974206f6620','434f4e54454e545f54595045','52' .'4551554553545f4d4554484f44','504f5354','5f70617468','5f666' .'96c65','5f657874','474554','74727565','56','4d','41','44', '6e6f2d6361636865','6361636865','706c61696e','54656d706c617' .'4653a20556e6b6e6f776e2074656d706c61746520666c616720','5465' .'6d706c617465203a204e6f2074656d706c6174652066696c6520776173' .'2073706563696669656421','54656d706c617465203a2054686520736' .'5636f6e6420617267756d656e74206d757374206265206120484153482' .'07265666572656e636521','54656d706c617465203a2054656d706c61' .'74652066696c6520','20636f756c64206e6f7420626520666f756e642' .'1','54656d706c617465203a20436f756c646e2774206f70656e20','7' .'76562726f6f74','444f43554d454e545f524f4f54','696e736964655' .'f737369','5f7565','5f6865','5f6e627370','5f6a65','54656d70' .'6c61746543656c6c203a204e6f2074656d706c6174652063656c6c2077' .'61732073706563696669656421','54656d706c61746543656c6c203a2' .'054656d706c6174652063656c6c20','206973206e6f7420646566696e' .'656421','54656d706c61746543656c6c203a20546865207365636f6e6' .'420617267756d656e74206d75737420626520612048415348207265666' .'572656e636521','5a','61','7a','2b','422a','4d494d453634203' .'a204e6f7468696e6720746f206465636f6465','252525303278','536' .'574436f6f6b6965203a20436f6f6b6965206e616d65206d75737420626' .'520737065636966696564','536574436f6f6b6965203a204578706972' .'6520446174652069736e277420696e207365636f6e6473207573696e67' .'2074696d6528293b','30','657870697265733d','706174683d','64' .'6f6d61696e3d','7365637572653b20','5365742d436f6f6b69653a20', '485454505f434f4f4b4945','6c616e6775616765','6f7264696e616c' .'73','20307468','20317374','20326e64','20337264','20347468', '20357468','20367468','20377468','20387468','20397468','313' .'07468','31317468','31327468','31337468','31347468','313574' .'68','31367468','31377468','31387468','31397468','32307468', '32317374','32326e64','32337264','32347468','32357468','323' .'67468','32377468','32387468','32397468','33307468','333173' .'74','7765656b5f66756c6c','7765656b5f61626272','6d6f6e74685' .'f66756c6c','6d6f6e74685f61626272','25','62','42','63','256' .'d2f25642f25792025483a254d3a2553','256120256220256520255420' .'255a202559','64','25303264','256d2f25642f2579','65','25326' .'4','68','48','49','6a','25303364','6b','6c','6d','6f','70', '50','71','72','25493a254d3a2553202570','52','25483a254d','' .'73','53','74','54','25483a254d3a2553','55','77','57','78', '58','79','59','25303464','44617465537472696e67203a2054696d' .'652076616c7565206d75737420626520616e20696e7465676572','4a6' .'16e','466562','4d6172','417072','4d6179','4a756e','4a756c', '417567','536570','4f6374','4e6f76','446563','4a616e7561727' .'9','4665627275617279','4d61726368','417072696c','4a756e65', '4a756c79','417567757374','53657074656d626572','4f63746f626' .'572','4e6f76656d626572','446563656d626572','53756e','4d6f6' .'e','547565','576564','546875','467269','536174','53756e646' .'179','4d6f6e646179','54756573646179','5765646e6573646179', '5468757273646179','467269646179','5361747572646179','7374', '6e64','7264','7468','7e','2573','252d20353073','3c696e7075' .'7420747970653d68696464656e206e616d653d22','222076616c75653' .'d22','534d54505f73656e646d61696c','686f7374','706f7274','6' .'8656c6f','6c6f63616c686f7374','74696d656f7574','6465627567', '6572726f72','706f70335f61757468','5c62283f3a5b5c775c2d5d2b' .'5b5c775c2d5c2e5d292a5b5c775c2d5d2b5c40','283f3a5b5c775c2d5' .'d2b5b5c775c2d5c2e5d292a5b5c775c2d5d2b5c2e5b412d5a612d7a5d7' .'b322c387d5c62','66726f6d','706f70335f75736572','706f70335f' .'70617373','534d54505f706f703361757468','617574686f72697a65' .'64','706f70335f686f7374','706f70335f706f7274','706f70335f7' .'4696d656f7574','5f73756273','46485f437265617465','66696c65' .'6c6f636b696e67','6c6f636b','737461636b','736861726564','75' .'6e6c6f636b3a206e65737465642066696c656c6f636b20756e64657272' .'756e','66696c656c6f636b','6c6f636b696e666f','68616e646c65', '73657276657262757379','636769646972','2e2e2e','414e59','75' .'695f73756273','5f','65646974','636f6e6669726d5f6572617365', '7569','706167656e756d','64617465','63726561746564','5f6267' .'636f6c6f72','23454545454646','23444444444545','5f6d656e755' .'f686561646572','5f6d656e755f6e616d65','6d61785f7265636f726' .'473','6572726f725f6d61785f7265636f726473','5f73656c6563746' .'564','73656c6563746564','6e6f6e65','637265617465645f6279', '757064617465645f6279','616464','5f65646974','6e6f7265636f7' .'264','5f636865636b6564','636865636b6564','5f636f6e6669726d' .'5f6572617365','6572617365203a2043616e27742066696e642072656' .'36f7264202320','636f6e6669726d5f657261736564','65726173656' .'4','73617665203a205461626c65206e616d6520756e646566696e6564', '6469725f75706c6f6164','75706c6f6164657874','75706c6f61646c' .'696d6974','75706c6f61646d6178','6d657373616765','303030','' .'75695f736176655f75706c6f616473203a2063616e2774207361766520' .'75706c6f616465642066696c6520','75706c6f61645f686569676874', '75706c6f61645f7769647468','6f776e6572','696d61676577696474' .'68','696d616765686569676874','7566696c65','73617665','6d61' .'7873697a65','6d6178686569676874','6d61787769647468','61636' .'3657074657874','4e6f6e65','6572726f725f75706c6f61645f6e6f7' .'45f7361766564','636f6e6669726d5f7361766564','7361766564','' .'75695f6c697374203a2054686520666972737420617267756d656e7420' .'6d75737420626520612048415348207265666572656e636521','5f6c6' .'97374616c6c','5f7374617465','5f70657270616765','5f6c697374', '5f70636f756e74','5f6d636f756e74','5f72636f756e74','5f63706' .'16765','5f6c70616765','5f6e70616765','6e6f745f666f756e645f' .'736561726368','616363657373','61636c','6964','6572726f725f' .'757365726e616d655f74616b656e','6572726f725f6c6173745f61646' .'d696e','6c6f67696e5f696e76616c6964','6d61696c5f6d61696c657' .'2','736d7470','6d61696c5f736d7470','534d5450','736d74705f6' .'8656c6f','736d74705f74696d656f7574','6d61696c5f706f7033617' .'57468','6d61696c5f706f7033','6d61696c5f706f703375736572','' .'6d61696c5f706f703370617373','73656e646d61696c','6d61696c5f' .'73656e646d61696c','6669656c645f6e616d65','646972','66696c6' .'5','6d6b646972','546865206162696c69747920746f2063726561746' .'5206e6577206469726563746f7269657320686173206265656e2072656' .'d6f7665642066726f6d206f75722064656d6f2076657273696f6e2e202' .'0','4120726567697374657265642076657273696f6e206f6620','207' .'76f756c6420616c6c6f7720796f7520746f20646f20736f2e','6d6b66' .'696c65','546865206162696c69747920746f20637265617465206e657' .'72066696c657320686173206265656e2072656d6f7665642066726f6d2' .'06f75722064656d6f2076657273696f6e2e2020','546865206162696c' .'69747920746f2062726f7773652061726f756e6420796f757220736572' .'76657220686173206265656e2072656d6f7665642066726f6d206f7572' .'2064656d6f2076657273696f6e2e2020','6469725f62617365','7364' .'6972','64656d6f','6d6b6469725f6e616d65','6469725f6572726f7' .'2','4e6f206469726563746f7279206e616d6520737065636966696564' .'21','4469726563746f7279206e616d65206d6179206f6e6c7920636f6' .'e7461696e20412d5a2c20612d7a2c20302d392c202d206f72205f','55' .'6e61626c6520746f2063726561746520646972203a20','6d6b66696c6' .'55f6e616d65','66696c655f6572726f72','4e6f2066696c65206e616' .'d652073706563696669656421','46696c65206e616d65206d6179206f' .'6e6c7920636f6e7461696e20412d5a2c20612d7a2c20302d392c202d2c' .'205f206f72202e','46696c6520616c72656164792065786973747321', '556e61626c6520746f206372656174652066696c65203a20','6469723' .'2','706172656e74','706172656e745f7565','4469726563746f7279' .'20646f65736e277420657869737421','4469726563746f72792069736' .'e2774207265616461626c6521','636f6e74656e74686561646572','5' .'f62726f7773655f6469722e68746d6c','70617468','706174685f756' .'5','73697a65','6d74696d65','6d6f646966696564','6f74686572', '6e6f66696c6573','436f6e74656e742d747970653a20696d6167652f6' .'76966','436f6e74656e742d747970653a20696d6167652f6a706567', '6c686f7572','6c686f75725f6f6666736574','6d696e7573','6c6d6' .'96e','6c6d696e5f6f6666736574','6c6f67696e','7077','6c6f676' .'96e5f65787069726564','6c6f67696e5f74696d656f7574','436f6e7' .'4656e742d747970653a20746578742f68746d6c','5f696e7465726661' .'63652e68746d6c','75695f6c6f67696e5f696e746572666163653a207' .'4656d706c61746563656c6c20','686561646572','6c6f67696e5f6d6' .'57373616765','666f6f746572','75726c5f6c6f676f6666','737469' .'6d65','6c74696d65','656e765f7065726c5f6f73','656e765f70657' .'26c5f766572','656e765f6d6f645f7065726c','656e765f72656d6f7' .'4655f686f7374','656e765f72656d6f74655f61646472','656e765f6' .'36769646972','73656e646d61696c5f726f77','2f7573722f6c69622' .'f73656e646d61696c','2f7573722f62696e2f73656e646d61696c','2' .'f7573722f7362696e2f73656e646d61696c','2f7573722f6c6f63616c' .'2f62696e2f73656e646d61696c','2f7362696e2f73656e646d61696c', '2f62696e2f73656e646d61696c','2f6574632f73656e646d61696c','' .'73656e646d61696c5f6c697374','74616231','73657475705f776172' .'6e696e67','636c6f73655f77696e646f775f6f6e5f636f6e6669726d', '31','73657475705f746573746d61696c','5f73657475705f74657374' .'6d61696c2e68746d6c','5f636f6e74656e74','6d61696c5f74657374', '706167655f7469746c65','54657374204d61696c','6d61696c746f', '62616420656d61696c2061646472657373','496e76616c696420656d6' .'1696c2061646472657373','6e6f20656d61696c2061646472657373', '456d61696c2061646472657373206c65667420626c616e6b2e','63616' .'e74206f70656e2074657374206d657373616765','626164206d61696c' .'2074656d706c617465','7375622073656e646d61696c206572726f72', '20','6d61696c207465737420737563636565646564','796573','6d6' .'1696c5f746573745f6661696c6564','4572726f723a204e6f20456d61' .'696c2041646472657373','4572726f723a20496e76616c696420456d6' .'1696c2041646472657373','6e6f','4572726f723a2050726f626c656' .'d20776974682054657374204d657373616765','4572726f723a205072' .'6f62656c6d20776974682054657374204d657373616765','4572726f7' .'23a2050726f62656c6d2073656e64696e67204d657374204d657373616' .'765','6d61696c5f746573745f737563636565646564','54657374204' .'d61696c20537563636565646564','5f6261636b5f627574746f6e','5' .'46865206162696c69747920746f20616c746572205365747570204f707' .'4696f6e7320686173206265656e2072656d6f7665642066726f6d206f7' .'5722064656d6f2076657273696f6e2e2020','20776f756c6420616c6c' .'6f7720796f7520746f206368616e676520616e79206f66207468657365' .'206669656c64732e','73617665645f74616231','72656733','496e7' .'6616c69642050726f64756374204944213c62723e','596f75206d7573' .'7420656e74657220796f75722050726f64756374204944213c62723e', '72656732','596f75206d75737420656e74657220796f757220646f6d6' .'1696e206e616d65213c62723e','72656731','596f75206d757374206' .'56e74657220796f757220636f6d70616e79206e616d65213c62723e','' .'5f72656731','5f72656732','5f72656733','74616239','5f6c6963' .'656e73655f6e756d','25303764','6373756d','23','73756d6d6172' .'795f74797065','636f6e74656e745f74797065','5f696d6167657572' .'6c','75726c5f696d616765','5f75695f7469746c65','7469746c656' .'26172','5f75695f666f6f746572','5f75726c5f68656c70','75726c' .'5f68656c70','7075626c69736865645f616c6c','496e746572666163' .'65203a204e6f2074656d706c6174652063656c6c207761732073706563' .'696669656421','496e74657266616365203a20546865207365636f6e6' .'420617267756d656e74206d75737420626520612048415348207265666' .'572656e636521','6d656e756261725f61636c','6d656e75626172','' .'5f6f6e6c79','5f63757365725f6964','696e74657266616365','3c2' .'12d2d','2076','20284275696c643a20','70726f645f6964','70726' .'f675f6275696c64','4c6963656e73652023','207e20','4578656375' .'74652074696d653a2025303164207365636f6e6473','2d2d3e','6461' .'7461646972','6e6f7772697465','64656d6f5f6d657373616765','7' .'3657475705f74616273','7461625f6e756d','7461625f6e616d65','' .'7461625f756e73656c6563746564','7461625f73656c6563746564','' .'5f6865616465725f746162','7461625f626172','7461625f6c697374', '4334','54656d706c617465203a20546865207365636f6e64206172677' .'56d656e74206d75737420626520612048415348207265666572656e636' .'5206f7220756e646566696e656421','696e636c75646573','6173646' .'6','75726c','696d675f616c69676e','61727469636c655f65646974' .'6f72','696d6167655f616c69676e6d656e74','7269676874','696d6' .'75f75726c','696d675f63617074696f6e','696d675f686569676874', '696d675f7769647468','696d675f6e6f63617074696f6e','3c6d6574' .'61206e616d653d2267656e657261746f722220636f6e74656e743d22', '2c20687474703a2f2f7777772e696e746572616374697665746f6f6c73' .'2e636f6d223e','3c212d2d204c617374205570646174656420','2077' .'69746820','20627920696e746572616374697665746f6f6c732e636f6' .'d202d2d3e','5f5f4449455f5f','5f5f5741524e5f5f','656d61696c' .'5f6e6f74696669636174696f6e5f656e61626c6564','6e6f746966696' .'36174696f6e5f6576656e7473','2c','656d61696c','6576656e745f' .'6e616d6573','2d2d2d','7374617475735f6e616d6573','70656e646' .'96e67','76697369626c65','757365725f66756c6c6e616d65','6576' .'656e74','6172745f636174','75726c5f7468697370616765','61727' .'45f66696c656e616d65','6d61696c5f73656e6465725f656d61696c', '6d61696c5f73656e6465725f6e616d65','656d61696c2f6e6f7469667' .'92e747874','54686520656d61696c2074656d706c617465206e6f7469' .'66792e74787420697320696d70726f7065726c7920666f726d61747465' .'642e','436f6e74656e742d547970653a20746578742f706c61696e','' .'656d61696c5f616c6c5f63617473','656d61696c5f63617473','656d' .'61696c5f6e6f74696669636174696f6e5f6576656e7473','6e6f74696' .'669636174696f6e735f746f5f6669656c64','3b20','6361745f65726' .'17365','6361745f636f6e6669726d5f6572617365','637573746f6d5' .'f75695f736176655f75706c6f616473203a2063616e277420736176652' .'075706c6f616465642066696c6520','5f75695f6267636f6c6f72','6' .'267636f6c6f72','2e2e2f646174612f','2e2e2f646174612f66696c6' .'56c6f636b2e6c6f636b','256220256f2c202559202d2025483a254d3a' .'2553','25622025652c202559','6e6f5f7765625f736572766572','5' .'343524950545f4e414d45','6d6f645f7065726c','4d4f445f5045524' .'c','616c6c6f775f6d6f645f7065726c','63676975726c','63676966' .'696c65','2e2e2f74656d706c61746573','74656d706c617465646972' .'32','2e2e2f74656d706c617465732f696e74657266616365','74656d' .'706c61746564697233','2e2e2f5f736f757263655f696d61676573','' .'69','506c6561736520696e7374616c6c207468652070726f6772616d2' .'066697273742062792072756e6e696e672061646d696e2e636769','20' .'3a20','5f70726f675f6e616d65','75695f6267636f6c6f72','53657' .'276657220746f6f206275737921','41727469636c65732063616e6e6f' .'74206265206163636573736564206f7220736176656420726967687420' .'6e6f772e20536f6d656f6e6520656c736520697320747279696e672074' .'6f20736176652074686569722061727469636c652c206f722074686520' .'73797374656d20697320696e20746865206d69647374206f662072652d' .'7075626c697368696e67206f7220617263686976696e67206172746963' .'6c65732e20506c6561736520776169742061206d6f6d656e7420616e64' .'207468656e2074727920616761696e2e','6d6163667470','7075626c' .'697368','6e6f68656c70','4e6f2048656c7020417661696c61626c65', '536f7272792c206e6f2068656c702069732063757272656e746c792061' .'7661696c61626c6520666f722074686973206170706c69636174696f6e' .'2e2020506c6561736520636f6e7461637420796f75722073797374656d' .'2061646d696e6973747261746f7220666f7220617373697374616e6365' .'2e','4e6f20737563682066696c65206f72206469726563746f7279','' .'5065726d697373696f6e2064656e696564','75695f7469746c65','20' .'6f6e436c69636b3d2277696e646f772e636c6f736528293b2220','6e6' .'5737465645f6c6f636b73','3c212d2d20457865637574652074696d65' .'3a2025303164207365636f6e6473202d2d3e','3c212d2d20506f77657' .'2656420627920696e746572616374697665746f6f6c732e636f6d20286' .'96e666f40696e746572616374697665746f6f6c732e636f6d29202d2d3' .'e' );for(@z){$_=pack('H*',$_)}}use Socket;use Time::Local;use Fcntl qw(:DEFAULT :flock);%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 qh{;}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,%bh); $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]};if ($au{$z[70]}){$bh{$au{$z[48]}}{$z[27]}=$au{$z[27]};$bh{$au{$z[48]}}{$z[71]} =$au{$z[71]};}else{$bh{$au{$z[48]}}{$z[27]}=$ac{$z[27]};$bh{$au{$z[48]}}{$z[71]} =$ac{$z[71]};}$ad{$z[46]}.=$z[47].$au{$z[48]}.$z[49].$au{$z[50]}; if($au{$z[48]}){my$bi=$au{$z[72]}?$au{$z[73]}:$ac{$z[74]}.$au{$z[48]}; $bg{$au{$z[48]}}=$ac{$z[27]}.$bi.$z[29].$ac{$z[30]};}else{$bg{$au{$z[48]}} =$ad{$z[26]};}};&av($ae{$z[15]},$ap);if($ag{$z[15]}){$ad{$z[75]} =$bg{$ag{$z[15]}};}else{$ad{$z[75]}=$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@bj;if($ag{$z[76]}){@bj=split(/[\s,]+/,$ag{$z[76]});foreach (@bj){$_=~s/art_field/spare/ig;$_=~s/art_//ig;}}else{foreach ($z[50],$z[77],$z[78],map{$z[79].$_}1..$ab{$z[6]}){push(@bj,$_); }}my$bk;$ap=sub{my$bl=shift;return unless($bl->{$z[15]});return if($bl->{$z[80]}!=2);return if($bc{$bl->{$z[15]}});return if ($ag{$z[15]}&&$ag{$z[15]}!=$bl->{$z[15]});my$bm=sprintf($z[17], @{$bl}{qw/year mon day/});if($aq&&$ar){return unless($bm>=$aq &&$bm<=$ar);}elsif($aq){return unless($bm>=$aq);}elsif($ar) {return unless($bm<=$ar);}my$bn;my$bo=($af{$z[81]}{$z[82]}? '':$z[83]).quotemeta($ag{$z[84]});foreach(@bj){$bn++if($bl->{$_} =~m/$bo/i);}return if(defined$ag{$z[84]}&¬$bn);$ao{$z[85]}++; if($ao{$z[85]}>=$ag{$z[58]}&&$ao{$z[85]}<$ag{$z[58]}+$ag{$z[57]}) {my($bp,$bq);foreach$bp(keys%{$bl}){$bq->{$z[86].$bp}=$bl->{$bp}; }$bq->{$z[87]}=~s|\n|
\n|g if$bl->{$z[88]};$bq->{$z[89]} =~s|\n|
\n|g if$bl->{$z[90]};for(1..$ab{$z[6]}){$bq->{$z[91] .$_}=~s|\n|
\n|g if$bl->{$z[92].$_};}my@br=($bl->{$z[18]}, $bl->{$z[19]}-1,$bl->{$z[20]},$bl->{$z[93]}+($bl->{$z[94]}eq $z[95]?12:0),$bl->{$z[96]});$bq->{$z[97]}=&as($ab{$z[98]},@br); $bq->{$z[99]}=&as($ab{$z[100]},@br);$bq->{$z[16]}=$bl->{$z[15]}; $bq->{$z[101]}=$ba{$bl->{$z[15]}};$bq->{$z[102]}=$bb{$bl->{$z[15]}}; $bq->{$z[103]}=$bd{$bl->{$z[15]}};$bq->{$z[104]}=$be{$bl->{$z[15]}}; $bq->{$z[105]}=$bh{$bl->{$z[15]}}{$z[27]}.($ac{$z[106]}&&$bl->{$z[107]} ?$ac{$z[108]}.$bl->{$z[107]}:$ac{$z[108]}.$bl->{$z[48]}).$z[29] .$ac{$z[30]};$bq->{$z[42]}=$ac{$z[32]}.$bl->{$z[15]}.$z[29] .$ac{$z[30]};$bq->{$z[43]}=$ac{$z[44]}.$bl->{$z[15]}.$z[29] .$ac{$z[30]};$bq->{$z[109]}=$bg{$bl->{$z[15]}};$bq->{$z[110]} =$bh{$bl->{$z[15]}}{$z[27]}.($ac{$z[106]}&&$bl->{$z[107]}?$bl->{$z[107]} :$ac{$z[111]}.$bl->{$z[48]}).$z[29].$ac{$z[30]};if(defined$an) {if($ac{$z[112]}){$bq->{$z[110]}=$ac{$z[113]}.$z[64].$an.$z[64] .$bq->{$z[114]};}else{$bq->{$z[110]}=$ac{$z[113]}.$z[115].$an .$z[116].$bq->{$z[114]};}}if($bl->{$z[117]}==3){$bq->{$z[118]} ="http://$bl->{'link'}"unless($bl->{$z[118]}=~m|^\w+://|);$bq->{$z[110]} =$bl->{$z[118]}}if($bl->{$z[117]}==4){$bq->{$z[110]}=$bh{$bl->{$z[15]}}{$z[71]} .$bl->{$z[119]};}foreach(1..25){$bq->{$z[120].$_}=$bh{$bl->{$z[15]}}{$z[71]} .$bl->{"ufile_image$_"};$bq->{$z[121].$_}=$bl->{$z[121].$_}; $bq->{$z[69].$_}=$bl->{$z[69].$_};$bq->{$z[68].$_}=$bl->{$z[68] .$_};}$bq->{$z[87]}=&bs($bq->{$z[87]},$bq,'');$bq->{$z[89]} =&bs($bq->{$z[89]},$bq,'');foreach(1..$ab{$z[6]}){if($bq->{$z[91] .$_}=~/\*{3}image(\d+)(:\w+)?\*{3}/s){$bq->{$z[122].$_}=&bs($bq->{$z[91] .$_},$bq,'');}else{$bq->{$z[122].$_}=$bq->{$z[91].$_};}}my$bt =($z[123],$z[124],$z[125],$z[126])[$bl->{$z[117]}-1];$ao{$z[127]} .=&bu($bt,$bq,($bk++% 2==0)?'':$z[128]);}};&av($ae{$z[13]}, $ap);if(!$ao{$z[127]}){$ao{$z[127]}=&bv($z[129],{});$ao{$z[85]} =0;}else{if($ag{$z[58]}>1){my$bw=$ag{$z[58]}-$ag{$z[57]};$bw =1 if$bw<1;$ao{$z[130]}=&bv($z[130],{$z[131]=>$ad{$z[132]}. $z[133].&bx({%ag,$z[58]=>$bw})});}elsif(defined$ab{$z[134]}{$z[135]}{$z[136]}) {$ao{$z[130]}=&bv($z[136],{});}if($ao{$z[85]}>=$ag{$z[58]}+ $ag{$z[57]}){my$by=$ag{$z[58]}+$ag{$z[57]};$ao{$z[137]}=&bv($z[137], {$z[138]=>$ad{$z[132]}.$z[133].&bx({%ag,$z[58]=>$by})});}elsif (defined$ab{$z[134]}{$z[135]}{$z[139]}){$ao{$z[137]}=&bv($z[139], {});}}$ao{$z[140]}=&bz($ao{$z[85]}/$ag{$z[57]});$ao{$z[141]} =&bz($ag{$z[58]}/$ag{$z[57]});$ao{$z[142]}=$ag{$z[58]};$ao{$z[143]} =&ca($ag{$z[58]}+$ag{$z[57]}-1,$ao{$z[85]});if($ag{$z[15]}) {$ao{$z[101]}=$ba{$ag{$z[15]}};$ao{$z[144]}=&as($ab{$z[40]}, &at($bf{$ag{$z[15]}}))if$bf{$ag{$z[15]}};$ao{$z[102]}=$bb{$ag{$z[15]}}; $ao{$z[104]}=$be{$ag{$z[15]}}||1;$ao{$z[103]}=$bd{$ag{$z[15]}} ||1;}else{$ao{$z[101]}=$ac{$z[41]};$ao{$z[144]}=&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$cb=$0;$cb=~s/.*[\\\/]//;my@cc=($0,$ENV{$z[145]});my$cd= (grep(/$cgifile$/i&&s/^(.*)[\\\/].*/$1/,@cc))[0];$cd||=(($^O=~/mswin/i?`cd`:`pwd`)=~/(.*)/)[0]; $cd=~s/\\/\//g;if(!$cd){die("Can't determine cgi directory!\n"); }$ae{$z[13]}={$z[50]=>$z[13],$z[146]=>$z[147],$z[148]=>$z[149], $z[14]=>$z[150],$z[76]=>$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[169],$z[81]=>$z[50], $z[170]=>$z[171],$z[172]=>\&ce,$z[173]=>[[$z[174],\&cf],[$z[175], \&cg],],};$ae{$z[176]}={$z[50]=>$z[13],$z[146]=>$z[177],$z[148] =>$z[178],$z[14]=>$z[179],$z[76]=>$ae{$z[13]}{$z[76]},$z[81] =>$ae{$z[13]}{$z[81]},$z[170]=>$ae{$z[13]}{$z[170]},$z[173] =>[[$z[175],\&cg],],};$ae{$z[15]}={$z[50]=>$z[15],$z[146]=> $z[180],$z[148]=>$z[181],$z[14]=>$z[182],$z[76]=>$z[183].$z[184]. $z[185].$z[186].$z[187].$z[188],$z[81]=>$z[50],$z[170]=>$z[189], $z[172]=>\&ch,$z[173]=>[[$z[174],\&ci],[$z[175],\&cj],],};$ae{$z[12]} ={$z[50]=>$z[12],$z[146]=>$z[190],$z[148]=>$z[191],$z[14]=> $z[192],$z[76]=>$z[193],$z[81]=>$z[50],$z[170]=>$z[194],$z[173] =>[[$z[175],\&ck],],};$ae{$z[195]}={$z[50]=>$z[195],$z[148] =>$z[196],$z[14]=>$z[197],$z[76]=>$z[198],$z[81]=>$z[199],$z[170] =>$z[50],$z[173]=>[[$z[174],\&cl],[$z[175],\&cm],],};$ae{$z[200]} ={$z[50]=>$z[200],$z[14]=>$z[201],$z[76]=>$ae{$z[195]}{$z[76]}, };$ae{$z[202]}={$z[50]=>$z[202],$z[148]=>$z[203],$z[14]=>$z[204], $z[76]=>$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].$z[227] .$z[228],};1;;sub mi{my$ae=$_[0];my($cn)="$ab{'datadir'}$ae->{'datafile'}"; my(@co);if(ref($ae)ne$z[229]){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$cn){return(0);}&cp;open(AB,"<$cn")||&cq("DB_Count : Can't open '$cn'"); @co=grep/^\d/,;close(AB);&cr;my$bk=@co;return$bk||0;}sub mz{my$ae=$_[0];if(ref($ae)ne$z[229]){die$z[230]."\n";}if(defined($_[1]) &&ref($_[1])ne$z[229]){die$z[231]."\n";}if(!$_[2]){die$z[232]."\n"; }my($cn)="$ab{'datadir'}$ae->{'datafile'}";my(@bj)=split(/ /,$ae->{$z[76]}); my($ao)=$_[1]if defined($_[1]);my($cs)=grep{$bj[$_]eq$_[2]} (0..$#bj);my($ct)=$_[3];my($cu)=$_[4];my(@co);my(@cv);unless (-e$cn){return(0);}if(-e$cn){&cp;open(AB,"<$cn")||&cq("DB_Seek : Can't open '$cn'"); @co=;close(AB);&cr;}foreach(@co){/^(\d+)\¡/;($1&&$1>=$cu) ||next;s/[^¡]+$//;undef%$ao if defined($ao);@cv=split(/\¡/); next if($cv[$cs]ne$ct);if(defined($ao)){for(0..$#bj){$ao->{$bj[$_]} =$cv[$_];$ao->{$bj[$_]}=~s/¿([A-F0-9]{2})/pack($z[233],hex($1))/egix; }}return 1;}return 0;}sub av{my$ae=$_[0];my($cn)="$ab{'datadir'}$ae->{'datafile'}"; my(@bj)=split(/ /,$ae->{$z[76]});unless($ae->{$z[234]}){for (0..$#bj){$ae->{$z[234]}{$bj[$_]}=$_;}}my($ap)=$_[1];my($ao) =$_[2]||{};my($cw)=$_[3];my(@co);my(@cv);my($cx,$cy);my$cz; if(ref($ae)ne$z[229]){die$z[235]."\n";}if(ref($_[1])ne$z[236] &&$_[1]){die$z[237]."\n";}if(ref($_[2])ne$z[229]&&$_[2]){die $z[238]."\n";}if(!defined&$ap){die$z[239]."\n";}if(!$ae->{$z[14]}) {die$z[240]."\n";}unless(-e$cn){return(0);}&cp;open(AB,"<$cn") ||&cq("DB_List : Can't open '$cn'");@co=;close(AB);&cr; @co=grep/^\d/,@co;&da($ae,\@co,$cw);if($ae->{$z[170]}){my($db,$dc); foreach(split(/ /,$ae->{$z[170]})){if(s/#//g){$cx=$z[241];} else{$cx='';}if(s/-//g){$cy=$z[242];}else{$cy='';}if(!defined $ae->{$z[234]}{$_}){die($z[243]."'$_'!\n");}$dc.="$cy$ae->{'fieldn'}{$_}$cx "; }@co=&dd($z[244],$dc,\@co);}foreach(@co){s/[^¡]+$//;undef%$ao; @cv=split(/\¡/);for$cz(0..$#bj){$ao->{$bj[$cz]}=$cv[$cz];$ao->{$bj[$cz]} =~s/¿([A-F0-9]{2})/pack($z[233],hex($1))/egix;}&$ap($ao);}} sub mw{my($ae)=$_[0];my($de)=$_[1];my($df)=int$_[2]||1;my($dg) =int$_[3];my($dh)=$_[4];my($di)=$_[5];my($cx,$cy);my($dj,$dk,$cz); my($ao)={};if(ref($ae)ne$z[229]){die$z[245]."\n";}if(ref($_[1]) ne$z[236]&&$_[1]){die$z[246]."\n";}if(!defined&$de){die$z[247]."\n"; }if(!$ae->{$z[14]}){die$z[248]."\n";}my($cn)="$ab{'datadir'}$ae->{'datafile'}"; my(@bj)=split(/ /,$ae->{$z[76]});unless($ae->{$z[234]}){for (0..$#bj){$ae->{$z[234]}{$bj[$_]}=$_;}}my($dl,$dm,$dn,$dp,$dq) =(0,0,0,0,0);my(@co);my(@cv);unless(-e$cn){return(0,0,0,0,0,0); }&cp;open(AB,"<$cn")||&cq("DB_List : Can't open '$cn'");@co =;close(AB);&cr;@co=grep/^\d/,@co;&da($ae,\@co,$dh);$dn =scalar@co;&da($ae,\@co,$di);$dm=scalar@co;if($ae->{$z[170]}) {my($db,$dc);foreach(split(/ /,$ae->{$z[170]})){if(s/#//g){ $cx=$z[241];}else{$cx='';}if(s/-//g){$cy=$z[242];}else{$cy=''; }if(!defined$ae->{$z[234]}{$_}){die($z[249]."'$_'!\n");}$dc .="$cy$ae->{'fieldn'}{$_}$cx ";}@co=&dd($z[244],$dc,\@co);} $dk=($df*$dg)-($dg-1);$dj=$df*$dg;if($dj>$#co){$dj=$#co+1;} for($dk..$dj){$_=$co[$_-1];s/[^\¡]+$//;undef%$ao;@cv=split(/\¡/); for$cz(0..$#bj){$ao->{$bj[$cz]}=$cv[$cz];$ao->{$bj[$cz]}=~s/¿([A-F0-9]{2})/pack($z[233],hex($1))/egix; }&$de($ao);}$dg||=1;$dl=int($dm/$dg);if($dm%$dg){$dl++;}if(($df-1) <1||($df-1)>$dl){$dp=$dl;}else{$dp=$df-1;}if(($df+1)>$dl){$dq =1;}else{$dq=$df+1;}if(!$dl){$df=$dp=$dq=0;}return($dl,$dm, $dn,$df,$dp,$dq);}sub og{my$ae=$_[0];if(ref($ae)ne$z[229]){ 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[229]){die"DB_ListSave : Use of an output hash reference is depricated. Argument order has been changed.\n"; }my($cn)="$ab{'datadir'}$ae->{'datafile'}";my(@bj)=split(/ /,$ae->{$z[76]}); unless($ae->{$z[234]}){for(0..$#bj){$ae->{$z[234]}{$bj[$_]} =$_;}}my($ap)=$_[1];my($cw)=$_[2];my($dr)=$_[3];my($ao)=$_[4] ||{};my(@co,$ds,%dt);my(@cv,$cx,$cy,$cz);unless(-e$cn){return(0); }&cp;open(AB,"<$cn")||&cq("DB_List : Can't open '$cn'");@co =;close(AB);if($co[1]=~m/#(\d+)/){$ds=$1;}else{foreach(@co) {/^\d/||next;$dt{(split(/\¡/))[0]}=1;}$ds=(sort{$b<=>$a}keys %dt)[0];}@co=grep/^\d/,@co;my$du=&dv($ae,\@co,$cw);if($dr&& $ae->{$z[170]}){my($db,$dc);foreach(split(/ /,$ae->{$z[170]})) {if(s/#//g){$cx=$z[241];}else{$cx='';}if(s/-//g){$cy=$z[242]; }else{$cy='';}if(!defined$ae->{$z[234]}{$_}){die($z[250]."'$_'!\n"); }$dc.="$cy$ae->{'fieldn'}{$_}$cx ";}@co=&dd($z[244],$dc,\@co); }foreach(@co){if(!$du->{$z[251]}&&!$du->{(/^(\d+)/)[0]}){next; }s/[^¡]+$//;undef%$ao;@cv=split(/\¡/);for$cz(0..$#bj){$ao->{$bj[$cz]} =$cv[$cz];$ao->{$bj[$cz]}=~s/¿([A-F0-9]{2})/pack($z[233],hex($1))/egix; }&$ap($ao);if($ao->{num}){$_="$cv[$cz]¡";for$cz(1..$#bj){my($dw) =$ao->{$bj[$cz]};$dw=~s/[\x1a\r\n\¡\¿]/sprintf($z[252],ord($&))/egx; $_.="$dw¡";}$_.="\n";}else{undef$_;}}open(AB,">$cn.tmp$$")or &cq("DB_ListSave : Can't open '$cn.tmp$$' for writing");print AB qq|#!$^X\n|or&cq("DB_ListSave : Can't write section 1 header to '$cn.tmp$$'"); print AB qq|#$ds\n|or&cq("DB_ListSave : Can't write section 2 header to '$cn.tmp$$'"); print AB$z[253]."\n".$z[254]."\n"or&cq("DB_ListSave : Can't write section 3 header to '$cn.tmp$$'"); foreach(@co){/^\d/||next;s/[^¡]+$//;print AB"$_\n"or&cq("DB_ListSave: Can't write to $cn.tmp$$"); }close(AB)or&cq("DB_ListSave : Can't close $cn.tmp$$");rename("$cn.tmp$$",$cn) or&cq("DB_ListSave : Can't rename '$cn.tmp$$' to '$cn'.");&cr; }sub ef{my$ae=$_[0];if(ref($ae)ne$z[229]){die$z[255]."\n";} if(ref($_[1])ne$z[229]){die$z[256]."\n";}my($cn)="$ab{'datadir'}$ae->{'datafile'}"; my(@bj)=split(/ /,$ae->{$z[76]});my($ag)=$_[1];my($dx)=int$_[2]; my(@co);my(@cv);my(%dt);my($dy,$cz,$ds);&cp;if(-e$cn){open(AB,"<$cn") ||&cq("DB_Add : Can't open '$cn'");@co=;close(AB);}if($co[1] =~m/#(\d+)/){$ds=$1;}else{foreach(@co){/^\d/||next;$dt{(split(/\¡/))[0]} =1;}$ds=(sort{$b<=>$a}keys%dt)[0];}if($dx&&$dt{$dx}){&cr;return &dz(@_);}elsif($dx){$dy=$dx;}else{$dy=$ds=$ds+1;}$ag{$z[257]} =$dy;open(AB,">$cn.tmp$$")or&cq("DB_Add : Can't open '$cn.tmp$$' for writing"); print AB qq|#!$^X\n|or&cq("DB_Add : Can't write section 1 header to '$cn.tmp$$'"); print AB qq|#$ds\n|or&cq("DB_Add : Can't write section 2 header to '$cn.tmp$$'"); print AB$z[253]."\n".$z[254]."\n"or&cq("DB_Add : Can't write section 3 header to '$cn.tmp$$'"); foreach(@co){/^\d/||next;s/[^¡]+$//;print AB"$_\n"or&cq("DB_Add : Can't copy record to $cn.tmp$$ : $!\n"); }my($ea)="$dy¡";for$cz(1..$#bj){my($dw)=$ag->{$bj[$cz]};$dw =~s/[\x1a\r\n\¡\¿]/sprintf($z[252],ord($&))/egx;$ea.="$dw¡"; }print AB"$ea\n"or&cq("DB_Add : Can't add new record to $cn.tmp$$"); close(AB)or&cq("DB_Add : Can't close $cn.tmp$$");rename("$cn.tmp$$",$cn) or&cq("DB_Add : Can't rename '$cn.tmp$$' to '$cn'.");&cr;return $dy;}sub mj{my$ae=$_[0];my($eb,$ec,$ea)=caller;if(ref($ae)ne $z[229]){die$z[258]."\n";}if(ref($_[1])ne$z[229]){die$z[259]."\n"; }if(!$_[2]){die$z[260]."caller: $ea\n";}my($cn)="$ab{'datadir'}$ae->{'datafile'}"; my(@bj)=split(/ /,$ae->{$z[76]});my($ao)=$_[1];my($dt)=int$_[2]; my(@co);my(@cv);my($cz);unless(-e$cn){return(0);}if(-e$cn){ &cp;open(AB,"<$cn")||&cq("DB_Load : Can't open '$cn'");@co= ;close(AB);&cr;}foreach(@co){/^$dt\¡/||next;s/[^¡]+$//; undef%$ao;@cv=split(/\¡/);for$cz(0..$#bj){$ao->{$bj[$cz]}=$cv[$cz]; $ao->{$bj[$cz]}=~s/¿([A-F0-9]{2})/pack($z[233],hex($1))/egix; }return 1;}return 0;}sub ml{my$ae=$_[0];if(ref($ae)ne$z[229]) {die$z[261]."\n";}if(!$_[1]){die$z[262]."\n";}my($cn)="$ab{'datadir'}$ae->{'datafile'}"; my(@bj)=split(/ /,$ae->{$z[76]});my($dt)=int$_[1];my(%dj);my($ed) =0;for(1..$#_){$dj{$_[$_]}++;}my(@co,$ds,%dt);unless(-e$cn) {return(0);}&cp;if(-e$cn){open(AB,"<$cn")||&cq("DB_Del : Can't open '$cn'"); @co=;close(AB);}if($co[1]=~m/#(\d+)/){$ds=$1;}else{foreach (@co){/^\d/||next;$dt{(split(/\¡/))[0]}=1;}$ds=(sort{$b<=>$a }keys%dt)[0];}open(AB,">$cn.tmp$$")or&cq("DB_Del : Can't open '$cn.tmp$$' for writing"); print AB qq|#!$^X\n|or&cq("DB_Del : Can't write section 1 header to '$cn.tmp$$'"); print AB qq|#$ds\n|or&cq("DB_Del : Can't write section 2 header to '$cn.tmp$$'"); print AB$z[253]."\n".$z[254]."\n"or&cq("DB_Del : Can't write section 3 header to '$cn.tmp$$'"); foreach(@co){/^(\d+)\¡/||next;if($dj{$1}){$ed++;next;}s/[^¡]+$//; print AB"$_\n"or&cq("DB_Del : Can't copy record to $cn.tmp$$ : $!\n"); }close(AB)or&cq("DB_Del : Can't close $cn.tmp$$");rename("$cn.tmp$$",$cn) or&cq("DB_Del : Can't rename '$cn.tmp$$' to '$cn'.");&cr;return $ed;}sub dz{my$ae=$_[0];if(ref($ae)ne$z[229]){die$z[263]."\n"; }if(ref($_[1])ne$z[229]){die$z[264]."\n";}if(!$_[2]){die$z[265]."\n"; }my($cn)="$ab{'datadir'}$ae->{'datafile'}";my(@bj)=split(/ /,$ae->{$z[76]}); my($ag)=$_[1];my($dt)=int$_[2];my($ee)=0;my(@co);my(@cv);my($cz,$ao,$ds,%dt); if(!-e$cn){return&ef(@_);}&cp;open(AB,"<$cn")||&cq("DB_Save : Can't open '$cn'"); @co=;close(AB);if($co[1]=~m/#(\d+)/){$ds=$1;}else{foreach (@co){/^\d/||next;$dt{(split(/\¡/))[0]}=1;}$ds=(sort{$b<=>$a }keys%dt)[0];}open(AB,">$cn.tmp$$")or&cq("DB_Save : Can't open '$cn.tmp$$' for writing"); print AB qq|#!$^X\n|or&cq("DB_Save : Can't write section 1 header to '$cn.tmp$$'"); print AB qq|#$ds\n|or&cq("DB_Save : Can't write section 2 header to '$cn.tmp$$'"); print AB$z[253]."\n".$z[254]."\n"or&cq("DB_Save : Can't write section 3 header to '$cn.tmp$$'"); foreach(@co){/^\d/||next;if(/^$dt\¡/){my($ea)="$dt¡";for$cz (1..$#bj){my($dw)=$ag->{$bj[$cz]};$dw=~s/[\x1a\r\n\¡\¿]/sprintf($z[252],ord($&))/egx; $ea.="$dw¡";}print AB"$ea\n"or&cq("DB_Save : Can't save modified record to $cn.tmp$$"); $ee++;next;}s/[^¡]+$//;print AB$_,"\n"or&cq("DB_Save : Can't copy record to $cn.tmp$$"); }close(AB)or&cq("DB_Save : Can't close $cn.tmp$$");rename("$cn.tmp$$",$cn) or&cq("DB_Save : Can't rename '$cn.tmp$$' to '$cn'.");&cr;unless($ee) {return&ef(@_);}}sub cp{my$eg=$af{$z[266]}||5;&eh($z[267],$eg); }sub cr{my$eg=$af{$z[266]}||5;&ei($eg);}sub eu{my($ae,$ej,$ek) =@_;my(@el,@em);unless($ae->{$z[234]}){my(@bj)=split(/ /,$ae->{$z[76]}); for(0..$#bj){$ae->{$z[234]}{$bj[$_]}=$_;}}foreach(@{$ek}){my ($en,$eo,$ep)=@{$_};next if$ep eq'';if(ref($ep)eq$z[268]){foreach (@$ep){s/[\x1a\r\n\¡\¿]/sprintf($z[252],ord($&))/egx;$_=quotemeta($_); }}else{$ep=~s/[\x1a\r\n\¡\¿]/sprintf($z[252],ord($&))/egx;$ep =quotemeta($ep);}$eo=uc$eo;my$eq=$ae->{$z[234]}{$en};unless (defined$eq){&ak($z[269].$en.$z[270].&er($ek));}if($eo eq$z[271]) {push@el,"/$ep/i";push@em,"\$f[$eq] =~ /$ep/i";}elsif($eo eq $z[272]){push@em,"\$f[$eq] ne /$ep/i";}elsif($eo eq$z[273]) {push@el,"/¡$ep¡/i";push@em,"\$f[$eq] eq q/$ep/";}elsif($eo eq$z[274]||$eo eq$z[275]||$eo eq$z[276]||$eo eq$z[277]||$eo eq$z[278]){push@em,"\$f[$eq] $eo $ep";}elsif($eo eq$z[279]) {my($es,$et)=@{$ep};push@em,"\$f[$eq] >= $es && \$f[$eq] <= $et"; }elsif($eo eq$z[280]){my($es,$et)=@{$ep};push@em,"!(\$f[$eq] >= $es && \$f[$eq] <= $et)"; }elsif($eo eq$z[281]){push@em,$z[282].join($z[283],map{"\$f[$eq] eq q/$_/" }@{$ep}).$z[284];}elsif($eo eq$z[285]){push@em,$z[286].join($z[283], map{"\$f[$eq] eq q/$_/"}@{$ep}).$z[284];}else{&ak($z[287].$eo .$z[270].&er($ek));}}unshift(@em,$z[288])if@em;return(\@el, \@em);}sub da{my($ae,$rec_nopack,$ek)=@_;my($el,$em)=&eu($ae, $rec_nopack,$ek);return unless(@$el||@$em);my$ev=$z[289].join($z[290], @$el,@$em).$z[291];&ew($ev);eval$ev;&ew($@);}sub dv{my($ae, $rec_nopack,$ek)=@_;my($el,$em)=&eu($ae,$rec_nopack,$ek);return ({$z[251]=>1})unless(@$el||@$em);my%match_nopack;my$ev=$z[292] .join($z[290],@$em).$z[293];&ew($ev);eval$ev;&ew($@);return(\%match_nopack); }sub cq{my($ex)=(@_);my($ey)=$!;if($ey eq''){$ey="Unknown error. Maybe disk quota exceeded?"; }&ak($z[294],"$ex : $ey\n");}1;;sub pt{local(*AB);my($ez)=$_[0]; my(@fa,$fb,%fc);$fb=\%fc;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,"<$ez")||die("INI_Load : Could open ini file! $!\n"); @fa=;close(AB);foreach(@fa){/^\s*#/m&&next;if(/^\s*\[/m) {$fb=\%fc;foreach(/\[(.+?)\]/g){$fb=\%{$fb->{$_}};}next;}my $fd=index($_,$z[295]);if($fd>0){my$fe=substr($_,0,$fd);my$ep =substr($_,$fd+1);foreach($fe,$ep){s/^\s+//;s/\s+$//;}$fe=~ /[^a-zA-Z\/0-9_\-]/&&die("INI_Load : Invalid key '$fe' in ini file '$ez'!\n"); defined$fb->{$fe}&&die("INI_Load : Key '$fe' defined twice in ini file '$ez'!\n"); $fb->{$fe}=$ep;}elsif($fd==-1){my$fe=$_;for($fe){s/^\s+//;s/\s+$//; }if(!length$fe){next;}defined$fb->{$fe}&&die("INI_Load : Key '$fe' defined twice in ini file '$ez'!\n"); $fb->{$fe}=1;}}return%fc;}sub er{my$fb=$_[0];my$ff=$_[1];my $fg=$_[2]||$z[296];my$ao;if(ref($fb)eq$z[229]){foreach(sort keys%{$fb}){if(ref($fb->{$_})){$ao.=&er($fb->{$_},"$ff\{$_}"); }else{$ao.="\$$fg$ff"."{$_} = $fb->{$_}\n";}}}elsif(ref($fb) eq$z[268]){for(0..$#{$fb}){if(ref($fb->[$_])){$ao.=&er($fb->[$_],"$ff\[$_]"); }else{$ao.="\$$fg$ff"."[$_] = $fb->[$_]\n";}}}return$ao;}sub az{my($fh,$fi)=@_;my(%fj);local(*AC);if(!-e$fh){$!=$z[297].$fh.$z[298]; return(0);}if($fi&&$fi ne$z[299]&&$fi ne$z[300]){die($z[301]."$fi\n"); }opendir(AC,$fh);foreach(grep(!/^\.+$/,readdir(AC))){if($fi eq$z[299]){$fj{$_}++if-f"$fh/$_";}elsif($fi eq$z[300]){$fj{$_}++ if-d"$fh/$_";}else{$fj{$_}++;}}closedir(AC);return%fj;}sub ew{my$fk;my$cz;while(my($ez,$ea,$fl)=(caller($cz++))[1,2,3]) {$ez=~s/^.*[\/\\]//;$fl=~s/^main:://;unless($fl=~s/__ANON__/(anonymous)/) {$fl=$z[302].$fl;}$fk.=qq!$ez ($ea)¡called $fl¡¡!;}$fk=~s/\\/\\\\/g; $fk=~s/'/\\'/g;$fk=~s/¡/\\n/g;$ab{$z[303]}.=qq|>|; $ab{$z[303]}.=join("\n
",map{&fm($_)}@_)."
\n
"; }sub qi{my($fn,$fo)=@_;local(*AD);local(*AE);open(AD,"<$fn") ||die($z[304]."$fn : $!\n");open(AE,">$fo")||die($z[305]."$fo : $!\n"); binmode(AD);binmode(AE);print AE;close(AD);close(AE);}sub pu{my($fp)=$_[0];my($fe,$ep,$fq,@fr,$fs,%fc);my($ez,$fh,$ft); my($fu);binmode(STDIN);if($fp&&($ENV{$z[306]}||length$ENV{$z[307]}) >$fp){die($z[308]."$fp bytes\n");}($fu)=$ENV{$z[309]}=~/boundary=(?:"?)(\S+?)(?:"?)$/; if($ENV{$z[310]}eq$z[311]&&$ENV{$z[309]}=~m|^multipart/form-data|) {my$fs;read(STDIN,$fs,$ENV{$z[306]});foreach(split(/\n/,$fs)) {if(/^--$fu--/){$fs.="--$fu";last;}else{$fs.=$_;}}@fr=split(/--$fu/,$fs); foreach$fq(@fr){unless($fq=~/^(\r\n|\n)Content-Disposition/) {next;}($fe,$ep)=$fq=~/^(?:\r\n|\n)(.*?)(?:\r\n|\n){2}(.*?)(?:\r\n|\n)$/s; ($fh)=$fe=~/filename="([^"]+)"/;($fe)=$fe=~/name="([^"]+)"/; ($ez)=$fh=~/([^\/\\]+)$/;($ft)=$fh=~/\.(\w+)$/;if(!$fh){$fe =~s/\r\n/\n/g;$ep=~s/\r\n/\n/g;$fe=~s/\x00//g;$ep=~s/\x00//g; }$fc{$fe}=$ep;$fc{$fe.$z[312]}=$fh;$fc{$fe.$z[313]}=$ez;$fc{$fe.$z[314]} =$ft;}}else{if($ENV{$z[310]}eq$z[311]){read(STDIN,$fs,$ENV{$z[306]}); }elsif($ENV{$z[310]}eq$z[315]){$fs=$ENV{$z[307]};}@fr=split(/&/, $fs);foreach$fq(@fr){($fe,$ep)=split(/=/,$fq);$fe=~tr/+/ /; $ep=~tr/+/ /;$fe=~s/%([A-F0-9]{2})/pack($z[233],hex($1))/egi; $ep=~s/%([A-F0-9]{2})/pack($z[233],hex($1))/egi;$fe=~s/\r\n/\n/g; $ep=~s/\r\n/\n/g;$fe=~s/\x00//g;$ep=~s/\x00//g;if($fe=~/_multi$/) {push@{$fc{$fe}},$ep;}else{$fc{$fe}=$ep;}}}foreach(keys%fc) {if(/^(.*)(\.x|\.y)$/){$fc{$1}=$z[316];}}return%fc;}sub nq{ my($fv)=$_[0];my($fw,$fx)=split(/@/,$fv);if($fv eq''){return 0;}if($fv=~/[^A-Za-z0-9-_\.\@]/){return 0;}if($fw!~/^([\w\-]+[\w\-\.])*[\w\-]+$/) {return 0;}if($fx!~/^([\w\-]+[\w\-\.])*[\w\-]+\.[A-Za-z]{2,8}$/) {return 0;}return 1;}sub qj{my($fy,$fz)=@_;unless($fy eq$z[317] ||$fy eq$z[318]||$fy eq$z[319]||$fy eq$z[320]){return undef; }$fz=~s/[^\d]//g;my@ga=split//,$fz;unless(($fy eq$z[317]&&$ga[0] ==4)||($fy eq$z[318]&&$ga[0]==5)||($fy eq$z[319]&&$ga[0]==3) ||($fy eq$z[320]&&$ga[0]==6)){return undef;}unless(($fy eq$z[317] &&($#ga==12||$#ga==15))||($fy eq$z[318]&&$#ga==15)||($fy eq $z[319]&&$#ga==14)||($fy eq$z[320]&&$#ga==15)){return undef; }my$gb;for(my$fd=($#ga+1)% 2;$fd<=$#ga;$fd+=2){if($ga[$fd]< 5){$ga[$fd]*=2;}else{$ga[$fd]=($ga[$fd]* 2)-9}}foreach(@ga) {$gb+=$_;}unless($gb% 10==0){return undef;}return 1;}sub gi {local(*AB);my($ez,%fc,$gc,$gd);%fc=%{$_[1]}if$_[1];my%ge;%ge =($z[321]=>0,$z[322]=>0,$z[323]=>0,$z[53]=>0);foreach(split(/ /,$_[2])) {if(undef$ge{$_}){die($z[324]."'$_'\n");}$ge{$_}=1;}if(!$_[0]) {die$z[325]."\n";}if(ref($_[1])ne$z[229]){die$z[326]."\n";} if((!$ge{$z[322]}||!$ab{$z[134]}{$z[322]}{$_[0]})){if(-e"$_[0]") {$ez=$_[0];}else{foreach(grep/^templatedir/,sort keys%ab){if (-e"$ab{$_}/$_[0]"){$ez="$ab{$_}/$_[0]";last;}}if(!$ez){die $z[327]."'$_[0]'".$z[328]."\n";}}}if($ge{$z[322]}&&$ab{$z[134]}{$z[322]}{$_[0]}) {$gc=$ab{$z[134]}{$z[322]}{$_[0]};}else{open(AB,"<$ez")||die $z[329]."$ez! $!\n";binmode(AB)if($ez=~/gif$/i||$ez=~/jpg$/i); read(AB,$gc,-s AB);close(AB);}if($ge{$z[323]}){return$gc;}if ($ge{$z[53]}){$ab{$z[330]}||=$ENV{$z[331]};$ab{$z[330]}||die("Template: webroot isn't defined!
\n"); while($gc=~//g){my$gf=$1;if(($gf =~m!^/!)||(!$_[3])){$gf="$ab{'webroot'}/$gf";}else{my@gg=split $z[64],$ez;my$gg=join$z[64],@gg[0..$#gg-1];$gf="$gg/$gf";}my $gh=&gi($gf,$_[1],$_[2],$z[332]);$gc=~s//$gh/; }}if(!$ge{$z[322]}||!$ab{$z[134]}{$z[322]}{$_[0]}){foreach$gd ($gc=~m//g){$ab{$z[134]}{$z[135]}{$1}=$2 if($gc=~m/(?:\r\n|\n)?(.*?)/is); }$gc=~s/(?:\r\n|\n)?(.*?)//gis; if($ge{$z[322]}){$ab{$z[134]}{$z[322]}{$_[0]}=$gc;}}$gc=~s//$1/gi; $gc=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$ep=defined$ad{$1} ?$ad{$1}:$fc{$1};if($2 eq$z[333]){$ep=&gj($ep);}if($2 eq$z[334]) {$ep=&gk($ep);}if($2 eq$z[335]){$ep=&gk($ep);$ep=~s/ / /g; }if($2 eq$z[336]){$ep=&gl($ep);}$ep;]ge;return$gc;}sub bv{if (!$_[0]){die$z[337]."\n";}if(!defined$ab{$z[134]}{$z[135]}{$_[0]}) {die$z[338]."'$_[0]'".$z[339]."\n";}if(ref($_[1])ne"HASH"){ die$z[340]."\n";}local(*AB);my(%fc);%fc=%{$_[1]}if$_[1];my($gc) =$ab{$z[134]}{$z[135]}{$_[0]};$gc=~s/(?:\r\n|\n)?(.*?)//gs; $gc=~s//$1/gi;$gc=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][ my$ep=defined$ad{$1}?$ad{$1}:$fc{$1};if($2 eq$z[333]){$ep=&gj($ep); }if($2 eq$z[334]){$ep=&gk($ep);}if($2 eq$z[335]){$ep=&gk($ep); $ep=~s/ / /g;}if($2 eq$z[336]){$ep=&gl($ep);}$ep;]ge;return $gc;}sub qk{my($ag)=$_[0];my(@gm)=(($z[319]..$z[341],$z[342]..$z[343],0..9),$z[344],$z[64]); my($ao)=unpack($z[345],$ag);$ao=~s/(\d{6}|\d+$)/$gm[ord(pack$z[345],"00$1")]/ge; while(length($ao)%4){$ao.=$z[295];}return$ao;}sub ql{my($ag) =$_[0];my(%gm);my($ao);my$cz;for(($z[319]..$z[341],$z[342]..$z[343],0..9),$z[344],$z[64]){ $gm{$_}=$cz++}$ag=$_[0]||return$z[346];$ag=~s/[^A-Za-z0-9+\/]//g; $ag=~s/[A-Za-z0-9+\/]/unpack'B*',chr($gm{$&})/ge;$ag=~s/\d\d(\d{6})/$1/g; $ag=~s/\d{8}/$ao.=pack($z[345],$&)/ge;return$ao;}sub gj{my($gn) =$_[0];$gn=~s/([^A-Za-z0-9\*\.\@\_\-])/uc sprintf($z[347],ord($1))/egx; $gn=~tr/ /+/;return$gn;}sub hf{my($gn)=$_[0];$gn=~tr/+/ /;$gn =~s/%([A-F0-9]{2})/pack($z[233],hex($1))/egi;return$gn;}sub mv{my($go);my($fe,$ep,$gp,$fh,$gq,$gr)=@_;my($gs);if($fe eq ''){die($z[348]."\n");}if($gp&&$gp ne int($gp)){die($z[349]."\n"); }$ah{$fe}=$ep;if($gp){my($gt,$gu,$gv,$gw,$gx,$gy,$gz,$ha)=gmtime($gp); ($gt,$gu,$gv,$gw)=map{$_<10?$z[350].$_:$_}($gt,$gu,$gv,$gw); $gs=join('',(qw(Sun Mon Tue Wed Thu Fri Sat Sun))[$gz],", $gw-",(qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec))[$gx],$z[242],1900+$gy, " $hb$hc$gt GMT");}if($fe){$fe=&gj($fe);}if($ep){$ep=&gj($ep); }if($gp){$go.=$z[351]."$gs; ";}if($fh){$go.=$z[352]."$fh; "; }if($gq){$go.=$z[353]."$gq; ";}if($gr){$go.=$z[354];}print$z [355]."$fe=$ep; $go\n";}sub pv{my($hd,$fe,$ep,%he);foreach$hd (split(/; /,$ENV{$z[356]})){($fe,$ep)=split(/=/,$hd);foreach($fe,$ep) {$_=&hf($_);}$he{$fe}=$ep;}return%he;}sub as{my$hg=$_[0]||die("DateString: The first parameter must be a date or time format string\n"); $hg=~/\%/||die("DateString: The first parameter must contain a date format marker '%'\n"); my$hh=$_[1];my($gy,$gx,$gw,$hi,$gu,$gt,$gz,$ha);my@hj=(0,0,1,0,0,0); my$hk=$_[-1]=~/^GMT$/i;pop(@_)if$hk;if(scalar(@_)>=3){die("DateString: Too many arguments\n") if scalar(@_)>7;my$hl;foreach$hl(1..scalar(@_)-1){$hj[$hl-1] =$_[$hl];}($gy,$gx,$gw,$hi,$gu,$gt)=@hj;if($gw>28){($gy,$gx, $gw)=&hm($gy,$gx,$gw);}$hh=$hk?&hn($gt,$gu,$hi,$gw,$gx,$gy) :&ho($gt,$gu,$hi,$gw,$gx,$gy);}else{}($gt,$gu,$hi,$gw,$gx,$gy, $gz,$ha)=($hk?gmtime($hh):localtime($hh));my$hp;if(exists($ab{DateString}{rhNames})) {$hp=$ab{DateString}{rhNames};}else{$hp={$z[94]=>exists($af{$z[357]}{ampm}) ?[split(/,/,$af{$z[357]}{ampm})]:[qw(AM PM)],$z[358]=>exists($af{$z[357]}{ordinals}) ?[split(/,/,$af{$z[357]}{ordinals})]:[$z[359],$z[360],$z[361], $z[362],$z[363],$z[364],$z[365],$z[366],$z[367],$z[368],$z[369], $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]=>exists($af{$z[357]}{week_full}) ?[split(/,/,$af{$z[357]}{week_full})]:[qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)], $z[392]=>exists($af{$z[357]}{week_abbr})?[split(/,/,$af{$z[357]}{week_abbr})] :[qw(Sun Mon Tue Wed Thu Fri Sat)],$z[393]=>exists($af{$z[357]}{month_full}) ?[split(/,/,$af{$z[357]}{month_full})]:[qw(January February March April May June July August September October November December)], $z[394]=>exists($af{$z[357]}{month_abbr})?[split(/,/,$af{$z[357]}{month_abbr})] :[qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)],};$ab{DateString}{rhNames} =$hp;}my($hq,$hr)=(0,1);my$hs={$z[395]=>$z[395],$z[342]=>$hp->{week_abbr}[$gz], $z[319]=>$hp->{week_full}[$gz],$z[396]=>$hp->{month_abbr}[$gx], $z[397]=>$hp->{month_full}[$gx],$z[398]=>$z[399],$z[233]=>$z[400], $z[401]=>sprintf($z[402],$gw),$z[320]=>$z[403],$z[404]=>sprintf($z[405], $gw),$z[406]=>$hp->{month_abbr}[$gx],$z[407]=>sprintf($z[402], $hi),$z[408]=>sprintf($z[402],$hi% 12||12),$z[409]=>sprintf($z[410],$ha +1),$z[411]=>sprintf($z[405],$hi),$z[412]=>sprintf($z[405], $hi% 12||12),$z[413]=>sprintf($z[402],$gx+1),$z[318]=>sprintf($z[402], $gu),$z[241]=>"\n",$z[414]=>$hp->{ordinals}[$gw],$z[415]=>$hp->{ampm}[$hi >=12?1:0],$z[416]=>lc($hp->{ampm}[$hi>=12?1:0]),$z[417]=>int($gx /3)+1,$z[418]=>$z[419],$z[420]=>$z[421],$z[422]=>$hh,$z[423] =>sprintf($z[402],$gt),$z[424]=>"\t",$z[425]=>$z[426],$z[427] =>&ht($hq,$gz,$ha),$z[428]=>$gz,$z[429]=>&ht($hr,$gz,$ha),$z[430] =>$z[403],$z[431]=>$z[426],$z[432]=>sprintf($z[402],$gy% 100), $z[433]=>sprintf($z[434],$gy+1900),$z[341]=>'',$z[343]=>'', };$hg=&hu($hs,$hg);return$hg;}sub hu{my($hs,$hg)=@_;$hg=~s/%(O?[%a-zA-Z])/&hv($hs, $1)/sgeox;return$hg;}sub hv{my$hw=$_[1];return(exists($_[0]->{$hw})) ?($_[0]->{$hw}=~/\%/&&$hw ne$z[395]?&hu($_[0],$_[0]->{$hw}) :$_[0]->{$hw}):"\%$hw";}sub ht{my($hx,$gz,$ha)=@_;$gz=($gz+ 7-$hx)% 7;return int(($ha-$gz+13)/7-1);}sub hm{my($gy,$gx,$hy) =@_;return@_ if$hy<=28;my$hz;if($gx==1){if(($gy% 4==0)&&(!($gy % 100==0)||($gy% 400==0))){$hz=29;}else{$hz=28;}}elsif($gx== 3||$gx==5||$gx==8||$gx==10){$hz=30;}else{$hz=31;}return($gy, $gx,$hy<$hz?$hy:$hz);}sub qm{my$ia=$_[0];my$ib=$_[1]||die("DateString: The second argument must time()\n"); my$AF=$_[2];if($ib ne int($ib)){die($z[435]."\n");}my($gt,$gu,$gv,$hy,$gx,$gy,$gz); if($AF){($gt,$gu,$gv,$hy,$gx,$gy,$gz)=gmtime($ib);}else{($gt,$gu,$gv,$hy,$gx,$gy,$gz) =localtime($ib);}if($ib=~tr/://){($gy,$gx,$hy,$gv,$gu,$gt,$gz) =split(/:/,$ib);$gy-=1900;$gx-=1;foreach($gy,$gx,$hy,$gv,$gu,$gt,$gz) {$_||=0;}}my(%gz,%ic,%gx,%id);my@gx=($z[436],$z[437],$z[438],$z[439],$z[440],$z[441],$z[442],$z[443],$z[444],$z[445],$z[446],$z[447]); my@id=($z[448],$z[449],$z[450],$z[451],$z[440],$z[452],$z[453],$z[454],$z[455],$z[456],$z[457],$z[458]); my@gz=($z[459],$z[460],$z[461],$z[462],$z[463],$z[464],$z[465]); my@ic=($z[466],$z[467],$z[468],$z[469],$z[470],$z[471],$z[472]); foreach(@gz){$gz{lc$_}++;}foreach(@ic){$ic{lc$_}++;}foreach (@gx){$gx{lc$_}++;}foreach(@id){$id{lc$_}++;}$ia=~s/\b[A-Za-z]{3,9}\b/ if($gz{lc$&}){if(uc($&)eq$&){uc$gz[$gz];}elsif(lc($&)eq$&){ lc$gz[$gz];}else{ucfirst lc$gz[$gz];}}elsif($ic{lc$&}){if(uc($&) eq$&){uc$ic[$gz];}elsif(lc($&)eq$&){lc$ic[$gz];}else{ucfirst lc$ic[$gz];}}elsif($gx{lc$&}){if(uc($&)eq$&){uc$gx[$gx];}elsif (lc($&)eq$&){lc$gx[$gx];}else{ucfirst lc$gx[$gx];}}elsif($id{lc $&}){if(uc($&)eq$&){uc$id[$gx];}elsif(lc($&)eq$&){lc$id[$gx]; }else{ucfirst lc$id[$gx];}}else{$&;}/ge;$ia=~s/\d{1,4}\b/if (length$&==4){$gy+1900;}elsif(length$&<=2){if(substr($&,0,1) eq 0){sprintf($z[402],$hy);}else{$hy;}}else{$&;}/ge;$ia=~s/(\d{1,2})(st|nd|rd|th)/ if($hy==1||$hy==21||$hy==31){$hy.$z[473];}elsif($hy==2||$hy ==22){$hy.$z[474];}elsif($hy==3||$hy==23){$hy.$z[475];}else {$hy.$z[476];}/gei;$ia=~s/YYYY/sprintf($z[434],$gy+1900)/gei; $ia=~s/YY/sprintf($z[402],$gy%100)/gei;$ia=~s/MO\b/sprintf($z[402],$gx+1)/gei; $ia=~s/DD/sprintf($z[402],$hy)/gei;$ia=~s/SS/sprintf($z[402],$gt)/gei; $ia=~s/MM/sprintf($z[402],$gu)/gei;$ia=~s/HH/sprintf($z[402],$gv)/gei; return$ia;}sub dd{my($ie,$dc,$arrayref_nopack)=@_;my(@f_nopack,$db,$ig, $ih,$ii,$cz);my($cx,$cy);$cz=0;foreach(split(/ /,$dc)){if(s/\#//g) {$cx=1;}elsif(s/n//g){$cx=1;}else{$cx=0;}if(s/\-//g){$cy=$z[477]; }elsif(s/\+//g){$cy='';}else{$cy='';}s/[^0-9]//gs;push(@f_nopack,$_); if($cx){$db+=15;$ih.=$z[478];$ii.=qq|$cy sprintf('%015s',int(substr(\$str[$cz]*100,0,15))),|; }else{$db+=50;$ih.=$z[479];$ii.="$cy substr(\$str[$cz],0,50),"; }$cz++;}$ig.=qq|return map { substr(\$_,$db) } sort map {\n|; $ig.=qq| my \@str = (split(/\\$ie/,lc \$_))[\@f_nopack];\n|; $ig.=qq| sprintf("$ih\%s" ,$ii\$_);\n|;$ig.=qq| } \@\$arrayref_nopack;\n|; eval$ig;}sub gl{my$ij=shift;$ij=~s/\\/\\\\/g;$ij=~s/'/\\'/g; $ij=~s/\n/\\n/g;$ij=~s/\r/\\r/g;$ij=~s/\000//g;$ij=~s/-->/--'+'>/g; $ij=~s!!!g;return$ij;}sub fm{my$ik=shift; $ik=~s/&/&/g;$ik=~s/"/"/g;$ik=~s//>/g; return$ik;}sub gk{my$ik=shift;$ik=~s/&([^\w#]|$)/&$1/g; $ik=~s/"/"/g;$ik=~s//>/g;return$ik; }sub qn{my$ik=shift;$ik=~s//>/g;return$ik; }sub bx{my$il=shift;my%im=map{$_,1}@_;return join($z[302],map {$im{$_}?():&gj($_).$z[295].&gj($il->{$_})}keys%{$il});}sub qo{my$il=shift;my%im=map{$_,1}@_;return join("\n",map{$im{$_} ?():$z[480].&fm($_).$z[481].&fm($il->{$_}).$z[49]}keys%{$il}); }sub ms{$_=$_[0];/\.gif$/i&&return(&in($_[0]));(/\.jpeg$/i|| /\.jpg$/i)&&return(&io($_[0]));/\.png$/i&&return(&ip($_[0])); undef;}sub ip{my($ec)=@_;my($iq);open(PNG,$ec)||return(undef, undef,"PNG - Couldn't Open $ec");binmode(PNG);seek(PNG,12,0); read(PNG,$iq,4);if($iq ne"IHDR"){close PNG;return(undef,undef, "PNG - Missing Image Header - $iq");}read(PNG,$iq,8);close PNG;return unpack("NN",$iq);}sub io{my($ec)=@_;my($iq,$ir,$is, $it,$iu);open(JPEG,$ec)||return(undef,undef,"JPEG - Couldn't Open $ec"); binmode(JPEG);read(JPEG,$iq,2);while(1){read(JPEG,$ir,4);($is, $it,$iu)=unpack("a a n",$ir);if($is ne"\xFF"){close JPEG;return(undef, undef,"JPEG - Marker not Found");}if((ord($it)>=0xC0)&&(ord($it) <=0xC3)){read(JPEG,$iq,5);close(JPEG);my($iv,$iw)=unpack("xnn", $iq);return($iw,$iv);}else{read(JPEG,$iq,$iu-2);}}}sub je{my ($ix,$iy)=@_;my($iz);read($ix,$iz,$iy);while(1){if(eof($ix)) {close AG;return(undef);}read($ix,$iz,1);last if ord($iz)== 0;read($ix,$iz,ord($iz));}1;}sub in{my($ec)=@_;my($iq,$fi,$ja, $jb,$iw,$jc,$iv,$jd);open(AG,$ec)||return(undef,undef,"GIF - Couldn't Open $ec"); binmode(AG);read(AG,$fi,6);read(AG,$iq,7);if(length($iq)!=7) {close AG;return(undef,undef,"GIF - Corrupted Header");}($iw) =unpack("x4 C",$iq);if($iw&0x80){$ja=3*(2**(($iw&0x07)+1)); read(AG,$jb,$ja);if(!$jb){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,$iq,1);($iw)=unpack("C",$iq);if($iw==0x2c){read(AG, $iq,8);if(length($iq)!=8){close AG;return(undef,undef,"GIF - Missing Image Header"); }($iw,$jc,$iv,$jd)=unpack("x4 C4",$iq);close(AG);return($iw +$jc* 256,$iv+$jd* 256);}if($iw==0x21){read(AG,$iq,1);($iw) =unpack("C",$iq);if($iw==0xF9){read(AG,$iq,6);}elsif($iw==0xFE) {&je(\*AG,0)||return(undef,undef,"GIF - Bad Block - skip=0"); }elsif($iw==0x01){&je(\*AG,13)||return(undef,undef,"GIF - Bad Block - skip=13"); }elsif($iw==0xFF){&je(\*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 qp{return($_[0]=~/(.+)/s)[0]||$_[0];}sub qs{my$jf;foreach (split/\n/,shift){s!\\!\\\\!g;s!\"!\\\"!g;s!$jl){$bt=1;}push(@{$jj[$bt]},$_);}if(defined$ji){ foreach(0..$#jj){while(scalar@{$jj[$_]}<$jh){push(@{$jj[$_]}, $ji);}}}shift@jj;return@jj;}sub nc{my($jm,%jn,$AH);$jm=$_[0]; %jn=%{$_[1]};$AH="\x0D\x0A";local(*AI);if(!defined&jo){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_parseheader'\n"); }if(!defined&jp){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_debug'\n"); }if(!defined&jq){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_readline'\n"); }if(!defined&jr){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_pop3auth'\n"); }if(!defined&js){die("SMTP_sendmail: Couldn't find required subroutine 'FH_readline'\n"); }if(!defined&jt){die("SMTP_sendmail: Couldn't find required subroutine 'FH_can_read'\n"); }foreach(keys%{$ab{$z[482]}}){defined$jn{$_}&&next;$jn{$_}= $ab{$z[482]}{$_};}my($fx,$ju,$jv,$jw,$ew);$fx=$jn{$z[483]}; $ju=$jn{$z[484]}||25;$jv=$jn{$z[485]}||$z[486];$jw=$jn{$z[487]} ||30;$ew=$jn{$z[488]}||0;$jw+=time()if$jw<10**8&&$jw>0;if($fx =~s/:(\d+)//){$ju=$1;}if(!$fx){$ab{$z[489]}="No SMTP host specified.\n"; return 0;}if(!$ju){$ab{$z[489]}="No SMTP port specified.\n"; return 0;}my($jx,@jy)=&jo($jm);$jm=~tr/\r//d;$jm=~s/\n/\r\n/gs; $jm=~s/^\s*bcc\s*:.*\n//mgi;if($jn{$z[490]}){&jr(\%jn)||return 0;}my($jz)=gethostbyname($fx)||do{$ab{$z[489]}="Could not connect to SMTP server. Unknown host $fx\n"; return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ab{$z[489]} ="Could not connect to SMTP server. No Socket: $!\n";return 0;};connect(AI,pack"SnA4x8",PF_INET,$ju,$jz)||do{if($!eq"Unknown error") {$ab{$z[489]}="Could not connect to SMTP server. SMTP server does not exist or is not responding.\n"; return 0;}else{$ab{$z[489]}="Could not connect to SMTP server. Connect failed: $!\n"; return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$ka =&jq(\*AI,$jw)||do{$ab{$z[489]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($ew){&jp($ka);}if(substr($ka,0,3)ne"220"){$ab{$z[489]} ="An unknown error occured. Server response: $ka\n";return 0;}print AI"HELO $jv",$AH;if($ew){&jp("HELO $jv",$AH);}$ka= &jq(\*AI,$jw)||do{$ab{$z[489]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($ew){&jp($ka);}if(substr($ka,0,3)ne"250"){$ab{$z[489]} ="An unknown error occured. Server response: $ka\n";return 0;}print AI"MAIL FROM:<$jx>",$AH;if($ew){&jp("MAIL FROM:<$jx>", $AH);}$ka=&jq(\*AI,$jw)||do{$ab{$z[489]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($ew){&jp($ka);}if(substr($ka,0,3)ne"250"){$ab{$z[489]} ="An unknown error occured. Server response: $ka\n";return 0;}my$jy;foreach$jy(@jy){print AI"RCPT TO:<$jy>",$AH;if($ew) {&jp("RCPT TO:<$jy>",$AH);}$ka=&jq(\*AI,$jw)||do{$ab{$z[489]} ="Timed out waiting for SMTP server to respond.\n";return 0; };if($ew){&jp($ka);}if(substr($ka,0,2)eq"55"){$ab{$z[489]}= "The server won't accept mail for '$jy'. Server response: $ka\n"; return 0;}if(substr($ka,0,2)ne"25"){$ab{$z[489]}="An unknown error occured. Server response: $ka\n"; return 0;}}print AI"DATA",$AH;if($ew){&jp("DATA",$AH);}$ka= &jq(\*AI,$jw)||do{$ab{$z[489]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($ew){&jp($ka);}if(substr($ka,0,3)ne"354"){$ab{$z[489]} ="An unknown error occured. Server response: $ka\n";return 0;}$jm=~s/^\./\.\./gm;print AI$jm,$AH;if($ew){&jp($jm,$AH); }print AI".",$AH;if($ew){&jp(".",$AH);}$ka=&jq(\*AI,$jw)||do {$ab{$z[489]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($ew){&jp($ka);}if(substr($ka,0,3)ne"250"){$ab{$z[489]} ="An unknown error occured. Server response: $ka\n";return 0;}print AI"QUIT",$AH;if($ew){&jp("QUIT",$AH);}close(AI);return 1;}sub jo{my($jm,$bo,$kb,$kc,$ea);$jm=$_[0];$jm=~tr/\r//d;$bo =$z[491];$bo.=$z[492];if($jm=~m/^(.*?)\n\n(.*)$/s){($kb,$kc) =($1,$2);}else{die("SMTP_parseheader: couldn't find email header!\n"); }my($jx,@jy);foreach$ea(split(/\n/,$kb)){foreach(qw(from to cc bcc)) {if($ea=~/^\s*$_\s*:/i){my$kd=$_;foreach($ea=~m/($bo)/g){if ($kd eq$z[493]){$jx=$_;}else{push@jy,$_;}}}}}$jx||die("SMTP_parseheader: couldn't find from: address in mail header\n"); $#jy>=0||die("SMTP_parseheader: couldn't find to: address in mail header\n"); return($jx,@jy);}sub jq{my$AJ=$_[0];my$jw=int($_[1]);if(!$jw) {die("SMTP_readline: no timeout value specified!\n");}if($jw <10**8){die("SMTP_readline: timeout value must be in time() format!Rec'd: $jw\n"); }fileno($AJ)||die("SMTP_readline: invalid filehandle or filehandle not open!\n"); my($ea,$ke);while(!$ea||substr($ea,3,1)eq$z[242]){$ea=&js($AJ,$jw); $ke.=$ea;}return$ke;}sub jp{my$ex=join'',@_;$ex=~s/\s+$//m; my$kf=localtime();local*AK;if(!$ex){$kf="";$ex="\n";}if($ex =~/^From:/i){$ex="[email content]";}if($ex=~/^PASS /i){$ex= "PASS (not shown)";}$ex=~s//>/g;$ex=~s/\r\n|\n/
\n/g; print"

$ex
\n\n";}sub jr{my($jm,%jn,$AH);%jn=%{$_[0]}; $AH="\x0D\x0A";local(*AI);if(!$jn{$z[494]}){die("SMTP_pop3auth: POP3 username not defined'\n"); }if(!$jn{$z[495]}){die("SMTP_pop3auth: POP3 password not defined'\n"); }if($ab{$z[496]}{$z[497]}){return 1;}my($fx,$ju,$fw,$kg,$jw,$ew); $fx=$jn{$z[498]}||$jn{$z[483]};$ju=$jn{$z[499]}||110;$fw=$jn{$z[494]}; $kg=$jn{$z[495]};$jw=$jn{$z[500]}||$jn{$z[487]}||30;$ew=$jn{$z[488]} ||0;$jw+=time()if$jw<10**8&&$jw>0;if($fx=~s/:(\d+)//){$ju=$1; }my($jz)=gethostbyname($fx)||do{$ab{$z[489]}="Could not connect to POP3 server. Unknown host $fx\n"; return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ab{$z[489]} ="Could not connect to POP3 server. No Socket: $!\n";return 0;};connect(AI,pack"SnA4x8",PF_INET,$ju,$jz)||do{if($!eq"Unknown error") {$ab{$z[489]}="Could not connect to POP3 server. POP3 server does not exist or is not responding.\n"; return 0;}else{$ab{$z[489]}="Could not connect to POP3 server. Connect failed: $!\n"; return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$ka =&js(\*AI,$jw)||do{$ab{$z[489]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($ew){&jp($ka);}if(uc(substr($ka,0,3))ne"+OK") {$ab{$z[489]}="An unknown error occured. Server response: $ka\n"; return 0;}print AI"USER $fw",$AH;if($ew){&jp("USER $fw",$AH); }$ka=&js(\*AI,$jw)||do{$ab{$z[489]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($ew){&jp($ka);}if(substr($ka,0,3)ne"+OK"){$ab{$z[489]} ="The server didn't accept the login info for '$fw'. Server response: $ka\n"; return 0;}print AI"PASS $kg",$AH;if($ew){&jp("PASS $kg",$AH); }$ka=&js(\*AI,$jw)||do{$ab{$z[489]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($ew){&jp($ka);}if(substr($ka,0,3)ne"+OK"){$ab{$z[489]} ="The server didn't accept the login info for '$fw'. Server response: $ka\n"; return 0;}print AI"QUIT",$AH;if($ew){&jp("QUIT",$AH);}close(AI); $ab{$z[496]}{$z[497]}=1;return 1;}sub jt{my$AJ=$_[0];my$jw= $_[1]||$z[350];my($kh,$ki,$kj,$kk,$kl,$km,$kn);fileno($AJ)|| die("fh_can_read: invalid filehandle or filehandle not open!\n"); vec($kh,fileno($AJ),1)=1;$kn=select($ki=$kh,undef,undef,$jw); return vec($ki,fileno($AJ),1);}sub js{my$AJ=$_[0];my$jw=int($_[1]); if(!$jw){die("FH_readline: no timeout value specified!\n"); }if($jw<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($ea,$ko);while($jw>=time()){&jt(\*AI,0.25)||next;sysread(\*AI,$ko, 1)||last;$ea.=$ko;if($ko eq"\x0A"){last;}}return$ea;}sub ky {my$kp=$ab{$z[501]}{$z[502]}||={};my$kq=int++$kp->{$z[48]}; my$fe="FH$kq";return eval"local *$fe";}sub eh{return unless ($af{$z[503]});my$kp=$ab{$z[501]}{$z[504]}||={};$kp->{$z[505]} ||=[];my($kr,$jw)=@_;$kr||=$z[267];$jw||=0;if($kr ne$z[267] and$kr ne$z[506]){&ak("lock: invalid lock type: '$kr'");}my $ks;if(@{$kp->{$z[505]}}>0){$ks=$kp->{$z[505]}[-1];}if($ks eq$z[267]){$kr=$ks;}if($ks eq$kr){push(@{$kp->{$z[505]}},$kr); return 1;}my$kt;if($ks eq$z[506]and$kr eq$z[267]){&ak("lock: cannot upgrade a 'shared' lock to an 'exclusive' lock"); }$kt=&ku('',$kr,$jw);if($kt){push(@{$kp->{$z[505]}},$kr);}return $kt;}sub ei{return unless($af{$z[503]});my$kp=$ab{$z[501]}{$z[504]} ||={};$kp->{$z[505]}||=[];my($jw)=@_;$jw||=0;unless(@{$kp->{$z[505]}} >0){&ak($z[507])}my$ks=pop(@{$kp->{$z[505]}});return if(@{$kp->{$z[505]}} >0 and$kp->{$z[505]}[-1]eq$ks);if(@{$kp->{$z[505]}}==0){&kv(''); }}sub ku{my$kp=$ab{$z[501]}{$z[504]}||={};my($kw,$kr,$jw)=@_; my$kx;if($kw){$kx="$ab{'datadir'}$kw.lock";}else{$kx=$ab{$z[508]}; }if(not exists$kp->{$z[509]}{$kw}){$kp->{$z[509]}{$kw}{$z[107]} =$kx;$kp->{$z[509]}{$kw}{$z[510]}=&ky();sysopen($kp->{$z[509]}{$kw}{$z[510]}, $kp->{$z[509]}{$kw}{$z[107]},O_RDWR|O_CREAT)||&ak($z[508],"error opening $kr file lock $kp->{'lockinfo'}{$kw}{'filename'}: $!\n"); }else{&ak("_lock_flock: already a lock for semaphore '$kw'"); }my$kz;if($kr eq$z[506]){$kz=LOCK_SH;}if($kr eq$z[267]){$kz =LOCK_EX;}if($jw>0){$kz|=LOCK_NB;}my$la=time()+$jw;until(flock($kp->{$z[509]}{$kw}{$z[510]}, $kz)){if(time()<$la){sleep(1);}else{close($kp->{$z[509]}{$kw}{$z[510]}); &ak($z[511]);}}return 1;}sub kv{my$kp=$ab{$z[501]}{$z[504]} ||={};my($kw)=@_;unless(flock($kp->{$z[509]}{$kw}{$z[510]}, LOCK_UN)){&ak($z[508],"error releasing a flock() on file lock $kp->{'lockinfo'}{$kw}{'filename'}: $!\n"); }unless(close($kp->{$z[509]}{$kw}{$z[510]})){&ak($z[508],"error closing file lock $kp->{'lockinfo'}{$kw}{'filename'}: $!\n"); }delete$kp->{$z[509]}{$kw};return 1;}sub qu{my$fh=shift;$fh =~s|\\|/|g;if($fh=~m|^/|){return$fh;}if($fh=~m|^\w:/|){return $fh;}return&lb($ab{$z[512]}.$z[64].$fh);}sub lb{my$fh=shift; $fh=~s|\\|/|g;1 while$fh=~s|[^/]*/\.\./||;return$fh;}sub qv {my($ld,@jn)=@_;$ld=~s/\s+//g;$ld=uc$ld;my$le;my$lf=-1;my$lg; foreach$lg(split(/,/,$ld)){$lf++;my$lh=shift@jn;my$li=$lg=~ s/\[|\]//g;if($lg eq$z[513]){@jn=();last;}next if($li and not defined$lh);next if($lg eq$z[514]and defined$lh);next if($lg =~/\bVALUE\b/and not ref($lh)and defined($lh));next if(uc(ref $lh)=~/\b$lg\b/);next if($lg=~/\bINT\b/and$lh!~/[^0-9\.\e\-]/i and$lh==int($lh));$le.=", "if$le;$le.="\$_[$lf] must be ";$le .="either "if$li;$le.=$lg;$le.=" or undefined"if$li;$le.=" ARG: $lh."; }if(@jn){$lf++;$le.=", "if$le;$le.="extra argument(s) \@_[" .($lf)." .. ".($lf+$#jn)."]";}return 1unless$le;my$fl=(caller(1))[3]; $fl=~s/^main:://;&ak("Invalid arguments passed to $fl".": $le"); }1;;sub lr{my($lj,$lk)=@_;foreach(@{$lj->{$z[173]}}){my($ll, $fl)=@{$_};if(!defined&{$fl}&&!defined&{$ab{$z[515]}{$ll}}) {die("The action '$ll' defined as a handler for db '$lj->{'name'}' does not have a custom handler or a default handler"); }if((!$lk&&$ag{$lj->{$z[50]}.$z[516].$ll})||$lk eq$ll){if(defined &{$fl}){&{$fl}($lj);exit;}else{&{$ab{$z[515]}{$ll}}($lj);exit; }}}if($lk){die"Unable to execute forced action '$lk' on db '$lj->{'name'}'"; }}sub qy{my$lj=shift;my$ao=&lm($lj);&ln($lj,$ao);}sub qz{my $lj=shift;my$ao=&lo($lj);&lp($lj,$ao);&lq($z[517],$ao);exit; }sub ra{my$lj=shift;if(!$ac{$z[518]}){&lr($lj,$z[174]);}my$ao =&ls($lj);&lq($z[518],$ao);exit;}sub rb{my$lj=shift;my$ao=<($lj); &lu($lj,$ao);}sub rc{my$lj=shift;&cp;my$lv=&lw($lj);my$lx=&ly($lj, $lv);&lz($lj,$lv);&ma($lj,$lv);&cr;&mb($lj,$lx);&mc($lj);}sub rd{my$lj=shift;my($dh,$di);my$md={$z[57]=>$af{$z[519]}{$z[57]}, $z[520]=>1,$z[84]=>'',};$md=&me($lj,$md);foreach(split(/\s+/,$lj->{$z[81]})) {push(@$di,[$_,$z[271],$md->{$z[84]}]);}my$ap=sub{my$mf=shift; if(!defined$mf->{$z[521]}&&$mf->{$z[19]}){my$ib=&ho(0,0,0,$mf->{$z[20]},$mf->{$z[19]}-1,$mf->{$z[18]}); $mf->{$z[521]}=&as($ab{$z[98]},$ib);}$mf->{$z[522]}=&as($ab{$z[40]},int($mf->{$z[522]})) if$mf->{$z[522]};$mf->{$z[66]}=&as($ab{$z[40]},int($mf->{$z[66]})) if$mf->{$z[66]};$ad{$z[523]}=$ad{$z[523]}eq$z[524]?$z[525]: $z[524];return&bv($z[123],$mf);};my$ao=&mg($lj,$ap,$md,$dh, $di);&mh($ao);}sub lm{my$lj=shift;$ad{$z[526]}=$lj->{$z[146]}; $ad{$z[527]}=$lj->{$z[50]};&gi($lj->{$z[148]},{});my($ao)={}; if($lj->{$z[528]}&&&mi($lj)>=$lj->{$z[528]}){&lq($z[529],$lj); }my($hy,$gx,$gy)=(localtime(&at($^T)))[3,4,5];$gx++;$gy+=1900; $ao->{"day_$hy".$z[530]}=$z[531];$ao->{"mon_$gx".$z[530]}=$z[531]; $ao->{"year_$gy".$z[530]}=$z[531];foreach(split(/ /,$lj->{$z[76]})) {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 ln{my($lj,$ao)=@_;if($ab{$z[134]}{$z[135]}{$z[535]}) {&lq($z[535],$ao);}else{&lq($z[517],$ao);}exit;}sub lo{my$lj =shift;$ad{$z[526]}=$lj->{$z[146]};$ad{$z[527]}=$lj->{$z[50]}; &gi($lj->{$z[148]},{});my($kq)=int$ag{$lj->{$z[50]}.$z[536]}; my$ao={};&mj($lj,$ao,$kq)||&ak($z[537],$kq);return$ao;}sub lp{my($lj,$ao)=@_;foreach(split(/ /,$lj->{$z[76]})){if(/^ufile/ &&!$ao->{$_}){$ao->{$_}=$z[532];}}foreach(keys%{$ao}){$ao->{$_} =&gk($ao->{$_});}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%mk;&mj($ae{$z[195]},\%mk,$ao->{$z[533]}) if$ao->{$z[533]};$ao->{$z[533]}=$mk{$z[50]}||"unknown user"; &mj($ae{$z[195]},\%mk,$ao->{$z[534]})if$ao->{$z[534]};$ao->{$z[534]} =$mk{$z[50]}||"unknown user";return$ao;}sub ls{my$lj=shift; $ad{$z[526]}=$lj->{$z[146]};$ad{$z[527]}=$lj->{$z[50]};&gi($lj->{$z[148]}, {});my($kq)=int($ag{$lj->{$z[50]}.$z[540]})||int($ag{$z[48]}); my($ao)={};&mj($lj,$ao,$kq)||&ak($z[537],$kq);return$ao;}sub lt{my$lj=shift;$ad{$z[526]}=$lj->{$z[146]};$ad{$z[527]}=$lj->{$z[50]}; &gi($lj->{$z[148]},{});my($kq)=$ag{$z[48]}||$ag{$lj->{$z[50]}.$z[540]}; my$ao={};&cp();&mj($lj,$ao,$kq)||&ak($z[537],$kq);&ml($lj,$kq) ||die($z[541].$kq);&cr();foreach(split(/ /,$lj->{$z[76]})){ if(/^ufile/&&$ao->{$_}){if(-e"$ac{'dir_upload'}/$ao->{$_}") {unlink("$ac{'dir_upload'}/$ao->{$_}");}}}if(defined&{$lj->{$z[172]}}) {&{$lj->{$z[172]}}($kq,$z[174],$ao);}return$ao;}sub lu{my($lj, $ao)=@_;if(!$ac{$z[542]}){&lr($lj,$z[175]);}&lq($z[543],$ao); exit;}sub lw{my$lj=shift;$ad{$z[526]}=$lj->{$z[146]};$ad{$z[527]} =$lj->{$z[50]};&gi($lj->{$z[148]},{});my($kq)=int($ag{$z[48]}); my$lv={};if($lj->{$z[528]}){my($bk)=&mi($lj);if($kq&&$bk>$lj->{$z[528]}) {&lq($z[529],$lj);}elsif(!$kq&&$bk>=$lj->{$z[528]}){&lq($z[529],$lj); }}if($kq){&mj($lj,$lv,$kq)||die("ui_save : Can't find record #$kq"); }return($lv);}sub ly{my($mf)=$_[0]->{$z[50]}||die($z[544]); my($kq)=int($ag{$z[48]});my(%mf)=%{$_[1]||{}};my(%ez,%ft,$en,%lx,%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"); }%ez=&az($ac{$z[545]});foreach(split(/ |\,/,$ac{$z[546]})){ $ft{$_}++if$_;}foreach$en(split(/ /,$_[0]->{$z[76]})){if($en !~/^ufile/){next;}if($ag{$en}){if($ac{$z[547]}&&length($ag{$en}) >$ac{$z[548]}*1000){my$mm=length($ag{$en});$lx{$z[549]}.=qq|$ag{$en."_file"} ($mm bytes, file too large)
\n|; $ag{$en}=$mf{$en};next;}if(!$ft{lc$ag{$en.$z[314]}}){$lx{$z[549]} .=qq|$ag{$en."_file"} ('$ag{$en.'_ext'}' files not accepted)
\n|; $ag{$en}=$mf{$en};next;}if($mf{$en}&&$ez{$mf{$en}}){unlink("$ac{'dir_upload'}/$mf{$en}"); }my($mn);my($mo)=lc$ag{$en.$z[313]};my($mp)=lc$ag{$en.$z[314]}; my($mq)=$z[550];$mo=~s/\.[^\.]*$//g;$mo=~s/[^a-z0-9_\-]/_/g; $mp=~s/[^a-z0-9_\-]/_/g;$mn="$mo.$mp";if(-e"$ac{'dir_upload'}/$mn") {do{$mq=sprintf($z[410],++$mq);$mn=$mo."_$mq.$mp";}while(-e "$ac{'dir_upload'}/$mn");}open(AB,">$ac{'dir_upload'}/$mn") ||die($z[551]."$mn $!\n");binmode AB;print AB$ag{$en};close(AB); if($mn=~/\.(gif|jpg|jpeg|png)$/i){my($jc,$jd,$mr)=&ms("$ac{'dir_upload'}/$mn"); if(($ac{$z[552]}&&$jd>$ac{$z[552]})||($ac{$z[553]}&&$jc>$ac{$z[553]})) {unlink("$ac{'dir_upload'}/$mn");$lx{$z[549]}.=qq|$ag{$en."_file"} (${jd}x$jc, image too big)
\n|; $ag{$en}=$mf{$en};next;}}$ag{$en}=$mn;}elsif($ag{$en.$z[313]}) {if($mf{$en}&&$ez{$mf{$en}}){unlink("$ac{'dir_upload'}/$mf{$en}"); }$mf{$en}='';}else{$ag{$en}=$mf{$en};}}return\%lx;}sub lz{my ($lj,$lv)=@_;my($kq)=int($ag{$z[48]});$ag{$z[522]}=$kq?$lv->{$z[522]} :$^T;$ag{$z[533]}=$kq?$lv->{$z[533]}:$ai{$z[48]};$ag{$z[554]} =$kq?$lv->{$z[554]}:$ai{$z[48]};$ag{$z[66]}=$^T;$ag{$z[534]} =$ai{$z[48]};my$mt;foreach$mt($lj->{$z[76]}=~/\bufile([^ ]*)\b/g) {if($lj->{$z[76]}=~/\bimagewidth\Q$mt\E\b/){($ag{$z[555].$mt}, $ag{$z[556].$mt})=&ms($ac{$z[545]}.$ag{$z[557].$mt});}}}sub ma{my($lj,$lv)=@_;my($kq)=int($ag{$z[48]});if($kq){&dz($lj, \%ag,$kq);}else{$ag{$z[48]}=&ef($lj,\%ag,$kq);}if(defined&{$lj->{$z[172]}}) {&{$lj->{$z[172]}}($ag{$z[48]},$z[558],$lv);}}sub mb{my($lj, $lx)=@_;if(keys%{$lx}){undef$ac{$z[548]}if!$ac{$z[547]};$lx->{$z[48]} =$ag{$z[48]};$lx->{$z[559]}=&bv($z[559],\%ac)if$ac{$z[548]}; $lx->{$z[560]}=&bv($z[560],\%ac)if$ac{$z[552]};$lx->{$z[561]} =&bv($z[561],\%ac)if$ac{$z[553]};$lx->{$z[562]}=&bv($z[562], {$z[546]=>$ac{$z[546]}?$ac{$z[546]}:$z[563]});&lq($z[564],$lx); exit;}}sub mc{my($lj)=@_;if(!$ac{$z[565]}){&lr($lj,$z[175]); }&lq($z[566],\%ag);exit;}sub mh{my$ao=shift;&lq($z[175],$ao); exit;}sub me{my($lj,$md)=@_;$ad{$z[526]}=$lj->{$z[146]};$ad{$z[527]} =$lj->{$z[50]};if(ref($lj)ne$z[229]){die$z[567]."\n";}&gi($lj->{$z[148]}, {});if($ag{$lj->{$z[50]}.$z[568]}){my$mu={};while($ah{$lj->{$z[50]}.$z[569]} =~/(.*?)\t(.*?)\t/g){$mu->{$1}=$2;}$md->{$z[57]}=$ag{$z[570]} ||$mu->{$z[57]};}else{while($ah{$lj->{$z[50]}.$z[569]}=~/(.*?)\t(.*?)\t/g) {$md->{$1}=$2;}foreach(keys%{$md}){if(defined$ag{$z[516].$_}) {if($_ ne$z[57]&&$_ ne$z[520]){$md->{$z[520]}=1;}$md->{$_}= $ag{$z[516].$_};}}}&mv($lj->{$z[50]}.$z[569],join("\t",map{ $_,$md->{$_}}keys%{$md})."\t");foreach(keys%{$md}){$ad{$z[516] .$_}=$md->{$_};$ad{$z[516].$_.$z[516].$md->{$_}.$z[530]}=$z[531]; }return$md;}sub mg{my($lj,$ap,$md,$dh,$di)=@_;my%ao;my$jf=sub {$ao{$z[571]}.=&{$ap}(@_);};($ao{$z[572]},$ao{$z[573]},$ao{$z[574]}, $ao{$z[575]},$ao{$z[576]},$ao{$z[577]})=&mw($lj,$jf,$md->{$z[520]}, $md->{$z[57]},$dh,$di);unless($ao{$z[571]}){if($ab{$z[134]}{$z[135]}{$z[578]} &&scalar grep{$_ ne$z[57]&&$_ ne$z[520]&&$md->{$_}ne''}keys %{$md}){$ao{$z[571]}=&bv($z[578],{});}else{$ao{$z[571]}=&bv($z[129], {});}}return\%ao;}sub cm{my$lj=shift;my($dh,$di);my$md={$z[57] =>$af{$z[519]}{$z[57]},$z[520]=>1,$z[84]=>'',};$md=&me($lj, $md);foreach(split(/\s+/,$lj->{$z[81]})){push(@$di,[$_,$z[271], $md->{$z[84]}]);}my$ap=sub{my$mf=shift;$mf->{$z[579]}=$aj[$mf->{$z[580]}]; if(!defined$mf->{$z[521]}&&$mf->{$z[19]}){my$ib=&ho(0,0,0,$mf->{$z[20]},$mf->{$z[19]}-1,$mf->{$z[18]}); $mf->{$z[521]}=&as($ab{$z[98]},$ib);}$mf->{$z[522]}=&as($ab{$z[40]},int($mf->{$z[522]})) if$mf->{$z[522]};$mf->{$z[66]}=&as($ab{$z[40]},int($mf->{$z[66]})) if$mf->{$z[66]};$ad{$z[523]}=$ad{$z[523]}eq$z[524]?$z[525]: $z[524];return&bv($z[123],$mf);};my$ao=&mg($lj,$ap,$md,$dh, $di);&mh($ao);}sub re{my$lj=shift;&cp();my$lv=&lw($lj);my$lx =&ly($lj,$lv);&lz($lj,$lv);my%mx;if(&mz($lj,\%mx,$z[581],$ag{$z[581]})) {if($mx{$z[48]}!=$lv->{$z[48]}){&cr();&lq($z[582],\%ag);}}if ($ag{$z[48]}==$ai{$z[48]}&&$ag{$z[580]}<9){&cr();&lq($z[583], {});}&ma($lj,$lv);my%na;if(&mz($ae{$z[200]},\%na,$z[48],$ag{$z[48]})) {&dz($ae{$z[200]},\%ag,$ag{$z[48]});}&cr();&mb($lj,$lx);&mc($lj); }sub rf{my$lj=shift;if(!$ac{$z[518]}){&lr($lj,$z[174]);}my$ao =&ls($lj);if($ao->{$z[48]}==$ai{$z[48]}&&$ag{$z[580]}<9){&lq($z[583], {});}&lq($z[518],$ao);}sub cl{my$lj=shift;my$kq=$ag{$z[48]} ||$ag{$lj->{$z[50]}.$z[540]};if($kq==$ai{$z[48]}&&$ag{$z[580]} <9){$ad{$z[526]}=$lj->{$z[146]};$ad{$z[527]}=$lj->{$z[50]}; &gi($lj->{$z[148]},{});&lq($z[583],{});}&cp();&mj($ae{$z[195]}, {},$ai{$z[48]})||&nb($z[584],{});my$ao=<($lj);&ml($ae{$z[200]}, $kq);&cr();&lu($lj,$ao);}sub nv{my$jm=shift;if($ac{$z[585]} eq$z[586]){my%jn=(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]}); &nc($jm,\%jn)||die("Error sending message: $ab{'error'}");} 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($jx)=&jo($jm);open(AL,"|$ac{'mail_sendmail'} -f $jx -t") ||die"Can't open $ac{'mail_sendmail'} : $!";print AL$jm;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 rg{my($fi)=$_[0];my($nd)=$ag{$z[597]}||die("browse: you must pass a name/value for the 'fieldname'!\n"); my(%ao,$fj);if($fi ne$z[598]&&$fi ne$z[599]){die("browse: the first argument must be either 'dir' or 'file'!\n"); }if($ag{$z[600]}){&ne($z[601].$z[602].$ab{$z[0]}.$z[603]);} if($ag{$z[604]}){&ne($z[605].$z[602].$ab{$z[0]}.$z[603]);}if ($ag{$z[598]}){&ne($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]}; }&gi("_browse_$fi.html",{});my$nf="/";$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'}$nf$ag{'mkdir_name'}",0777)){ $ad{$z[611]}=$z[614].$!;}if($ad{$z[611]}){$ad{$z[611]}=&bv($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'}$nf$ag{'mkfile_name'}"){$ad{$z[616]} =$z[619];}elsif(!open(AB,">$ag{'cdir'}$nf$ag{'mkfile_name'}")) {$ad{$z[616]}=$z[620].$!;}close(AB);if($ad{$z[616]}){$ad{$z[616]} =&bv($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||$nf);$ao{$z[623]}=&gj($ao{$z[622]}); $ao{$z[175]}.=&bv($z[622],\%ao)if($ao{$z[598]}=~m!.+(\\|/)!); if(!-e$ao{$z[598]}){$ao{$z[489]}=$z[624];}elsif(!-r$ao{$z[598]}) {$ao{$z[489]}=$z[625];}if($ao{$z[489]}){print"Content-type: text/html\n\n" unless($ab{$z[626]}++);$ao{$z[175]}.=&bv($z[489],\%ao);print &gi($z[627],\%ao);exit;}opendir(AC,"$ao{'dir2'}");my@fj=sort {lc$a cmp lc$b}grep(!/^\.+$/,readdir(AC));closedir(AC);my($az); foreach$az(@fj){-d"$ao{'dir'}$nf$az"||next;$ao{$z[50]}=$az; $ao{$z[628]}="$ao{'dir'}$nf$az";$ao{$z[628]}=~s/$nf+/$nf/g; $ao{$z[629]}=&gj($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[175]}.=&bv($z[598],\%ao); $fj++;}my($ez);foreach$ez(@fj){-d"$ao{'dir'}$nf$ez"&&next;$ao{$z[50]} =$ez;$ao{$z[628]}="$ao{'dir'}$nf$ez";($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'}$nf$ez") {$ao{$z[175]}.=&bv($z[599],\%ao);}else{$ao{$z[175]}.=&bv($z[633],\%ao); }$fj++;}if(!$fj){$ao{$z[175]}.=&bv($z[634],{});}print"Content-type: text/html\n\n" unless($ab{$z[626]}++);print&gi("_browse_$fi.html",\%ao);exit; }sub rh{my($kb,$ke);if($ENV{$z[307]}=~/^[\w\-]+\.gif$/){$kb =$z[635]."\n\n";}elsif($ENV{$z[307]}=~/^[\w\-]+\.jpg$/){$kb =$z[636]."\n\n";}else{return;}$ke=&gi($ENV{$z[307]},{},$z[323]); if($ke){binmode(STDOUT);print$kb ;print$ke ;exit;}}sub at{my $ib=$_[0]||die("time_adj: first argument must be time()\n"); if($ac{$z[637]}eq$z[535]){$ib+=$ac{$z[638]}*60*60;}if($ac{$z[637]} eq$z[639]){$ib-=$ac{$z[638]}*60*60;}if($ac{$z[640]}eq$z[535]) {$ib+=$ac{$z[641]}*60;}if($ac{$z[640]}eq$z[639]){$ib-=$ac{$z[641]}*60; }return$ib;}sub ri{my($ap,$ng,$nh,$ni,%na);my(%ao,%nj);if(!$ag{$z[642]} &&!$ah{$z[581]}){&nb(undef,\%ao);}if($ag{$z[642]}){($ng,$nh) =(lc$ag{$z[581]},lc$ag{$z[643]});if(!$ng&&!$nh){&nb($z[584], \%ao);}if(!$ng||!$nh){&nb($z[584],\%ao);}$ap=sub{if(lc$nj{$z[581]} eq$ng&&lc$nj{$z[643]}eq$nh){$ni=$nj{$z[48]};}};&av($ae{$z[195]}, $ap,\%nj);if(!$ni){&nb($z[584],\%ao);}&mj($ae{$z[195]},\%nj, $ni);$nj{$z[522]}=$^T;$nj{$z[66]}=$^T;&dz($ae{$z[200]},\%nj, $ni);}else{($ng,$nh)=(lc$ah{$z[581]},lc$ah{$z[643]});if(!$ng ||!$nh){&nb($z[644],\%ao);}$ap=sub{if(($af{$z[645]}&&$nj{$z[66]} <$^T-60*$af{$z[645]})||$nj{$z[66]}<$^T-60*60*24){&ml($ae{$z[200]}, $nj{$z[48]});}elsif(lc$nj{$z[581]}eq$ng&&lc$nj{$z[643]}eq$nh) {$ni=$nj{$z[48]};}};&av($ae{$z[200]},$ap,\%nj);if(!$ni){&nb($z[644], \%ao);}&mj($ae{$z[200]},\%nj,$ni);$nj{$z[66]}=$^T;&dz($ae{$z[200]}, \%nj,$ni);}&mv($z[581],$ng);&mv($z[643],$nh);return%nj;}sub nb{if(!$ab{$z[626]}++){print$z [646]."\n\n";}my($ex)=$_[0]; my(%ao)=%{$_[1]||{}};&gi($z[647],{});foreach(keys%ao){$ao{$_} =&fm($ao{$_});}if($ex&&!$ab{$z[134]}{$z[135]}{$ex}){die($z[648]."'$ex' isn't defined!\n"); }if($ex){$ao{$z[549]}=&bv($ex,\%ao);}print&bv($z[649],{});if ($ex){print&bv($z[650],\%ao);}else{print&bv($z[642],\%ao);} print&bv($z[651],{});if($ab{$z[488]}){print"

";print"

$ab{'debug_output'}
" if($ab{$z[303]});}&nk();exit;}sub rj{&gi($z[647],{});&mv($z[581],''); &mv($z[643],'');$ac{$z[652]}=~s/^\s+|\s+$//g;if($ac{$z[652]} &&$ENV{$z[307]}=~/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;}&nb();}sub nz{&gi($ae{$z[202]}->{$z[148]}, {});&mj($ae{$z[202]},\%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[333]}= &gj($ac{$_})if/^dir/;$ac{$_}=~s/"/"/g;}if($^O!~/win32/i &&!$ac{$z[596]}&&defined$ab{$z[134]}{$z[135]}{$z[661]}){foreach ($z[662],$z[663],$z[664],$z[665],$z[666],$z[667],$z[668]){if (-e$_){$ad{$z[669]}.=&bv($z[661],{$z[628]=>$_});}}}my$nl=$z[670]; $nl=$z[671]if($ac{$z[671]});foreach(1..10){$nl="tab$_"if($ag{"setup_tab$_"} &&defined$ab{$z[134]}{$z[135]}{"tab$_"});}&lq($nl,\%ac);exit; }sub rk{$ab{$z[672]}=$z[673];my(%ao,$nm);if($ag{$z[674]}){&gi($z[675], {});$ao{$z[676]}=&bv($z[677],\%ao);$ao{$z[678]}=$z[679];my@nn =qw(mail_smtp mail_sender_email mail_sender_name mail_mailer mail_sendmail mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass); @ao{@nn}=@ag{@nn};print"Content-Type: text/html\n\n";print&gi($z[675], \%ao);exit;}if(length($ag{$z[680]})){&np($z[681],$z[682])unless &nq($ag{$z[680]});}else{&np($z[683],$z[684]);}my$nr;open(AJ, "<$ab{'templatedir1'}/email/email_test.txt")||&np($z[685],"Unable to open test email template."); read(AJ,$nr,-s AJ);close(AJ);my($ns,$nt);if($nr=~/^\s*Subject: *([^\r\n]*?)(\r\n|\r|\n)\s*Body: *([^ ].*)$/si) {$ns=$1;$nt=$3;}else{&np($z[686],"email_test.txt is improperly formatted. Should have subject: and body:"); }if($ag{$z[585]}eq$z[595]){@ac{qw(mail_mailer mail_sendmail)} =@ag{qw(mail_mailer mail_sendmail)};}else{@ac{qw(mail_mailer mail_smtp mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass)} =@ag{qw(mail_mailer mail_smtp mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass)}; }my$nu=qq|From: "$ag{'mail_sender_name'}" <$ag{'mail_sender_email'}>\nTo: "$ag{'mailto'}" <$ag{'mailto'}>\nSubject: $ns\nContent-Type: text/plain\n| ;$@=();eval{&nv("$nu\n$nt")};if($@){&np($z[687],join($z[688], $@));}else{&np($z[689]);}}sub np{my($fi,$jf)=@_;my%ao;my%nw =($z[683]=>[$z[690],$z[691],$z[692]],$z[681]=>[$z[690],$z[691], $z[693]],$z[685]=>[$z[694],$z[691],$z[695]],$z[686]=>[$z[694], $z[691],$z[696]],$z[687]=>[$z[694],$z[691],$z[697]],$z[689] =>[$z[694],$z[698],$z[699]]);&gi($z[675],{});$ao{$z[549]}=$jf; if($nw{$fi}[0]eq$z[690]){$ao{$z[700]}=&bv($z[700],{});}$ao{$z[676]} =&bv($nw{$fi}[1],\%ao);$ao{$z[678]}=$nw{$fi}[2];print"Content-Type: text/html\n\n"; print&gi($z[675],\%ao);exit;}sub rl{&nx($z[701].$z[602].$ab{$z[0]}.$z[702]); &gi($ae{$z[202]}->{$z[148]},{});&ny;if(!$ac{$z[565]}){&nz;} my$nl=$z[703];foreach(1..10){$nl="saved_tab$_"if($ag{"setup_tab$_"} &&defined$ab{$z[134]}{$z[135]}{"saved_tab$_"});}&lq($nl,{}); exit;}sub ny{my($lx);if(defined$ag{$z[704]}){$ag{$z[704]}=~ s/\s+//g;if(defined&oa){if(!&oa($ag{$z[704]})){$lx=$z[705]; }if(!$ag{$z[704]}){$lx=$z[706];}}if(!$ag{$z[707]}){$lx=$z[708]; }if(!$ag{$z[709]}){$lx=$z[710];}if($lx){$ad{$z[489]}=$lx;$ad{$z[711]} =$ag{$z[709]};$ad{$z[712]}=$ag{$z[707]};$ad{$z[713]}=$ag{$z[704]}; &lq($z[714],\%ad)}$ac{$z[709]}=$ag{$z[709]};$ac{$z[707]}=$ag{$z[707]}; $ad{$z[715]}=int sprintf($z[716],&oa($ag{$z[704]}));$ab{$z[717]} =&ob();if(defined&oc&&$ac{$z[704]}ne$ag{$z[704]}){&oc;}}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($od,$eq)=/^((.*)_default_to)$/;if($ag{$od}=~/^null$/i) {$ag{$od}='';}$ag{$eq}||=$ag{$od};}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[133])>=0){next;}if(/^url_/ &&index($ag{$_},$z[718])>=0){next;}if(substr($ag{$_},-1,1)ne $z[64]){$ag{$_}.=$z[64];}}}my$oe=$ac{$z[719]};my$of=$ac{$z[720]}; &mj($ae{$z[202]},\%ac,1);foreach(sort keys%ac){$ac{$_}=$ag{$_} if defined$ag{$_};}&dz($ae{$z[202]},\%ac,1);$ad{$z[721]}=$ac{$z[722]}; foreach(keys%ac){$ad{$z[516].$_}=$ac{$_}if/^ui_/;}$ad{$z[711]} =$ac{$z[709]};$ad{$z[712]}=$ac{$z[707]};$ad{$z[713]}=$ac{$z[704]}; $ad{$z[723]}=$ac{$z[724]};$ad{$z[725]}=$ac{$z[651]};$ad{$z[726]} =$ac{$z[727]};foreach(grep/^dir_/,keys%ac){$ac{$_}="$ab{'cgidir'}/$ac{$_}" if index($ac{$_},$z[29])==0;$ac{$_}=~tr|\\|/|;1 while$ac{$_} =~s|/[^/]+/\.\.||;}if(($oe ne$ac{$z[719]}||$of ne$ac{$z[720]}) &&($ac{$z[719]}||$ac{$z[720]})){&og($ae{$z[13]},sub{my$bl=shift; if($ac{$z[719]}&&$bl->{$z[88]}){$bl->{$z[77]}=~s/\n/
/g; undef$bl->{$z[88]};}if($ac{$z[720]}&&$bl->{$z[90]}){$bl->{$z[78]} =~s/\n/
/g;undef$bl->{$z[90]};}});}&am();}sub rm{&ny; foreach(keys%ae){my$oh=$ae{$_}{$z[172]};if(defined&{$oh}){&{$oh}(); }}&lq($z[728],{});}sub lq{my($gd)=$_[0];my($ao)=$_[1];unless ($gd){die($z[729]."\n");}if(ref($_[1])ne$z[229]){die$z[730]."\n"; }my(%ao);if(!$ab{$z[626]}++){print$z [646]."\n\n";}&gi($z[647], {});print&bv($z[649],{});for(1..9){if($ai{$z[580]}>=$_&&$ab{$z[134]}{$z[135]}{$z[731].$_}) {$ao{$z[732]}.=&bv($z[731].$_,{});}if($ai{$z[580]}==$_&&$ab{$z[134]}{$z[135]}{$z[731].$_.$z[733]}) {$ao{$z[732]}.=&bv($z[731].$_.$z[733],{});}}$ad{$z[734]}="$ai{'name'} ($aj[$ai{'acl'}])"; $ao{$z[78]}=&bv($gd,$ao);print&bv($z[735],\%ao);print&bv($z[651], {});if($ab{$z[488]}>=2){print"

Stack Trace
"; my$cz=0;while(my($ez,$ea,$fl)=(caller($cz++))[1,2,3]){print qq!

($fl) called from ($ez) line ($ea)
\n!;}}if($ab{$z[488]}) {print"

";print"

$ab{'debug_output'}
"if($ab{$z[303]}); }&nk();exit;}sub nk{print$z [736]."\n";print$ad {$z[723]}.$z[737] .$ab{$z[4]}.$z[738].$ab{$z[739]}.$z[29].$ab{$z[740]}.")\n"; print$z [741].$ad{$z[715]}.$z[742].$ad{$z[711]}.$z[742].$ad{$z[712]} ."\n";printf($z[743]."\n",time()-$^T);print$z [744]."\n";}sub rn{my(@fj)=map"$ab{'datadir'}$ae{$_}{'datafile'}",keys%ae;my(@oi) =($ab{$z[745]});my($az,$ez,$oj);foreach$az(sort@oi){if($az eq""){next;}if(!-d$az||!-w$az){$oj.="$az\n";}}foreach$ez(sort @fj){$ez=~s/\\/\//g;1 while$ez=~s!/[^/]+/\.\./!/!;if(-f$ez&& !-w$ez){$oj.="$ez\n";}}if($oj){&ak($z[746],$oj);}}sub nx{return unless$af{$z[609]};my$jm=shift;&nb($z[747],{$z[549]=>$jm}); }sub ne{return unless$af{$z[609]};my$jm=shift;$jm=&gj($jm); print"Content-type: text/html\n\n";print qq|\n| ;exit;}sub ro{&gi($ae{$z[202]}{$z[148]},{});my%ok;my$ol;foreach $ol(keys%{$ab{$z[748]}}){my%ao=($z[749]=>$ol,$z[750]=>$ab{$z[748]}{$ol} );$ok{$ol}[0]=&bv($z[751],\%ao);$ok{$ol}[1]=&bv($z[752],\%ao); }foreach$ol(keys%{$ab{$z[748]}}){my$om=join'',map{$ok{$_}[$ol ==$_?1:0]}sort keys%{$ab{$z[748]}};$ad{$z[753].$ol}=&bv($z[754], {$z[755]=>$om});}}1;;sub rp{my$on=shift||die("ip2num : no ip or host specified!\n"); my($a,$b,$oo,$op,$kq);if($on=~/[^0-9\.]/){my$jz=gethostbyname("$on.") ||die("ip2num: Can't find IP for host '$on'!\n");($a,$b,$oo,$op) =unpack($z[756],$jz);}else{($a,$b,$oo,$op)=split(/\./,$on); }$kq+=$op*(256**0);$kq+=$oo*(256**1);$kq+=$b*(256**2);$kq+= $a*(256**3);return$kq;}sub rq{my$kq=shift||die("num2ip : no number specified!\n"); my($a,$b,$oo,$op);$a=($kq/256**3)% 256;$b=($kq/256**2)% 256; $oo=($kq/256**1)% 256;$op=($kq/256**0)% 256;return join$z[29], $a,$b,$oo,$op;}sub rr{my$ib=shift||time();$ib-=(localtime($ib))[6] * 60*60*24;$ib-=(localtime($ib))[2]* 60*60;$ib-=(localtime($ib))[1] * 60;$ib-=(localtime($ib))[0]* 1;return$ib;}sub rs{my$ib=shift ||time();$ib-=(localtime($ib))[2]* 60*60;$ib-=(localtime($ib))[1] * 60;$ib-=(localtime($ib))[0]* 1;return$ib;}sub rt{my$gt=int shift;my$gu=int($gt/60);my$gv=int($gu/60);$gu%=60;$gt%=60;return sprintf("%01d:%02d:%02d",$gv,$gu,$gt);}sub ru{my$kq=reverse int shift;$kq=~s/(...)\B/$1,/g;return reverse$kq;}sub bz{my $kq=shift;if($kq==int($kq)){return$kq;}elsif($kq<0){return int$kq;}else{return int($kq)+1;}}sub rv{my$kq=shift;if($kq== int($kq)){return$kq;}elsif($kq<0){return int($kq)-1;}else{return int$kq;}}sub ca{return(sort{$a<=>$b}@_)[0];}sub rw{return(sort {$a<=>$b}@_)[-1];}1;;sub aw{local(*AB);my($ez,%fc,$gc,$gd); %fc=%{$_[1]}if$_[1];my$oq=$_[3];my%ge;%ge=($z[321]=>0,$z[322] =>0,$z[323]=>0,$z[53]=>0,$z[332]=>0);foreach(split(/ /,$_[2])) {if(undef$ge{$_}){die($z[324]."'$_'\n");}$ge{$_}=1;}unless($ge{$z[321]}) {$ge{$z[322]}=1;}if(!$_[0]){die$z[325]."\n";}if(ref($_[1])ne $z[229]){die$z[757]."\n";}if((!$ge{$z[322]}||!$ab{$z[134]}{$z[322]}{$_[0]}) ){if(-e"$_[0]"){$ez=$_[0];}else{foreach(grep/^templatedir/, sort keys%ab){if(-e"$ab{$_}/$_[0]"){$ez="$ab{$_}/$_[0]";last; }}if(!$ez){die$z[327]."'$_[0]'".$z[328]."\n";}}}if($ge{$z[322]} &&$ab{$z[134]}{$z[322]}{$_[0]}){$gc=$ab{$z[134]}{$z[322]}{$_[0]}; }else{open(AB,"<$ez")||die$z[329]."$ez! $!\n";binmode(AB)if ($ez=~/gif$/i||$ez=~/jpg$/i);read(AB,$gc,-s AB);close(AB);} if($ge{$z[323]}){return$gc;}if(!$ge{$z[322]}||!$ab{$z[134]}{$z[322]}{$_[0]}) {foreach$gd($gc=~m//g) {$ab{$z[134]}{$z[135]}{"$oq$1"}=$2 if($gc=~m/(?:\r\n|\n)?(.*?)/is); }$gc=~s/(?:\r\n|\n)?(.*?)//gis; if($ge{$z[322]}){$ab{$z[134]}{$z[322]}{$_[0]}=$gc;}}if($ge{$z[53]}) {while($gc=~//i){my$or=$1; my$gf=$or;$gf=~s/\$(\w+?)\$/defined$ad{$1}?$ad{$1}:$fc{$1}/eg; unless($gf){$gc=~s///;next; }if($gf=~m!^/!){;}else{if($_[4]){$gf="$_[4]$gf";}else{$gf=($ez =~m!(.*/)!)[0].$gf;}}my$gh;if(not$ab{$z[134]}{$z[758]}{$gf}++) {my$os;if(-e"$gf"){$os++;}else{foreach(grep/^templatedir/,sort keys%ab){if(-e"$ab{$_}/$gf"){$os++;last;}}}if($os){$gh=&aw($gf, $_[1],"$_[2] inside_ssi",$z[759],$_[4]);}else{$gh="[ Program Error - Could not include file \"$gf\" via template include ]"; }}else{$gh="[ Program Error - Cyclic Include - The file '$gf' is included by itself (perhaps indirectly). Please check include files for other Include statements. ]"; }$gc=~s//$gh/;delete$ab{$z[134]}{$z[758]}{$gf}; }}else{$gc=~s///gi;}$gc=~s//$1/gi; $gc=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$ep=defined$ad{$1} ?$ad{$1}:$fc{$1};if($2 eq$z[333]){$ep=&gj($ep);}if($2 eq$z[334]) {$ep=&gk($ep);}if($2 eq$z[335]){$ep=&gk($ep);$ep=~s/ / /g; }if($2 eq$z[336]){$ep=&gl($ep);}$ep;]ge;return$gc;}sub bs{my ($ia,$bl,$oq)=@_;$ia=~s|
(\s*\*\*\*image\d+(?:\:(\w+))?\*\*\*)|
$1|gsi; $ia=~s[\s*\*\*\*image(\d+)(?:\:(\w+))?\*\*\*\s*][if($2 eq$z[760]) {$bl->{$z[120].$1}}else{my%ot;$ot{$z[761]}=$2||$af{$z[762]}{$z[763]} ||$z[764];$ot{$z[765]}=$bl->{$z[120].$1};$ot{$z[766]}=$bl->{$z[121] .$1};$ot{$z[767]}=$bl->{$z[68].$1};$ot{$z[768]}=$bl->{$z[69] .$1};&bv($oq.($ot{$z[766]}ne''?$z[766]:$z[769]),\%ot);}]eigo; return$ia;}sub rx{my($ao,$bl,$oq,$ou,$ov,@ow)=@_;$ao->{$z[87]} =&bs($ou,$bl,$oq);$ao->{$z[89]}=&bs($ov,$bl,$oq);my$cz;for$cz (1..$ab{$z[6]}){$ao->{$z[122].$cz}=&bs($ow[$cz-1],$bl,$oq); }}sub ry{my($ao,$ou,$ov,@ow)=@_;($ao->{$z[87]}=$ou)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g; ($ao->{$z[89]}=$ov)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g; my$cz;for$cz(1..$ab{$z[6]}){($ao->{$z[122].$cz}=$ow[$cz-1]) =~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;}}sub rz{my$gc=shift; my$ib=$ad{$z[39]}||&as($ab{$z[40]},$ac{$z[39]}||$^T);my$ox= $z[770].$ab{$z[0]}.$z[771];$$gc=$z[772].$ib.$z[773].$ab{$z[0]} .$z[774]."\n\n".$$gc;unless($$gc=~s/(]+>)/$ox\n$1/is) {$$gc=~s/(]*>)/$1\n$ox\n/i;}}sub ho{my$jf;eval{local $SIG{$z[775]}=undef;local$SIG{$z[776]}=undef;$jf=timelocal(@_); };if($@){$jf=0;}return$jf;}sub hn{my$jf;eval{local$SIG{$z[775]} =undef;local$SIG{$z[776]}=undef;$jf=timegm(@_);};if($@){$jf =0;}return$jf;}sub sa{if(!$ac{$z[777]}||(scalar(@{$ab{$z[778]}}) <1)){return;}my$bl=shift;my%oy=%{$bl};my($oz,$pa,$pb,$pc)=(1..4); if($ab{$z[488]}){if(scalar(@{$ab{$z[778]}})>1){my%pd=map{$_, 1}("$oz,$pa","$pa,$pb","$pa,$pc");my$pe=join($z[779],sort{$a <=>$b}@{$ab{$z[778]}});unless(exists$pd{$pe}){&ak("Invalid notification events combination: $pe"); }}}my%pf;@pf{$z[522],$z[632]}=(split(/\s*,\s*/,$af{$z[780]}{$z[781]})); $pf{$z[522]}||=$z[522];$pf{$z[632]}||=$z[632];my@pg=($z[782], split(/\s*,\s*/,$af{$z[780]}{$z[783]}));$pg[1]||=$z[784];$pg[2] ||=$z[785];$pg[3]||=$z[45];$pg[4]||=$z[543];my%au;&mj($ae{$z[15]}, \%au,$oy{$z[15]});my$ph=$au{$z[70]}?$au{$z[27]}:$ac{$z[27]}; my(@br,$bi);$oy{$z[786]}=$ai{$z[50]};$oy{$z[787]}=(grep/^$oz$/, @{$ab{$z[778]}})?$pf{$z[522]}:$pf{$z[632]};$oy{$z[80]}=(grep /^$pc$/,@{$ab{$z[778]}})?$pg[4]:$pg[$bl->{$z[80]}];foreach(keys %oy){$oy{$z[86].$_}=$oy{$_};}foreach(1..$ab{$z[6]}){$oy{$z[122] .$_}=$oy{$z[91].$_};}$oy{$z[24]}=$ac{$z[25]};$oy{$z[27]}=$ph; $oy{$z[26]}=$ph.$ac{$z[28]}.$z[29].$ac{$z[30]};$oy{$z[31]}= $ac{$z[32]}.$z[29].$ac{$z[30]};$oy{$z[33]}=$ac{$z[34]}.$z[29] .$ac{$z[30]};$oy{$z[42]}=$ac{$z[32]}.$oy{$z[788]}.$z[29].$ac{$z[30]}; ;$oy{$z[43]}=$ac{$z[44]}.$oy{$z[788]}.$z[29].$ac{$z[30]};$oy{$z[35]} =$ac{$z[36]}.$z[29].$ac{$z[30]};$oy{$z[37]}=$ac{$z[38]}.$z[29] .$ac{$z[30]};$oy{$z[105]}=$ph.($ac{$z[106]}&&$oy{$z[107]}?$ac{$z[108]} .$oy{$z[107]}:$ac{$z[108]}.$oy{$z[48]}).$z[29].$ac{$z[30]}; $oy{$z[39]}=&as($ab{$z[40]},&at($ac{$z[39]}))if($ac{$z[39]}); @br=($oy{$z[18]},$oy{$z[19]}-1,$oy{$z[20]},$oy{$z[93]}+($oy{$z[94]} eq$z[95]?12:0),$oy{$z[96]});$oy{$z[97]}=&as($ab{$z[98]},@br); $oy{$z[99]}=&as($ab{$z[100]},@br);$oy{$z[101]}=$au{$z[50]}; $bi=$au{$z[72]}?$au{$z[73]}:$ac{$z[74]}.$oy{$z[788]};$oy{$z[109]} =$ac{$z[27]}.$bi.$z[29].$ac{$z[30]};$oy{$z[16]}=$oy{$z[788]}; $oy{$z[41]}=$ac{$z[41]};if($bl->{$z[80]}==2){if($bl->{$z[117]} ==1){$oy{$z[789]}=$oy{$z[110]}=$ph.($ac{$z[106]}&&$oy{$z[790]} ?$oy{$z[107]}:$ac{$z[111]}.$oy{$z[114]}).$z[29].$ac{$z[30]}; }else{$oy{$z[789]}=$oy{$z[110]}=$oy{$z[109]}.$z[718].$bl->{$z[48]}; }}else{$oy{$z[789]}=$oy{$z[110]}=$oy{$z[109]};}$oy{$z[791]} =$ac{$z[791]};$oy{$z[792]}=$ac{$z[792]}||$ac{$z[791]};my$nr; local(*AJ);open(AJ,"<$ab{'templatedir1'}/email/notify.txt") ||&ak("Unable to open email template");read(AJ,$nr,-s AJ);close(AJ); my($ns,$nt);if($nr=~/^\s*Subject: *([^\r\n]*?)(\r\n|\r|\n)\s*Body: *([^ ].*)$/si) {$ns=$1;$ab{$z[134]}{$z[322]}{$z[793]}=$3;$ns=~s/\$(.*?)\$/$oy{$1}/g; $nt=&gi($z[793],\%oy,$z[322]);}else{&ak($z[794]);}my$pi=$bl->{$z[15]}; my$pj=$z[795];my@pk;my$ap=sub{my$pl=shift;if($pl->{$z[796]} ||$pl->{$z[797]}=~/(^|,)$pi(,|$)/){if($pl->{$z[580]}==1){return; }if(!$pl->{$z[780]}||!&nq($pl->{$z[780]})){return;}$pl->{$z[50]} ||=$pl->{$z[780]};my$pm;foreach$pm(split(/,/,$pl->{$z[798]})) {if(grep/^$pm$/,@{$ab{$z[778]}}){push(@pk,qq|"$pl->{'name'}" <$pl->{'email'}>|); last;}}}};&av($ae{$z[195]},$ap);if(scalar(@pk)){my$pn;if(length($af{$z[780]}{$z[799]})) {$pn=qq|To: $af{'email'}{'notifications_to_field'}\n|;}my$po =join($z[800],@pk);$pn.=qq|Bcc: $po|;my$nu=qq|From: "$oy{'mail_sender_name'}" <$oy{'mail_sender_email'}>\n$pn\nSubject: $ns\n$pj\n| ;&nv("$nu\n$nt");}}sub sb{my$lj=shift;if($lj->{$z[50]}eq$z[13]) {my$pp=(caller)[2];die("Don't call custom_ui_erase to erase an article! Use art_erase instead. Line number of caller: $pp."); }my$pq;if($ag{$z[801]}){$pq=$ag{$z[48]};}elsif($ag{$z[802]}) {$pq=$ag{$z[802]};}my%au;&mj($ae{$z[15]},\%au,$pq);my$pr=$au{$z[70]} ?$au{$z[545]}:$ac{$z[545]};my$ao=&ps($lj,$pr);&lu($lj,$ao); }sub ps{my$lj=shift;my$pr=shift;$pr||=$ac{$z[545]};$ad{$z[526]} =$lj->{$z[146]};$ad{$z[527]}=$lj->{$z[50]};&gi($lj->{$z[148]}, {});my($kq)=$ag{$z[48]}||$ag{$lj->{$z[50]}.$z[540]};my$ao={}; &cp();&mj($lj,$ao,$kq)||&ak($z[537],$kq);&ml($lj,$kq)||die($z[541].$kq); &cr();foreach(split(/ /,$lj->{$z[76]})){if(/^ufile/&&$ao->{$_}) {if(-e"$pr$ao->{$_}"){unlink("$pr$ao->{$_}");}}}if(defined&{$lj->{$z[172]}}) {&{$lj->{$z[172]}}($kq,$z[174],$ao);}return$ao;}sub sc{my($mf) =$_[0]->{$z[50]}||die($z[544]);my($kq)=int($ag{$z[48]});my(%mf) =%{$_[1]||{}};my$pr=$_[2]||$ac{$z[545]};my(%ez,%ft,$en,%lx,%ao); if(!$pr){die("custom_ui_save_uploads: No upload directory has been defined in setup options or provided by caller!\n"); }if(!-d$pr){die("custom_ui_save_uploads: Upload directory '$pr' doesn't exist!\n"); }if(!-w$pr){die("custom_ui_save_uploads: Upload directory isn't writable!\n"); }%ez=&az($pr);foreach(split(/ |\,/,$ac{$z[546]})){$ft{$_}++ if$_;}foreach$en(split(/ /,$_[0]->{$z[76]})){if($en!~/^ufile/) {next;}if($ag{$en}){if($ac{$z[547]}&&length($ag{$en})>$ac{$z[548]}*1000) {my$mm=length($ag{$en});$lx{$z[549]}.=qq|$ag{$en."_file"} ($mm bytes, file too large)
\n|; $ag{$en}=$mf{$en};next;}if(!$ft{lc$ag{$en.$z[314]}}){$lx{$z[549]} .=qq|$ag{$en."_file"} ('$ag{$en.'_ext'}' files not accepted)
\n|; $ag{$en}=$mf{$en};next;}if($mf{$en}&&$ez{$mf{$en}}){unlink("$pr$mf{$en}"); }my($mn);my($mo)=lc$ag{$en.$z[313]};my($mp)=lc$ag{$en.$z[314]}; my($mq)=$z[550];$mo=~s/\.[^\.]*$//g;$mo=~s/[^a-z0-9_\-]/_/g; $mp=~s/[^a-z0-9_\-]/_/g;$mn="$mo.$mp";if(-e"$pr$mn"){do{$mq =sprintf($z[410],++$mq);$mn=$mo."_$mq.$mp";}while(-e"$pr$mn"); }open(AB,">$pr$mn")||die($z[803]."$mn $!\n");binmode AB;print AB$ag{$en};close(AB);if($mn=~/\.(gif|jpg|jpeg|png)$/i){my($jc,$jd,$mr) =&ms("$pr$mn");if(($ac{$z[552]}&&$jd>$ac{$z[552]})||($ac{$z[553]} &&$jc>$ac{$z[553]})){unlink("$pr$mn");$lx{$z[549]}.=qq|$ag{$en."_file"} (${jd}x$jc, image too big)
\n|; $ag{$en}=$mf{$en};next;}}$ag{$en}=$mn;}elsif($ag{$en.$z[313]}) {if($mf{$en}&&$ez{$mf{$en}}){unlink("$pr$mf{$en}");}$mf{$en} ='';}else{$ag{$en}=$mf{$en};}}return\%lx;}sub sd{my($lj,$lv, $pr)=@_;$pr||=$ac{$z[545]};my($kq)=int($ag{$z[48]});$ag{$z[522]} =$kq?$lv->{$z[522]}:$^T;$ag{$z[533]}=$kq?$lv->{$z[533]}:$ai{$z[48]}; $ag{$z[554]}=$kq?$lv->{$z[554]}:$ai{$z[48]};$ag{$z[66]}=$^T; $ag{$z[534]}=$ai{$z[48]};my$mt;foreach$mt($lj->{$z[76]}=~/\bufile([^ ]*)\b/g) {if($lj->{$z[76]}=~/\bimagewidth\Q$mt\E\b/){($ag{$z[555].$mt}, $ag{$z[556].$mt})=&ms($pr.$ag{$z[557].$mt});}}}1;;%af=&pt("$cd/config.ini"); $ad{$z[804]}=$af{$z[519]}{$z[805]}||"#336699";$ab{$z[745]}= $af{$z[745]}||$z[806];$ab{$z[508]}=$af{$z[508]}||$z[807];$ab{$z[40]} =$af{$z[519]}{$z[40]}||$z[808];$ab{$z[98]}=$af{$z[519]}{$z[98]} ||$z[809];$ab{$z[100]}=$af{$z[519]}{$z[100]}||$z[426];&ak($z[810]) if!$ENV{$z[811]};&ak("macftp")if"¡"ne"\xA1";&ak($z[812])if $ENV{$z[813]}&&!$af{$z[814]};%ab=(%ab,$z[512]=>$cd,$z[815]=> $cb,$z[816]=>$cb,$z[63]=>$z[817],$z[818]=>$z[819],$z[820]=> $z[821],$z[626]=>0,);foreach(qw(datadir filelock templatedir1 templatedir2 templatedir3 archive)) {if(ref($ab{$_})){next;}$ab{$_}="$cd/$ab{$_}"if(index($ab{$_},$z[29]) ==0);$ab{$_}=~s|\\|/|g;1 while$ab{$_}=~s|/[^/]+/\.\./|/|;}&mj($ae{$z[202]}, \%ac,1);if(!$ac{$z[822]}){&ak($z[823]);}foreach(grep/^dir_/, keys%ac){$ac{$_}="$cd/$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[721]} =$ac{$z[722]};$ad{$z[723]}=join$z[824],grep{$_}$ab{$z[0]},$ac{$z[724]}; $ad{$z[825]}||=$ac{$z[724]};%ag=&pu;%ah=&pv;}sub ak{my($pw) =$ad{$z[132]};my($fi,$px,$py)=@_;my(%pz,$lx,$qa);$px=&fm($px); $ad{$z[826]}||="#336699";%pz=($z[537]=>[("Can't find record # $px", "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[746]=>[("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:

$px")], $z[508]=>[("Warning: Persistent Filelock!","This web application uses 'file locks' to ensure than only one user can update data at a time. The program was halted while in the middle of writing/accessing data because it could not obtain a filelock. Please ask your server administrator to fix the permissions (you need read-write access on your data directory).

For your reference, the filelock error was: '$px'.")], $z[511]=>[($z[827],$z[828])],$z[829]=>[("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[830]=>[("Publishing Error","The program cannot create or write to the file:

$px

Please ask your server administrator to make sure the publish directory and publish file(s) are writable.")], $z[812]=>[("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[810]=>[("This program can only be run through a web server.", "")],$z[831]=>[($z[832],$z[833])],$z[834]=>[("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:

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

$px")], $z[294]=>[("File System Error!","The program is unable to access a required file. Please contact your server administrator or technical support for assistance.

The error was: $px", $qb)],);my($qc)=$ad{$z[836]}||$pz{$fi}[0]||"Program Message"; if($pz{$fi}[0]){$qa=$pz{$fi}[0];$lx=$pz{$fi}[1];}elsif($px&& $fi){$qa=&fm($fi);$lx=$px;}else{$qa="Program Message";$lx=&fm($fi); }if(!$pz{$fi}[1]){$lx=~s/\n/

\n/g;}if($ab{$z[488]}){ if(!$ENV{$z[811]}){$lx.="\n\nSTACK TRACE\n";}else{$lx.="

Stack Trace
"; }my$cz=0;while(my($ez,$ea,$fl)=(caller($cz++))[1,2,3]){if(!$ENV{$z[811]}) {$lx.=qq!($fl) called from ($ez) line ($ea)\n!;}else{$lx.=qq!

($fl) called from ($ez) line ($ea)
\n!; }}}if(!$ENV{$z[811]}){foreach($qa,$lx){s/
/\n/gm;s/

/\n\n/gm; }foreach($qa,$lx){s/<[^>]*>//gm;}print"\n$ab{'prog_name'} v$ab{'prog_ver'}\n$qa\n$lx\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$qd=$z[837]if$py;print qq|\n\n \n $qc\n \n \n\n

\n
\n
\n
\n \n

$qa

\n $lx\n

\n
\n
\n
\n
\n
\n| ;}if($ab{$z[488]}&&$ab{$z[303]}){if(!$ENV{$z[811]}){print"$ab{'debug_output'}\n"; }else{print"

";print"

$ab{'debug_output'}"
if($ab{$z[303]});print"";}}if($ab{$z[838]}){rmdir($ab{$z[508]})
&&undef$ab{$z[838]};}if($ENV{$z[811]}){printf($z[839]."\n",time()-$^T);
print$z [840]."\n\n";}exit;}sub bu{my($gd,$il,$qe)=@_;if(defined
$ab{$z[134]}{$z[135]}{$gd.$qe}){$gd.=$qe;}&bv($gd,$il);}sub 
am{my@qf;my$cz;foreach$cz(1..3){my$qg=$ac{"sort${cz}field"};
next unless$qg;$qg="#$qg#"if$ac{"sort${cz}numeric"};$qg="-$qg"
if$ac{"sort${cz}reverse"};push@qf,$qg;}$ae{$z[13]}{$z[170]}
=join($z[688],@qf);}
# ----------------------------------------------------------------------------
#   Programming by interactivetools.com, inc.