Make(delphi) ver(4.05 build 186) Add(MainForm,4010987,329,504) { Left=20 Top=105 Width=348 Height=362 Position=1 link(onCreate,2410968:In,[]) } Add(Img_Shift,1802431,602,259) { Pixels=0 Point(doDirectShift) Point(Result) link(onResult,15185141:doEvent1,[]) link(Bitmap,4627629:Var,[]) link(ToShiftBmp,5520621:Var,[]) } Add(Bitmap,5800488,273,35) { Picture=[ZIPE62C000078DAB59AE993A5D77DD7CF7ECEB3AF77E9DBCBED65B69EBD47D248AD9164A965C9724B8AA4B6EC58E3D8913DF1A28C1D70DA7625191B1B3C368BC771008518A36087C255842027143105155C14552C45F10A5E52F092FC1D7C7E77F81718A9E7F63CF7B967F92DDFE53CF7E8D5BFBCAC567F6E3AA52EF0FADBFCBCC98F566975FDCFB8D8170F7FB8B8FA73FAE081BAF7EEBBFCF0CAEF77EFDF57A7FC7EFAE0BEBACFF5D37BBCBEF79EBAF71EBFF3EFFBBCDE93F7E45E7EEEDCBFA7EEDEE387D70772DFBBEFA93BA7A75CBFAF6EF37ACAF553799F311FF0F907ABCFBFAB6EDFBDAB4EF9FDEEDD53755B3EFBD39F3286DCFF409DDCB9A38E6FDF617EC6E2BEDBFCFB1EF7DCE79E13F91CE3DE655D77E5BDD3BBEA0EEFDF66BE7BF765FD0FF8EC6DF52EF71E1E9FA8FB5CBFC31CA7EFF22A6B3EBDC7FAEE32C76D757074AC8E19EB3EEB39E1F5F0F088759DAAFDC343F6F6AE3AE6F79393137524E3BDFFBE7A97F51E1DF319AE1D1F9DA8DB27B7D9C37BC484B533E6035EEF31CF09731E9E1CAB83830375C4BDA7CC79C4D827F74E559AEFA87DC63891FBD99F4A2DF31DB1FFF7D583F77FAADA8343D6C50F6B383E96310E956A5B7587F81DB1CF1362799BD89CDEB9ABE63BFBEA80F17764DDBC9E70FF5DD67A445CF6D9FB31EB3BE4DE767F5F1DB2DF23B9C6EB5DF6D1B28EFBCC77C43A8FB8676735CF5C1DF27A42AC0F18E7E4F6897AF7E73F67893BC486EBCC3367ACD307F79893F5F1FE6D62BAC3B8F303D6C29AF689D97B8C7B7C7C9B7CBDAFEE30CE9C1F36AAF6F9EC09EF1FEE1FA863C63A9558B39E7BC4ED987DCD997F877B0E584F9AEFAB24F749FED8D7917C8EF10FB96F87EBF2A73D3A220FC7DCB7AF76F8CC9C3177F8DC6D59D7C91DF672B4AAFC63F6B47378AC0EC9F109F7B73BE480F7F789C131F7BCCB7A7788DF2173DC613D27C48405A896F15ADEDF3F200FE4EE983D273E7FC87CEFFDE2176A9FDC1D3246621DFBACFDB6D4EEFEA13A247E89F51C93F77D3EBFB3431DB08FF788E5F1ED63B5236B963CB39EDBC4E9C12935CBFA8E8F994FC6B973AA76C861E2DAFFEF3F85313A8BC61A6B95AAFEB98FA64A17BF74FD731FB8F054504E451794B2DEA6328F41FB7AB2375156D9C9FECE749ACEB4D345D557DD575D1F9C33CA285D071D9DDADBEEA6495556555C7256471FD64D6E546AFEF817EFB8B4A694F1CCCD3B3A82454E75339B19CD84FEC2D95FFAC1671FDF9AAECDAD72AE63769D0D59BDD56ABBD65549B94EB9C9ACEDFBC6A4A9A5349D7353E7FDFC64A1196DC8E3DA5AFBC94EB12D5D69A71655324FBAE44277EE3FFFF90BB6A80AAB56F0C77B21B87E7AB8756161AD663D4E5717F6BF74F642F2CCF21D0AC7AA52FB74E1AE323A5A75A35A6B2713E7DAC93428FED38964F593AE6BD419651ABD51C69867B17E296E1ADE2FAC7166ED6C0AC685ADADE71FCF8D89510599BB991AF63071FDDE7EE74234AAA98A924F9B6B973DDB09DD4E70B94DDBAFFC853FD3A8604D084A36A7BCEDD96C50B6F28D759DEBDB222F94CDA32AA3B66566B205DBD6B55EB0FDAF7431585BCCF7A79B918FE7964529350F57FB6EEB7A72767ED06CD8E4BDCA93F27ACCAC25894D22959BC6751F9B162A38CAA3B05E0F65561A49184398A05548EDDABC4AFE9A21635A799FD7C4A8648EB2D4DA142C22E6247772AE2D5883F1BA58D18DDB3BD7396D3D45621DE92DBCAA54F49ED272817DA7DEB66C2B69AB341FD30C51EA228B5A7BDFC800AB22ED53D5547AED63AFCCD8EB93ECC4059F525328C72C59CD4CDED7F6A949C75AFCA666357C723269A75936446D825586287B5BA837E7BCB770C652A45CAEC37A5B3DD275AD93FAE0066DF4E8BD0F0D3B5715A12A5A6B2A3FFBC0171E6F55F8F7CFBAF6EAD5C436D8208D535371CA1661410B71BB5BDA5B7E7355E713F6C26E8867CE1DCE4BB09A40E4B4A1F554A4BECEC727928DB48A0D957E918E530B1BB3386A8215DCDAD4B99C26D5E9E095CB336FDBDF7E7A27CC3EB5C33E9CEADD822E33DE5B098FD545D4F9A697BA923A1F36E2F0BAED26C925F6615CBA186CE1D3DCB8DF331D09607B56672F7FE4E5DD92EA7D71114002EF54E37C3968B2E7AB26244FED3AFF375F6B5248EE3FFDE4D9C96CA6DAF48877056963526572CA40E7391B8BF935DD9412F397E379FEB55EADA56053D7D3AAAAD834560A8B1C48D7195B15C3CD6188AA283CE52999547DDB68E66688CC84F1E618554EC226441C66F8C34F4FB65AE2E5575BA7988CFAF447735D6683CE6433E4DB67CC3D0CBF5F649FD98899A90F9EFF4E02492AA6CCA43217B64F3929C819B0D4C1D3FC9A8593A94EB5B369E1CB318FE434328BD57599AE7F2AF557CDC11FFEED6FFF64A688EEEBAAD96184A60920125B33A50744293C1FA3EC7B7788D116797A95F7BEF4C2B3547BE1376BFADE18BBFD9386DA52B5D5A1F19E2A1CFD38464F48824B235DCC32CA22ABD8D2405D986EDE5D68ED8F7FF6B3B77FF497D4299DA74A952859DB8031FA56B318F5582A1D3783925A335CA485B76F3F5ADAFD69BC4341D17F73021EB3B7FECAA7A7CE18C5C64C22FAB6725E1ABA071F470F247B0BFA14B531754E6BD9455A43795C79FB9D3FFDD13BFF22A4A7276D57E865F48511C030349CCB33B3A8B49EAEB8A4925E1BF56F4CE8FDC664596D74C79DBC51DB2B2FFCF446349B171F765549F8293292AD7CCF2D848E5EA0FA053E542345B45E77BDAB7EF6F6DB7FF7B5EBAEB255174A5338B9D3DB79F261EBA41C7DA1B28DF9725C111923BC2838ADABC518DB22B982A904D6D5D9ABB4392103DF804B02DDF29F72C0A603559AA5BAA54B6F37222D0F6FF8E5F9EC1221A25161BD3C7A7DB12A69531F42B300E8F7528897B28D0D29422D1328D9235C4223DA3465FC145CA3EB9E586A7A2DAA9A22235BCE6D13E97E0282C3598D2FE94792C68A55AEB3CC9BA44670BAFBD8473D5C9AE7A307F173CADFF9262DF8DBA43864D4E698D7DF2CB331CB5751B73AC19C9BE12A5C12DC82620BAA9F487718A7D58092E935E136AAA7775B80A4673AE30193BAF0DE14BA6E0ADB80C4C1758F3DD352200040D2A6D4677C4D517AD95B6397B65924278166C1B18CAB7CB37D30A7EDDA9E5DCB4B1FD4F64CD94764345A536F44459D104A3A35F8156D7A36C97A92A5CC4C45C544D30477B94DC22E203E6BE33D81CD509886D631B6D1AEDB71BDAC99E2893705D7EAC8CA6C8245A95E9850E0D7E9477273119C01230A36C9289504588506295394EBBBE8133DD4AB65E804C6418AAEBF9A7A07D19B4E04C8D248DC4ACF829790940FFBE77EF098808DF379920A21A0852C0FC6D89BB690709F0060C03ACB754C7D7B61D62F92DAB4AD8F7411959E8F795ECA9221465B98335D518BDEF09DABC2B472D56BA1320825B7A426C90B6526F3EA82064DD72E7CEFEC87DD5EDBA505A17938888D9BCA9AD455925FDBB54924C2D85853579DABDD941C2755D7C65228630935826234D5927AA19AD58270849EE06D30D89A3268A3C96CEA03811564A2229B456DA1817A7AB27FF4F34F3F3685CE8C5D91097FAF57E0C67E4F4D4B195767BC6A6CA92BB0CABABE937834009E8FF41E51DA82866A115BA534125A2E3B4FD164BB65E07D0BA5A534B1AB0E6A7408B4361CAB1D4C586D5F3BFCB71F7E55D4CE6A6EFACF9A75D115173AA13913D2DECEC48B8DCD4B21D73AF45DB0950028E921F5D55EAA4BE30B28827A5B469DD15359BE9B9519E22419132062F00D7D031334BE08FAFBBE3B278A73D29E3DF8F86BF44B9EFC4A2B46B6B83EC4D46D2D50636800CADDB0648BFAD082A4B46A2530664303025373229C7418730A95A23628C3E152360E63FA46AC8B7543C5B9B5AEF721DD0237D292BA4E27C13648DEFD9D8BA70EF53B15B926C20E795EAE97E8B5D63C412F4164D6F66A335F0B46C455AC01A92BCA4B98401944ABA330E44FB300652019769CD1B2E6A5220768D673D377FD849E6A9B10C6A2300B610ECB00D3B3DBFE228B8DD6AF26277225CAAE46D3D7180312C4627B11379A8676453994EB301EE5AAEC932904F84E18B530CFF9B04897112CC92C9530A92071FC079FF063D55DEF51C437263B244DE70205D6E609FD700508F700A65BA19A2F08EB406C050BB935897A25EC62093EE0402DA3EA69A449130C0C92C5EA8B145A4E704B6B5164CB4C5A3CD26AC822E54BF33B1F9A66C313C45D858BB5728B82BDA0928DB81C043F2D9344714ABE13D460563CC58B752DBBC3D4B87E023FCED962959088093F53E5C5427AC2FE9F1034EACDA8D16C5AD8CE27743139856A3A95B67FEDF6871765F644B014303CD57D43170A8E645DD4E0DAE559FB899D76EA1BF10680BC88455B6F9A14304C1AB99451CD9D338F58BF4CA2642748888086DB0A6E596784C0367D42CB65788CD1CC2F3A316D49750C9EF67FF75F7DFEB7B81C0DE803CA933D309F40AB224C5DF7CCE5CB93EDB5F41070376D0034EB52601AEBE64D2850A4BF5AA935529FD45E77A39ACF93143988E35283FB7AF483B2E439CC578C190E869AAEC06B008DB05E7EE16B3F9D08D327317CC6AC1A11FE46CDABF9646BEBA557CECEF6BE1AA632F7A4D860C9E240587C5696B68463320DED176A5D1D3D6762695D8557612675F668D6F540ED0E3AD58A220702F2BAEABB2B4A24BBE8A42F7CF6C3F3CAF2A120423F054A9F99E90E80D6765B5FFFFC7F7C696BFFAFA623A935B6C4650CD5CCE6D9FA7AB6811ACC818D3AC614AAC7F0AE4DBF46DF7DB06D1F493FFFD62B8FEF006C7F7D3669C3190FE214605D08D7FBFD4060D8A6265A324F61A21487700625A84B8006C9787D7F32EFAFFD606BBFEF1946C5E853432764E5808485D5077EC14F50947E9D4836A27181CC8558A5EAF39F7F0C917AF1ED77BEFDDF6F88942D7099C0E213E9E2233075108A05C189377352D441B857FA2C3B9F6D8C59F795AF4FAE4FCCE4ECF5C9C1D987FDFDFC331A8861C9B0AE2EC798ADB3DE72A87DF26E12BA562151D32A3AFAE0198824EAEFFD9B1FBDF355BC3D095573D4F1003208EE92BB24863BF84D153AD135C6984C8B3417660CDBD7AE5D787A7FF6C3C96B9F7B45626E0E7EE977589A7968C6E5BE182F0D24D99F71FDE17F3937DBE9B57DF1A282976C8F05AC19EFADFFF1F6BFBC81CA11233855BA510D0AC00B4FB63D7D4A415722A4713439FC598EBB03E326932E5EDF3B3878E6DC5C559D6CBB33E9D567931112ED8B52477D499B8A343DF5A1573FDACEFFF5AF7CF2F1D63CD465418D64B0001095BDF6CE07D4CA35B0AD38D678993AC83653AFC2642755A937F23E8546319A3FA27E07A8686AFBED93AD1F3E9D9EB8398808405C531B16344591006D8513AB19C233AFEC93BF7FF7ED3FFFB8326F8A901338D7E20F51302A769D5A0A44A307E124611CEAAC4CF0F86CB20D1005AC6D39BC647D27029AFF6D8E7B44014D5E9DF4EBC3A59544667DBE162AA5DBA10D96E243ABA6A93A6B525A3BF8A7CFFF290636C9218B6B42C5FE6135E8170E2C4BDA597C2074E6CD13681A48C2ABB5E63779DD1DCCA58C5EB51B95D2798C6BFFB3AC634D35557B53F38659CD8B08053620C9B54A745D5D538723F0BED65ABC4675855AA0C4FC664EA758EE20F6A63C5FE80504019442AAD4189A64CC4471EBB2C4D7A931CFE82A238718858ECBFDC64DBEFCBF9BD140266356C111B95F69A6ACDC90E3045C6C6828A7EEDC973F5AE488CF35B18F31D86B8C6D576139B332A1ECD2063098D414A2C4C803B6A141AF2C1AE33F4251476973292EC8582408D568DA2FDCC2C5EA914AC6BD4612B5C296D2C8E91195CEBEC2A39F7BFFEF7D37FD7DC2247205AE848F253C6F35392829F2DA7C45B6DAAC5DA6EF70BF41574ECBD1986B9242A597A4621D4DEC110195D988E81DED1B55F723F1A025074C92CAF2558FA809000481C34B3508D8B4FFF8F13972DEA9D27215E9426021ED1FDE80F902F1F6A25430496879B538C3AA82AFC4A207919B3E1302D1C22145C30637D86791BF9E17F9B2ACB5CD4AFCBAE75FB8D951FCF7CE681E161AAD65A2EC1D997E753A6B3CA01EF6CE903339F9502BD924AC2B1606E63DF75F6F61A66B23AE9FF0268CD3EB085337168282664A0396D912450D8B504109497749629E8DC83A952BE93167442261C842EC290F3769276D0BEAB73BE90CCE4F1CC3020F531B395332D15662138AA77EED97B734D8AB8AAA591DD290F2474198D03A441411B263599B01B5C57CE5EE904FF32266C51DE06DC897888D51A00CD51080C11635E04CDAFA540BB5C6ACDA6E956BBFEFE018514B12163082ECC465692035AD10EA392B869D161E5E6EAF4FDA9DEB330C6530726080C3C7FA6519B72322070C1F50ADF5469E0F5157776F851BCC7DC1117039FF6A7ABC3A1E8049DE184C259235C60CD128FE092D349664C786AC1017E763A6446C89EB93F26827B3CB93CB87AFA5F9955BE01B5381782C5553F7B6A6B806BBC382E4A0117994D54D581DCDE95A84411D2CFAC4611EA3304FF476BDCC51E15793178689D2BD301682CA4BEB6A035E0488B12245CC4ED157A6DD693B0B48388171B309E8311DBD2E527E3375BE8CA346CF485B20AA99FA069365024CDACE6DE5CB75EBA667D09DC6CE5187180C7C5BC645E9684ACD032DB823AF9623DDA3DCDED5BE6DD67E1D897E73B776728E27454ED797A24E9538E15A16BB1C801CE72F6D94E7019E0C6DC6DC6BD85CE39FC34BD91A350F5FB27C879461968BB6AACCE76ED5123930E2BBBA291AEFA6E89860E7AE28548B86D9066DD6CD78BE44017CE6A61EADF7B99AF85CEC93AFDC52E28E07C86240FDE6031E2665AADD6956065965180DDC5939C47C6E37CA0D54AAA9ED799BE638B024DC6F32398B03C6FD93A94511C9D944DCFA274836F1D35E0EEDC45467979001259AF0D60441E3E58C5C3426DA3D2F2993723D1F7556D4A6EE268F3D266D13E42806F4670623A701E5707CBC5E37705445E1C5BCA207B54A2234BDA007958C08AB8DFFCDCBDAD01A5ECEB309946457ECB0758D41A235E8354F89E2E1C612031DB37C8C82B4D4DBFAD90B13D12DF4B8AB3C24F57006531534C7133516ADAAA8D6CD5816188EC43A7C2FC73D2F7A10A6F665E17F7C567D6FC2D84140C0D359405AA6DCE43AACB197710FD4E7BEABD4C215A391AAA3B541EF01957D6DABBD27DDB2C4002421FED294B943C77B39C210FF56CF11D9BA7E8C7AF172FC4DF413D3B4A4C923CE5EFA280D26B55F350E8A4B618A75D66A76C10965BFA8DCEC43B7C4D6448F829153AEAC28065B827B59FD84BAB23A7E174CF652B3218508660B1B1ADFD481A25D4743CA912AEBCD9101B668BAAF7FE8689A9A641EE5E63C56ABB3683207B7B1AE588473B88A31C769F4E7F6A4CD37331A16348C72966B84C8BCCA3F520B9E03606AD2E18C1ABA9AFD06596A817ED1BBC3CD180BBB363BD7AA47E4DC909EE967775FFAD6CF674A04292C1A2DE050E7A81AE4D2932C321877C56F685F2CBD9F1C6DFBE6FB50786ED59B459DD7638997A216D24297978615A6C2FDA28950A5A54410863C430AAAC2DBA51CB3B9FFB575191521BE02DBF3CBDF7AF6E92DE117667B323F4F55438DB672464C2EA3118784FD8B7AF417268B8DA403FF2AE09331B7B9A6E122F8BEAABCD5798B0AA9A38C9A027856027B88084C08590875FD88DEFFF096A13CE672AF4F3FF83B1F3FB755F8AA4F643596921E782BB5E231E5A41D83FF920B0D2E6F6DAB4756942815948289384ED95E51E651CE1057CF2D839BA888A7506F467D269C79926A04E3E408CACA03B47878F7ACC815DD86854FD1CE0EFEDBE3F9B819265B2D8A293EE9F25421799EBA00F28A234413CA73A952A3CBA0346664EA2C9F16D932755D1722501CEC57C2EA409F2B7248C6BE5D3A3B43E6003899CB44EB13EFDC5C3B742B9FFAEA5F346A9DA8A6C35A556D9B5AB80CEFFF2BB7AA0AB087FA75ED843D1D5847828BEE8BA6B0AA94673A36A689976262F4721836E4C822AECE5BFA204F086C3FBD3B7B7E47BB05C606F925EED17EEBDC0220271740F9D72EC8E990DE446270775ED554D79E55FF68BAF5CFC02C2F1E808E83D868BBD5EB454DA7E06F802C6FAFA5227EF3526668F2E5EB43E9C5D0AFFC77E14BE7AE3F7FFA12FCD16D4F95C2F492B370F5AFBDF027A09E97A3AFD6514FAC76E5144D0E70C4B8A18B2A85679E356A73235B19486AB5923F16B99667193BCC912972EA00B58C9786218374FED6EE8082D1EAFF11E37944D916CE7EB23FDD665B00BA276017FEC6879C9C7A45DDE3C7D876B1A496433237708F16B6285785AAD64B5F95C5A69C518181B59CA85A0BCC0DE332E485199149F8F4B22C57F22DCFBE7129D3BDD4F920062252564F587BE637AECF668DC4AB5A99C4C9DECAA490C68215CB490ECA2C3436356A0A9698BA32A225B53C45D62277E1E5521C011290BA93235F14444EC5E534E300CDEEEE66591987EC78C5DF72FB1BF0DC889AABCE765F7A669BF9547B867AD818CA4BB53923077A721244734ACFA068C5DFC27C8880DA05541E78C13FC4180C68E04CD8147942CF8DE392AD12FC282673A9B35CAC51B63B708FE0A1B6507BB1FA7FF3E2D6E48373E29A26AD9C3AEDBEFC0674CC94D89286888DEC8C2619C855572172640F41F6CC1675D94D3379F6A9137C8FE4CBDF24E3AC0889742937434EAFCD793FCBE350BE58BE213A354DE84339E103C70028A20CFDB45382EEF141A2E5808086B1F3B43AA5C4FCA0F7BCBAD812E4B5CC4FBD1CA9E48076330197EAAAC0705F82B0B30C386BF2D521606E8A7160D5E5380EEB2A0E1DD961EE59DB220FB14DA2E3CC19254253AFB50A3D2608130A25D4E6E8FF661A402D358347A4A0CB42B1E9614060FBB8948AF1149416895862A491FF64029FC228327E8E09BF8364B38D2933397E94EF6D20B2E481F2728911998735523B22C852D398F5E8A99C52995ECEF4DB59EBA630F2339F24B98C95016B0F1F0AE38BE509BF95136568CF6F2E77C93B9BA13ACA521E46AA72A408F301A5EB8B6C90430851BB361B98A390D3048B765E919C3C0EDB52F27482FF414D646268BB763699B48D3CB6C5AEAD2B799A50FC786FCC6BEB33E4FE323392DE3CB5FE33D9EE28D55594480C5805ACE12DA915F64B6C5E8F6EF59CE8F73384097A47BCA568D0BCC076E064E69F27B602007266027B06D7A18643B3328DBE288C1C476A7F4D5225670B023568717650EBD7D91922A1C4E14D71A9C1AE4EF1A3FE4E96DD29F3D593B65C629EAD5C68544DB2D224A5E900911E7B15FDEAB9216F619190632AACC2B0FAB28098A44D39001906E999CC2EA310D590AFB3305642819B475E2E33DBCE0A2443966F641B765A9C1FC77ABC49A3D9756D1E7EC904CB40BD7851BAD23DADF2B511ADD525F41EB493F6B84B1EE4845C1E054A3951F4019856632307C180AC316F9D753AEECAF3C372C8BEC905725FCA715DB62B19AE1E6F674B96518071D9C61F647F24733748257BC630C93A5C5AD6552D95B47ACE12C4F52218D0A0F6B3DFD085456DE393B0632693BA41AAD9659167036BCDCA73595C66B5298D28E1DDA1E43F3A7D187EF58FFF007DFAD64B672F44A4763E3EF229B5A4C8A4D6A048A89F2629842AD382169172D495ECB0724FB5BDCD1DF62FF5628F229C2EB23A079EEBCDC6CEB96497BA8433EABC8CCF3D7BE9E690E5C54C6FB0DD8CC2BD74FC1F80C70C8D4676EBE0B15D49EA4DEABCF32B944C6E51CB73DDBC5E7D7722BD29604B91A737AB44A3C50DDABDBEE2E4DB0EC462F5A82E5AC96441F31623A164BC755D566F30E3EBA461C4CE09AA996C918D8319F8C8AA0B8C1CCA6C64ABEF799C591D91C5EE8569E3E5F93A8040D1FAA6D010558DCEC928C50C4B01455E947A9723908BA3598823B445B91454728B3C8E46BEA090D1F7D2A5E832808CDADEA0E9510F9A862E625E0F6346C2E9AAB0FA5AA3D46B78FCB77A39C0AA37280B3D600DADDD5C3DBA60E5C249E6134AEC24E677D5DFE08688B5DC2458C6E9B7FC6794FF66E52189F3A2543AB0341FCADD5D31FBDA88358872407B89FA93E771CB54A695B6B63ADFB8F2275ECC253AA3003E552DDF2CA0D5F86BEBF22D39F5474F35F235A646BE1813D70DE98A41ACA819E5B11033A18131F7B8CCB2BABAF328D2027FC32E7D415C18BCFF4248361F3F9295B56EC42F882782C656F2A576C9D2DC0BD5CBD195916F6BD9EC89EB693625CAA67AC9E13927ED94DAD7526C3891B3B30505AF2B3769BF46F3E1B4910201B26C9F9A1C4D1680B6916FA318BA7C32EB6CD7CDE50B3E4830EDFCDA97E54C33776D2BFA7CDAB63B73D7A0961E0D9B622D192BB7B36BE7720C430A28A17EC618CE19E250A9733B6FED6D8A85841FBAF907D1CBB97CF14524A17A7AE7A299C837B15C93AF9E935CD9EE67FBD7610468C988EB535FFAB3871B3615CC74D1574FBA3E3CC942800D58A99083DAEEEC5E92A0C9A3579F2A379DDA584741A111A28B3EA2128668E3CBC47EF57C529E78C823D5A93C763C7D976CC9C97465E7E9CAB69DC96078A37AB4467C8929E24C1573F97AD870BE6CBFF809B77AB6E1E48CC1A5AFEFAFC9374B744F8C6D408D48ED6CE4CF9129DA38132195DB5D296EE4031365E942A848AC7DF83527A3A6AD1AE095BC4656F7DB0DC683EA2EA25E3DABB1C5F6C76E94592D67BC79F5F80BE7E4045155AB6FA6A9EED50BCA3C572108D759E9EEF1F1CDCFECAE67BB11B19BE7E7B3811551C49BFE8A97DF02EC52C9B9D454E3C1AD89DD8DF9D64C9C8FAA40A90A114F0F041A196BBFD2C8F6F9C73F48B298BAD0DDFD0FFC3ABE4BCFBDE00CDC75D0540A7FEFBEB81425B27B7C539496399F8D37EB17432EE7BAE2C2B469CFFD43362A5F5A32AA9BED4C433F35437CCB6DCFDA62F52028BB5903BBC731481193567142EAFF02D7D8025D] Point(Width) Point(Height) } Add(Bitmap,10170188,455,28) { Point(Width) } Add(Image,7818132,602,301) { Left=10 Top=10 Width=320 Height=240 Color=12632256 link(Bitmap,1802431:Result,[]) } Add(Button,6409696,77,238) { Left=270 Top=275 TabOrder=-1 Caption="Shift" link(onClick,7451091:doEvent1,[]) } Add(Hub,7451091,126,238) { OutCount=7 link(onEvent1,4523665:In,[(147,244)(147,223)]) link(onEvent2,10373085:In,[(158,251)(158,237)]) link(onEvent3,16442702:In,[(166,258)(166,251)]) link(onEvent4,1011103:doWork,[]) link(onEvent5,12149702:In,[(166,272)(166,279)]) link(onEvent6,4987330:In,[(157,279)(157,293)]) link(onEvent7,5055004:In,[(148,286)(148,307)]) } Add(For,335889,406,259) { IncludeEnd=1 Point(doStep) link(onEvent,3257528:doEvent1,[]) link(onStop,5287965:In,[(446,272)(446,328)]) link(End,13771295:Var,[]) } Add(Hub,15185141,651,259) { OutCount=3 link(onEvent1,5699922:In,[(691,265)(691,251)]) link(onEvent2,14054825:In,[]) link(onEvent3,10073724:In,[(695,279)(695,293)]) } Add(Application,4687984,504,273) { } Add(FormatStr,15972595,266,553) { DataCount=1 Mask="[%1 usec]" link(onFString,13295883:doWork3,[(312,559)]) } Add(Hub,3257528,455,259) { OutCount=3 link(onEvent1,13674256:In,[(495,265)(495,237)]) link(onEvent2,1802431:doShift,[]) link(onEvent3,4687984:doProcessMessages,[]) } Add(DoData,4711917,217,553) { link(onEventData,15972595:doString,[]) link(Data,14088096:Value,[]) } Add(Memory,14088096,217,385) { link(onData,16409974:doOperation,[]) } Add(HubEx,13295883,308,504) { link(onEvent,4010987:doCaption,[]) } Add(FormatStr,1257612,266,504) { Mask="%1 sec [%2 usec]" link(onFString,13295883:doWork2,[]) link(Str2,11601643:Result,[]) } Add(LineBreak,5710452,77,385) { Caption="StopTimer1" link(Out,10307360:doStop,[]) Primary=[5699922,623,-140] } Add(TimeCounter,15077783,168,497) { link(onStop,5493787:doOperation,[]) } Add(TimeCounter,10307360,168,378) { Precision=1 link(onStop,14088096:doValue,[]) } Add(Math,16409974,273,385) { ResultType=0 link(onResult,12662142:doValue,[]) link(Op2,12662142:Value,[(286,373)(307,373)(307,429)(328,429)]) } Add(Memory,12662142,322,385) { } Add(Math,11601643,273,462) { OpType=3 ResultType=0 link(onResult,15077783:doStop,[(317,468)(317,489)(156,489)(156,510)]) link(Op1,16409974:Result,[]) link(Op2,2431524:Var,[]) } Add(Math,5493787,217,504) { OpType=3 Op2=1000 link(onResult,1257612:doString,[]) } Add(LineBreak,4957984,210,420) { Caption="Clear" link(Out,12662142:doClear,[(313,426)(313,398)]) Primary=[16442702,-35,-175] } Add(LineBreak,10592864,77,497) { Caption="StartTimer2" link(Out,15077783:doStart,[]) Primary=[4987330,98,-210] } Add(LineBreak,12455440,77,371) { Caption="StartTimer1" link(Out,10307360:doStart,[(155,377)(155,384)]) Primary=[13674256,427,-140] } Add(LineBreak,14453189,189,462) { Caption="StopCycle" link(Out,11601643:doOperation,[]) Primary=[5287965,266,-140] } Add(LineBreak,9300641,154,553) { Caption="Timer1" link(Out,4711917:doData,[]) Primary=[14054825,553,-287] } Add(ComboBox,8411023,119,77) { Left=10 Top=275 Width=120 Height=21 Strings=#5:Right|4:Left|3:Top|6:Bottom| Point(Index) Point(doSelect) link(onClick,4102063:doWork1,[(162,90)(162,130)(116,130)]) } Add(DoData,12818527,133,140) { link(onEventData,15256487:doEvent1,[]) link(Data,8411023:Index,[]) } Add(GetIndexData,10997571,280,140) { Count=4 link(Data1,14020573:Var2,[]) link(Data2,14020573:Var3,[(293,93)]) link(Data3,12872083:Var1,[(300,93)]) link(Data4,12872083:Var2,[]) } Add(GetDataEx,14020573,280,88) { link(Data,5800488:Width,[]) } Add(GetDataEx,12872083,301,88) { link(Data,5800488:Height,[(307,78)(293,78)]) } Add(Hub,15256487,182,140) { link(onEvent1,10997571:doIndex,[]) link(onEvent2,10542228:In,[]) } Add(LineBreak,2420373,21,133) { Caption="Start" link(Out,9690906:doEvent1,[]) Primary=[2410968,357,385] } Add(Edit,10558978,329,441) { Left=130 Top=275 Text="1" DataType=1 } Add(Button,16657660,119,35) { Left=185 Top=275 Width=80 Font=[Arial,8,0,0,1] TabOrder=-1 Caption="Load" link(onClick,5049552:doExecute,[]) } Add(ODialog,5049552,161,35) { Filter="BMP, GIF, JPG, JPEG, ICO, WMF, EMF, PNG, XBM, TIFF files (*.bmp;*.gif;*.ico;*wmf;*.emf;*.xbm;*.tiff;*.png;*.jpg;*.jpeg)|.bmp;*.gif;*.ico;*wmf;*.emf;*.xbm;*.tiff;*.png;*.jpg;*.jpeg|All files (*.*)|*.*" StartDir="" FileName="" link(onExecute,10256865:doLoad,[]) } Add(Button,4553297,77,315) { Left=270 Top=300 TabOrder=-1 Caption="Stop" link(onClick,8080666:doEvent1,[]) } Add(Hub,8080666,126,315) { link(onEvent1,5050765:In,[]) link(onEvent2,67203:doWork,[(166,328)(166,335)]) } Add(LineBreakEx,1011103,175,259) { Caption="ClearImg" } Add(MathParse,4993284,329,140) { MathStr="(%1 div %2 + 1) * %2" ResultType=0 link(onResult,14929990:doCalc,[]) link(X1,10997571:Var,[(335,127)(317,127)(317,179)(286,179)]) link(X2,10252239:getVar,[]) } Add(DoData,3380290,364,273) { link(onEventData,335889:doStep,[]) link(Data,7129215:getVar,[]) } Add(LineBreakEx,10252239,336,105) { Caption="Pixels" Type=2 } Add(MathParse,14929990,385,140) { MathStr="%1 div %2 " ResultType=0 link(X2,5795371:getVar,[]) } Add(LineBreak,2699405,385,182) { Caption="Cycle" Type=1 link(Data,14929990:Result,[]) Primary=[2431524,-105,252] } Add(LineBreak,471399,546,301) { Caption="Paint" link(Out,7818132:doLoad,[]) Primary=[10073724,161,-14] } Add(LineBreakEx,67203,175,329) { Caption="ClearImg" } Add(LineBreakEx,3817266,525,322) { Caption="ClearImg" Type=1 link(OnEvent,7818132:doClear,[(594,328)(594,314)]) } Add(Button,14419896,329,28) { Left=185 Top=300 Width=80 Font=[Arial,8,0,0,1] TabOrder=-1 Caption="LoadToShift" link(onClick,2086442:doExecute,[]) } Add(ODialog,2086442,371,28) { Filter="BMP, GIF, JPG, JPEG, ICO, WMF, EMF, PNG, XBM, TIFF files (*.bmp;*.gif;*.ico;*wmf;*.emf;*.xbm;*.tiff;*.png;*.jpg;*.jpeg)|.bmp;*.gif;*.ico;*wmf;*.emf;*.xbm;*.tiff;*.png;*.jpg;*.jpeg|All files (*.*)|*.*" StartDir="" FileName="" link(onExecute,7947055:doLoad,[]) } Add(LineBreakEx,5795371,392,105) { Caption="Pixels" Type=2 } Add(LineBreakEx,5554643,329,483) { Caption="Pixels" Type=3 link(_Data,10558978:Text,[]) } Add(LineBreakEx,7129215,364,217) { Caption="Pixels" Type=2 } Add(LineBreak,13031614,329,182) { Caption="FWidth" Type=1 link(Data,4993284:Result,[]) Primary=[13771295,84,35] } Add(LineBreak,4955348,273,105) { Caption="Bitmap" Type=1 link(Data,5800488:Bitmap,[]) Primary=[4627629,329,105] } Add(LineBreak,9666100,455,70) { Caption="ToShiftBmp" Type=1 link(Data,10170188:Bitmap,[]) Primary=[5520621,154,161] } Add(LineBreak,12121560,273,182) { Caption="Calck" link(Out,4993284:doCalc,[(322,188)(322,146)]) Primary=[4523665,-98,35] } Add(LineBreak,15708130,539,280) { Caption="DirSh" link(Out,1802431:doDirectShift,[(591,286)(591,279)]) Primary=[10542228,-329,-133] } Add(LineBreak,8623414,322,238) { Caption="StartCycle" link(Out,335889:doFor,[(400,244)(400,265)]) Primary=[5055004,-147,63] } Add(LineBreak,11595663,539,252) { Caption="Load" link(Out,1802431:doLoad,[(589,258)(589,265)]) Primary=[12149702,-364,21] } Add(LineBreak,16638419,322,252) { Caption="StopCycle" link(Out,335889:doStop,[(395,258)(395,272)]) Primary=[5050765,-147,63] } Add(LineBreak,11376056,294,273) { Caption="Pixels_2" link(Out,3380290:doData,[]) Primary=[10373085,-119,-42] } Add(HubEx,4102063,112,140) { link(onEvent,12818527:doData,[]) } Add(Img_Loader,10256865,203,35) { link(onLoad,5800488:doLoad,[]) } Add(Img_Loader,7947055,413,28) { link(onLoad,10170188:doLoad,[]) } Add(Hub,9690906,70,133) { link(onEvent1,8411023:doSelect,[(102,139)(102,111)]) link(onEvent2,4102063:doWork2,[]) }