anchor.diff:  
   	(new Tree 'plugin_data)
   	
  -	(while 1
  +	(while true
   		
   		(if (and (not (nil? (share base_in_mem))) (list? (share base_in_mem)))
   			(begin
  
positive.code: )
  
  (define (do_plot arg_file)	
  	;(setq PLUGIN_NAME "voc")
  	;; store whatever the plugin defined ,the name"test_plugin_data should be unique, because this is like a namespace, newlisp has no sub namspace except under MAIN
  	;(setq my_sec_name "argscmd")
  	;(setq arg_file (string "rules/" PLUGIN_NAME ".arg"))
  	
  	(set 'in-file (open arg_file "read"))
  	(if (not (nil? in-file))
  		(setq abc (read-line in-file))
  
negative.code: 							(if (nil? tmp) (setq tmp -1)
  							)
  							(BASE (string (slice short_address 0 4) "_VOC") (int tmp))
  								(share base_in_mem (BASE))
  								(setq read_buffer (slice read_buffer  (+ (char (slice read_buffer  (+ pos 1) 1) ) pos) ))
  								(setq pos -1)		
  						)
  						(and (= (char (slice read_buffer pos 1))  0xb2)  (true? (check_buffer_sum read_buffer)) ) ;; Ports log
  						(begin
  							(setq short_address nil)
  							(setq short_address (format "%04X" (get-int (reverse (slice read_buffer (+ pos 2) 2)))))
  							(setq tmp (get-int (slice read_buffer (+ pos 4) 1 )))
  							(setq status  (get-int (slice read_buffer (+ pos 5) 1 )))
  							(BASE (string (slice short_address 0 4) "_PORT_" tmp) status)
  								(share base_in_mem (BASE))
  								(setq read_buffer (slice read_buffer  (+ (char (slice read_buffer  (+ pos 1) 1) ) pos) ))
  								(setq pos -1)
  						)
  					)
  					(++ pos)
  				)
  				(setq handle_over_flag true)
  			)		
  