Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

Current Path : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Version/

Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
Upload File :
Current File : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Version/Func.pm

package Version::Func;

use strict;

sub new {

   my $class = shift;
   my $self  = {};
   bless($self,$class);
   return($self);

}

#********************************************************

sub name {

   my $self = shift;
   my $o    = shift;
   if ($o) {
      $self->{'NAME'} = $o;
   }
   return($self->{'NAME'};

}

#********************************************************

sub predecessor    { return($self); }
sub parts          { return(0);     }
sub construct      { return($self); }
sub equal          { return(0);     }

#********************************************************

#  Merges object to another object
#

sub merge {

   my $self = shift;   #
   my $main = shift;   #  Main-Branch
   
#  If no changes were made in main obj, dev obj replaces it

   if ( $self->predecessor()->equal($main) ) ) {
      return($self);
   }

#  If no changes were made in dev obj, main obj remains

   elsif ( $self->predecessor()->equal($self) ) ) {
      return($main);
   }

#  Divide main obj and self obj in parts and merge the parts
#  Return value of the parts function is a hash with
#  keys: names of the object, values: objects

   my $parts_dev  = $self->parts();

   my $parts_main = $main->parts();

#  If main or dev obj is atomic, merge manually

   if (!$parts_dev or !$parts_main) {
      return( [$self,$main] );
   }

   $merge_result = {};   # Here the new merged parts take place

   foreach $name (keys %$parts_dev) {
      if ($parts_main->{$name}) {
         $merge_result->{$name} = $parts_dev->{$name}->merge(
                                      $parts_main->{$name});
                                    );
         delete ($parts_dev->{$name});
         delete ($parts_main->{$name});
      } else {
         $merge_result->{$name} = $parts_dev->{$name};
      }
   }
   return( [$self,$main] ) if (%$parts_dev);

   return($self->construct($merge_result));

}


#*******************************************************************


1;


bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped) Email: contact@elmoujehidin.net