#!/bin/ksh
## ************************************************************************
##                                                                       **
##    Copyright (c) EMC Corporation All Rights Reserved.                 **
##    Copyright (c) 2017 Dell Inc. or it's subsidaries.                  **
##                  All Rights Reserved                                  **
##                                                                       **
##    This  computerprogram is CONFIDENTIAL and a TRADE SECRET of        **
##                       EMC Corporation                                **
##                                                                       **
## ************************************************************************
## Author:      Adam Kirkpatrick - EMC June 20, 2008
## Scriptname:  adme formerly ato and akw
## Purpose:
##
## ADME provides a granular client selection process, improved automation including date range calculations, generation of tape scripts,
## generation of batch scripts, improved functionality such as incremental concept, ability to distribute data across different staging
## FS and/or servers, ability to use different tape backup servers and staging servers concurrently.
##
## ###########################################################################

Version="Version-19.72b"

BuildVersion="19.setbuildx"

if [ "$(echo "$BuildVersion" | grep -c "setbuildx")" -eq "0" ]
then
	Version="Version-$BuildVersion"
fi

WEBUI_BUILDREQ=" 1.0.67"

usage_rtn()
{
	if [ "ARGS" = "-H" ];then clear; fi
        echo "$BLUE_BG$WHITE_FG$Version$DEF\n"
	echo "For Technical Support contact the author@:$CYAN_FG adam.kirkpatrick@emc.com$DEF"
        echo "$BOLD ADMe Usage Syntax: $DEF\n"
        echo "$GREEN_FG   [Env#] $BLUE_BG$WHITE_FG -select -gid <grpid>$DEF$GREEN_FG"
	echo "            [ -first | -last ] [-first_F | -last_F ]"
        echo "            [ -week <day> | day_# ]"
	echo "            [ -client <name> ]"
	echo "            [ -sdate yyyy-mm-01 [-edate yyyy-mm-dd ]"
	echo "            [ -nday <#> | +<#>"
	echo "            [ -rday <#> | <#-#>"
	echo "            [ -rmonth <#> | -rmonthx <#>"
	echo "            [ -sql |$RED_FG -sybase$GREEN_FG | -sap |$RED_FG -linuxfastinc$GREEN_FG | -lotus | -ndmp | -oracle | -shptvss | -hypervvss | -vmimage | -vss | -chkpt ]"
	echo "            [$RED_FG -exchdb$GREEN_FG | -exchvss ]"
        echo "            [ -gname <policy-group/label-string-value> ]"
        echo "            [ -rtype <daily | weekly | monthly | yearly | none> ]"
	echo "            [ -cloudtier ]"
	echo "            [ -data <networker-savset-nam>... | -xdata <networker-savset-name>..."
	echo "            [ -data <include path/folder name> -data <include path/folder name>... ]"
	echo "            [ -xdata <exclude path/folder name> -xdata <exclude path/folder name>... ]"
	echo "            [ -mail | -m ]"
	echo "            [ -nwinc]"
	echo "            [ -buid <buid#...> ]"
	echo "            [ -butype | -but <mod cod nah> ]"
	echo "            [ -d -D... ]"
        echo "\n   [Env#] $BLUE_BG$WHITE_FG [-migrate] -gid <grpid>$DEF$GREEN_FG"
   	echo "            [ -archive [tar | pax | tarcom | paxcomp ]"
	echo "            [ -avamigrate '/domain/staging server name on target Avamar system' ]"
	echo "            [ -avtar | -mccli ]"
	echo "            [ -avflags <avtar-flag>"
	echo "            [ -cloudtierrecall"
	echo "            [ -delete ]"
	echo "            [ -avexvss ['optional avexvss.exe CLI custom options & EDB selection']"
	echo "            [ -exchvssavtar ['\"optional avtar custom file selection\"']"
	echo "            [ -exchmigrate '\"custom avexvss options\"' ]"
	echo "            [ -expire #_periodx days|weeks|months|years | #_periodx_round | fixed_yyyymmdd ]"
	echo "            [ -full ]"
	echo "            [ -inc | -incdel ]"
	echo "            [ -hypervssavtar"
	echo "            [ -mail | -m ]"
	echo "            [ -nwbrowse ]"
	echo "            [ -noincpath ]"
	echo "            [ -noprvpath ]"
	echo "            [ -nwksave ]"
        echo "            [ -path <name> ]"
        echo "            [ -purge | -PURGE ]"
	echo "            [ -retry # | -rerun # ]"
	echo "            [ -sdate yyyy-mm-dd ]"
	echo "            [ -sdelay <secs> -tdelay <secs> ]"
	echo "            [ -server ]"
	echo "            [ -sqlmigrate 'custom avsql options' ]"
	echo "            [ -stageonly ]"
	echo "            [ -tapeonly ]"
	echo "            [ -tpolicy <tape-policy-name>"
	echo "            [ -upre <user-pre-script-name>"
	echo "            [ -upst <user-post-script-name>"
	echo "            [ -d -D ... ]"
	echo "            [ -vdp ]"
        echo "\n          $BLUE_BG$WHITE_FG -batch | -BATCH$DEF$GREEN_FG"
	echo "            [ <batch-policy-name> ] "
        echo "\n          $BLUE_BG$WHITE_FG -backup $DEF"
	echo "$GREEN_FG            [ rollback ] | [ destination-mail-address ]"
        echo "\n          $BLUE_BG$WHITE_FG -cfg $DEF$GREEN_FG"
        echo "$GREEN_FG            [ add | add_v | hide | <group-id> | manager | parse | refresh | update | stats [noprompt] ]"
        echo "\n          $BLUE_BG$WHITE_FG -grab $DEF$GREEN_FG"
        echo "\n          $BLUE_BG$WHITE_FG -health $DEF$GREEN_FG"
        echo "\n   	  $BLUE_BG$WHITE_FG -locate $DEF$GREEN_FG"
        echo "\n   $GREEN_FG[Env#] $BLUE_BG$WHITE_FG -log | -l $DEF$GREEN_FG"
        echo "\n   [Env#] $BLUE_BG$WHITE_FG -recover $DEF$GREEN_FG"
	echo "   $GREEN_FG         [ rerun | retry ]"
        echo "\n          $BLUE_BG$WHITE_FG -upgrade $DEF$GREEN_FG"
        echo "\n   [Env#] $BLUE_BG$WHITE_FG -view | -v $DEF"
        echo "\n$BOLD$BLUE_BG$WHITE_FG Actions:$DEF\n"
       	echo "  $GREEN_FG -batch | -BATCH$DEF   manage batch initiated sessions"
        echo "  $GREEN_FG -backup$DEF  backup adme configuration and log files"
        echo "  $GREEN_FG -cfg$DEF     manage client configuration properties" 
       	echo "  $GREEN_FG -clientx$DEF  modify client configuration properties directly" 
       	echo "  $GREEN_FG        [addclient|getclient|disableclient|enableclient|updateclient|removeclient|removegroup|getgroup|getgroupnames|propogatestagingpath|propogatetapepolicy]"
	echo "  $GREEN_FG        'fld1=lnxfs01,fld4=/clients,fld5=rhel5-voting.brsvlab.local,fld6=,fld7=weekly,fld8=,fld10=/ADME/lnxfs01,fld12=ADME_Full,fld13=,fld14=,fld15=,fld16=,fld17=,fld18='"
        echo "  $GREEN_FG -env$DEF     manage and display environment files" 
        echo "  $GREEN_FG -gui$DEF     manage the start/stop of the ADMe Web-UI server" 
        echo "  $GREEN_FG -grab$DEF    diagnostic file collection" 
        echo "  $GREEN_FG -groupsize 'g=group-name,e=env-number,p=plugin-type'$DEF verify aggregate group size"
        echo "  $GREEN_FG -health$DEF  diagnostic health check" 
        echo "  $GREEN_FG -jobcancel jobname.log help|noprompt user-input-reason-for-cancellation"
        echo "  $GREEN_FG -jobcreate 'j=job-name,e=env-number,g=group-name,s=selection-flags,m=migration-flags,u=update|noupdate'$DEF create a standard job policy file"
        echo "  $GREEN_FG -jobcreate 'b=batch-job-name,f=fail-action STOP|CONTINUE,u=update|noupdate,p=base-policy-name-list space separated'$DEF create a batch job policy file"
        echo "  $GREEN_FG -jobpolicy $DEF establish jobpolic.csv file used as input to Job Policy tab of GUI"
        echo "  $GREEN_FG -jobreport all | job-base-name | history job-base-name [last | force ] | stats$DEF  display job execution history and establish job or stats csv files used by GUI"
        echo "  $GREEN_FG -jobschedule 'j=job-name,m=time-minutes,h=time-hours,date=day-#-month,month=month-#-year,day=day-#-week,state=e or d or r or g - enable, disable, remove, get'"
        echo "  $GREEN_FG -locate$DEF  locate all ADMe related files" 
        echo "  $GREEN_FG -log | -l $DEF browse event log" 
        echo "  $GREEN_FG -nwkcfg $DEF Interactive tool used to configure Networker to match your ADMe configuration" 
        echo "  $GREEN_FG -autocfg $DEF Interactive tool used to configure ADMe client groups and job policies using the dump_root_hash script o/p from a custom Excel template" 
        echo "  $GREEN_FG -recover$DEF manage recovery sessions"
        echo "  $GREEN_FG -securityrefresh | -credentialrefresh [noprompt]$DEF  reestablsih credentials used by ADMe, if an Env-# is passed as first argument only that specific Env-# will be refreshed"
        echo "  $GREEN_FG -select$DEF  perform backup selection process"
        echo "  $GREEN_FG -migrate$DEF perform staging and/or tape export process"
        echo "  $GREEN_FG -upgrade$DEF perform an ADMe upgrade"
        echo "  $GREEN_FG -view | -v $DEF view selected backup list" 
        echo "\n$BLUE_BG$WHITE_FG Selection Filters:$DEF\n"
        echo "$CYAN_FG    Env#$DEF"
	echo "            Optional parameter used to determine which environment configuration to use."
	echo "            Any number of environments can be accessed independently and used concurrently"
       	echo "            facilitating multiple staging and export backup servers. Valid values are 2-XX."
	echo "            When not specified the base environment of 1 is always assumed."
	echo "   $CYAN_FG         NOTE: Env# is position sensitive and when used must be the first argument.$DEF"

	if [ "$ARGS" = "-h" ]
	then
		echo "\n$CYAN_FG For extended help use [-H]$DEF"; return 1
	fi
        echo "\n  $GREEN_FG -siteid | -sid | -gid <site or group ID>$DEF"
	echo "            Specify a ADMe group name$DEF"
        echo "  $GREEN_FG -client$DEF"		
	echo "            Limit selection process to the specified client name only"
        echo "  $GREEN_FG -first | -last$DEF"
        echo "  $GREEN_FG -first_F | -last_F$DEF"
        echo "            Limit selected backups to either the first or last available within the search date range being used."
	echo "            If multiple eligible backups are available on the same day -first or -last will include them. Using"
        echo "            -first_F or -last_F will force the selection of one backup only the very first or very last."
	echo "            For a Networker dedup node backups are limited by saveset name rather than only by date therefore the"
	echo "            dates selected may differ between saveset names. With a dedup node it limits the selection to the first"
	echo "            or last saveset name only."
        echo "            Adding the _F will ensure a single backup only is selected. The use of the _F with"
        echo "  $GREEN_FG -week sun | mon | tue | wed | thu | fri | sat$DEF"
        echo "  $GREEN_FG -week sun_# | mon_# | tue_# | wed_# | thu_# | fri_# | sat_# $DEF"
        echo "            Limit selected backups to a specified day of the week within a month. By using"
	echo "            day_# where # sign represents the instance of the day required within the month range used."
	echo "            I.E. sat_1 will select backups from the first Saturday of the month.$DEF"
        echo "  $GREEN_FG -exchdb | -exchvss$DEF"
	echo "            Perform a migration session of an Exchange BU. Support varies based on Exchange version and the approach used at the"
	echo "            time of the back up. Exchange 2007 and higher depends on the Exchange VSS plugin therefore, specify the -exchvss"
	echo "            option which requires the following prereq's be met."
	echo ""
	echo "            1. Your Avamar software must be at 6.1 or higher"
	echo "            2. The staging server must have the Avamar Exchange VSS plugin installed"
	echo "            3. The staging server must have MSFT Exchange software installed with Mail-Box role enabled"
	echo "            4. The staging server must reside in the same active directory where the Exchange backup was performed."
	echo "            5. A single compatible staging server can support migrations from multiple Exchange servers."
	echo ""
	echo "            With this method the transaction logs will be applied to the EDB files as part of the staging process."
	echo "            An eseutil call will be invoked verifing the shutdown state of each EDB file with results reported in the job policy"
	echo "            log. If a dirty shutdown state is detected, it will result in the ADMe job ending in error."
	echo "            The eseutil check process can be skipped by touching file /home/admin/admeadmin/customize/NOESEUTIL"
	echo ""
	echo "            $CYAN_FG Note:$DEF An alternate approach using a generic Windows staging server is available, refer to migration option"
	echo "            -exchvssavtar below for details." 
        echo "  $GREEN_FG -hypervvss $DEF"
	echo "            Perform a migration session of MSFT Hyper-V virtual systems. Appropriate staging server requirements"
	echo "            include the Avamar Hyper-V VSS plugin and MSFT Hyper-V software be installed on it. A Hyper-V server"
	echo "            can be either standalone or in a CSV cluster. When standalone server define its client name to ADMe"
	echo "            and for a CSV cluster define the clusters virtual client name."
	echo ""
	echo "            The ability to select which VM's to stage can be managed in one of several ways as described below."
	echo "            The -data option must be applied against a -migrate action/operation."
	echo "            When no -data option is specified the default behavior is to recover all VM's"
	echo ""
	echo "            1. -data ALL will stage all VM's contained within the selected backup" 
	echo "            2. -data FILELIST stage only those VM's defined within a filelist from the selected backup" 
	echo "            3. -data \"vm-machine-name<Resource-GUID>\" stage only the VM specified from the selected backup"
	echo "            4. In addition you can define the VM's to stage using Fld-17 of the ADMe client config file by entering"
	echo "            the required VM definitions"
	echo ""
	echo "            The use of -data ALL overrides all other methods even if they are configured and will act on all VM's"
	echo "            When using a FILELIST its filename is defined automatically in$CYAN_FG $BULOCATION/customize$DEF and will be"
	echo "            named hyperv-<your-grp-name>.txt"
	echo "            Exclusions using -xdata or Fld-8 are not supported with Hyper-V"
	echo ""
	echo "            The VM system definitions must conform to the following format,$CYAN_FG vm-machine-name<Resource-GUID>$DEF"
	echo "            for example: aevm29-WinXP<9280BED4-7E4D-4377-81B3-3E67B88AE603>" 
	echo "            To identify the above values use the ADMe view function and list the contents of a selected backup or"
	echo "            run the following command on the source Hyper-V server involved, include the --federated option only"
	echo "            if a CSV cluster is involved.$CYAN_FG C:/progra~1/avs/bin/avhypervvss --operation=browse --server=aevm --federated$DEF"
	echo "            A Hyper-V CLI customization file may be defined$CYAN_FG $BULOCATION/customize/admehyperv.txt$DEF where additional CLI"
	echo "            options can be passed if required as part of the Hyper-V CLI call made by ADMe."
        echo "  $GREEN_FG -vmimage$DEF"
	echo "            Perform a migration session of VMware virtualized image backup. The complete name of a vmimage"
	echo "            client includes a 20 character <hash-value> appended to its host name. These are discovered"
	echo "            automatically within Config Manager."
        echo "  $GREEN_FG -ndmp$DEF" 
	echo "            Perform a migration session of supported NDMP backups. Ideally CIFS shares should be staged to"
	echo "            a Windows server and NFS to a Unix or Linux server. NAS specific ACL's are not maintained."
        echo "  $GREEN_FG -shptvss$DEF"
	echo "            Perform a migration session of SharePoint VSS backups. The staging server must have the"
	echo "            SharePoint VSS plug-in installed but it is not necessary for the MSFT SharePoint software"
	echo "            to be present."
        echo "  $GREEN_FG -linuxfastinc$DEF"
	echo "            Perform a migration session of a Linuxfastinc backup"
        echo "  $GREEN_FG -lotus | -sap | -sql | -vss | -chkpt$DEF"
	echo "            Perform a migration session of Lotus, SQL or SAP backups as files. With all of these plug-ins it's the users"
	echo "            responsibility to determine whether recovered data is in a usable format by their corresponding applications." 
	echo "            Migration of -vss System-State backups requires the use of -archive pax option and its associated recovery procedure."
        echo "  $GREEN_FG -oracle$DEF"
	echo "            A prerequisite to support Oracle is for the RMAN backup to be initiated as a scheduled Avamar backup."
	echo "            Manually initiated RMAN scripts can work but are more difficult for ADMe to identify the multiple backup"
	echo "            pieces involved especially when many exist. To ensure proper selection you must ensure their backup labels"
	echo "            contain a unique and contiguous string value such as <SID-ID_<BU-Level>... which ADMe can filter on to select "
	echo "            only the intended RMAN backup pieces. The unique string value to search for can be passed from FLd-6 of the"
	echo "            client config file, using the -gname option or by defining these in file $BULOCATION/customize/admeoracle.txt."
	echo "            Multiple string values can be specified in all three locations where each is separated by a pipe | character."
	echo ""
	echo "            Oracle migrations have a dependency on Avamar in order to make the database recoverable via the SBT lib to RMAN."
	echo "            The backup pieces on tape must be recovered to a staging area then reimported back to Avamar using a custom flag file."
	echo "            The import process will vary based on which method was used to migrate the files, either as rehydrated"
	echo "            backup pieces or where each piece was streamed to an Avamar compatible pax file with the -archive pax option."
	echo ""
	echo "            The import process is documented under the -archive pax option and in a separate word doc for using the"
	echo "            fully rehydrated method. Once imported back to Avamar normal Avamar Recovery procedures for RMAN backups"
	echo "            can then be used to recover the database back to Oracle. When you reimport a backup the original cannot still " 
	echo "            be present within Avamar."
	echo "  $GREEN_FG -gname <policy-group/label-string-value>$DEF"
	echo "            Limit selected backups to the specified Avamar policy group name/label case sesnsitive string value. Useful when"
	echo "            multiple scheduled backups are being performed for a client. The value specified here overrides client CFG file Fld-6"
	echo "            value if defined there. A group name must not contain spaces."
	echo "            Not applicable with Networker dedup node." 
        echo "  $GREEN_FG -cloudtier $DEF"
 	echo "            Allows selection of backups currently resting on CloudTier" 
        echo "  $GREEN_FG -cloudtierrecall $DEF"
 	echo "            Under-Development: Will force a recall of selected backups allowing them to be recovered. Use with caution to prevent"
	echo "            undeeded recalls from the cloud, to minimize the risk perform the recalls manually outside of ADMe."
        echo "  $GREEN_FG -path <name>$DEF"
 	echo "            Appends an additional staging path folder name to the regular predefined staging path."
	echo "            For Windows path names substitute the [:] character with  a [/] and any back slashes with a forward"
	echo "            forward slash's [/]. The value specified here overrides the client CFG file Fld-16 value if defined there."
        echo "  $GREEN_FG -data <name>... | -data <networker-saveset-name>...$DEF"
	echo "            Used to specify a specific folder only to be staged from the selected backup(s), multiple -data options are allowed."
	echo "            A complete folder path name must be provided as shown in the examples below and any path names containing spaces must"
	echo "            be enclosed within single quotes ' '."
	echo ""
	echo "            $GREEN_FG Examples:"
	echo "                 -data /etc/bluetooth"
	echo "                 -data 'C:/Program Files/avs/var/clientlogs'"
	echo "$DEF"
	echo "            The -data option will apply to all clients within the ADMe client group being used. If the need is to act on only" 
	echo "            one or more client(s) within a group, an embedded filter can be used defined in Fld-17 of each client entry in the ADMe"
	echo "            client configuration file. Fld-17 syntax is shown in the examples below and multiple folders can be specified each separated"
	echo "            using a pipe | character. Note, any paths containing spaces do not require the single quotes here but a plus sign + must be"
	echo "            used as a delimiter for all path entries with or without spaces."
	echo "" 
	echo "            $GREEN_FG Example Syntax for Fld-17"
        echo "                 +/etc/bluetooth+                       (single folder entry)"
        echo "                 +/etc/bluetooth+|+/etc/X11+            (two folder entry)"
        echo "                 +C:/Program Files/avs/var/clientlogs+  (single folder entry)"
        echo "                 +C:/Program Files/avs/var/clientlogs+|+C:/Program Files/avs/var/update+  (two folder entry)"
	echo "$DEF"
	echo "            The -data option will override any embedded filter if present within teh client config file." 
	echo "            BU sizes displayed will remain that of the complete buid# involved. When used in conjunction with -archive the staged"
	echo "            size will be that of the selected folders only however, once imported back to Avamar, its size will accurately reflect the"
	echo "            reduced size but its meta data content reflects that of the complete full backup showing all the original folder structure." 
        echo "  $GREEN_FG -xdata <path/folder name>... | -xdata <networker-saveset-name>...$DEF"
	echo "            Used to specify a specific path/folder name to be excluded from the staging process, multiple -xdata options are allowed."
	echo "            Partial path names and wild cards * are supported and preferred over using complete path names. Path names containing spaces"
	echo "            must be enclosed within single quotes ' '." 
	echo ""
	echo "            $GREEN_FG Examples:"
        echo "                 -xdata /etc/bluetooth                    (single complete path folder)"
        echo "                 -xdata bluetooth                        (partial path name)"
        echo "                 -xdata 'C:/Program Files/avs/*/clientlogs'  (single complete path using a wild card *)"
        echo "                 -xdata 'avs/*/clientlogs'                 (single partial path using a wild card *)"
	echo "$DEF"
	echo "            The -xdata option will apply to all clients within the ADMe client group being used. If the need is to act on only"
        echo "            one or more client(s) within a group, an embedded filter can be used defined in Fld-08 of each client entry in the ADMe"
        echo "            client configuration file. Fld-08 syntax is shown in the examples below and multiple folders can be specified each separated"
        echo "            using a pipe | character. Note, any paths containing spaces do not require the single quotes here but a plus sign + must be"
        echo "            used as a delimiter for all path entries with or without spaces."
	echo ""
	echo "            $GREEN_FG Example Syntax for Fld-08"
        echo "                 +/etc/bluetooth+                       (single folder entry)"
        echo "                 +/etc/bluetooth+|+/etc/X11+            (two folder entry)"
        echo "                 +C:/Program Files/avs/var/clientlogs+  (single folder entry)"
        echo "                 +avs/var/clientlogs+|+var/update+      (two folder entyr using partial path names and wild card)"
	echo "$DEF"
        echo "  $GREEN_FG -nday <#> | +<#>$DEF"
	echo "            Specify a fixed number of days from your current date to begin the selection from where"
	echo "            the maximum value is 30 days. Preceding the number with a + sign will extended the start"
	echo "            of the auto range which by default is the first of the current month. A value of +7"
	echo "            for example will start 7 days prior to the first of the current month." 
        echo "  $GREEN_FG -rday <#> | <#-#>$DEF"
	echo "            Specify a relative day of the month -rday 5 will select backups performed on the 5th"
	echo "            day of the month only. This option is useful when automated from CRON and only backups"
	echo "            from a specific day of the month are required. You can also specify a relative day range" 
	echo "            such as -rday 15-17 and combine it with a -first or -last filter etc." 
        echo "  $GREEN_FG -rmonth <#> | -rmonthx <#>$DEF"
	echo "            Change relative start date by going back in time by month, a syntax of -rmonth 1 establishes a starting date"
	echo "            range from the 1st of the effective relative month to the 1st of your current month. Other filtres such as -last,"
	echo "            -first, -rtype or -week can be used in conjuction enabling the selection of appropriate backups for the date range"
	echo "            that is in effect. The  month count value can be a value of 1-12."
	echo ""
	echo "            -rmonthx # behaves similarly however its effective date range is limited to the relative month number used."
	echo "            For example, -rmonthx 3 will scan the 3rd month back in time realtive to your current but limit the end date" 
	echo "		  to the end of that month only. Any additional filters used would then apply to that effective month only."
        echo "  $GREEN_FG -sdate yyyy-mm-dd$DEF"
	echo "            Manual override of starting date used during the selection process. Will override AUTO date calculation. Also may"
        echo "            be required on a -migrate operation to expand the date range it uses when a selected backup is more than"
	echo "            2 months old. A message is displayed informing you if this option is required."
        echo "  $GREEN_FG -edate yyyy-mm-dd$DEF"
	echo "            Manual override of ending date used during the selection process, will override AUTO date calculation and requires"
	echo "            -sdate be specified as well."
	echo "  $GREEN_FG -rtype <daily | weekly | monthly | yearly | none>$DEF"
	echo "            Limit selected backups to the retention tag value specified. The value specified here overides client CFG file"
	echo "            Fldd-7 if it is defined there."
        echo "  $GREEN_FG -buid <buid#...>$DEF"
	echo "            Select any backups based on their backup-id number(s). When more than one is specified enclose them within a quoted"
	echo "            space separated string. If multiple clients within the group have the same BUID#, the -client filter  will be required."
        echo "            Note: The specified BUID# must exist within the specified selection criteria used. To confirm run the -select process"
	echo "            first without the -buid filter to confirm."
        echo "  $GREEN_FG -nwbrowse$DEF"
	echo "         	  Perform a Networker browse recovery versus the default of ssid recovery (dedupnode)" 
        echo "  $GREEN_FG -nwinc$DEF"
	echo "         	  Include Networker incremental backups during the selection process (dedupnode)"   
        echo "\n$BLUE_BG$WHITE_FG Migration Options:$DEF"
        echo "  $GREEN_FG -archive [ tar | pax | tarcomp | paxcomp ]$DEF"
	echo "            Used to migrate a complete backup by streaming it to either a pax or tar file format. Four choices are available tar, pax, tar-compressed"
	echo "            and pax-compressed. The use of -archive results in a single file being staged and being sent to tape and cataloged by a tape application."
	echo "            Archive files must be created on a Linux staging server,a Windows staging servers cannot be used."
	echo ""
	echo "           $RED_FG IMPORTANT:$DEF There are limitations with using tar archives. A tar archive does not support Windows backup data and may incur issues"
	echo "            related with Unix or Linux path and filenames exceeding the OS supported lengths. User verification would be required to ensure a given clients"
	echo "            backups function properly when directed to a tar archive."
	echo ""          
	echo "            Compressing archive files can reduce its size by ~50% or more. However, the compression process is CPU intensive and will typically extend"
	echo "            the staging time required. However, the associated tape backup or cloud upload times may take less time resulting from its reduced size."
	echo ""
	echo "            Since archive files have no visual file listing ADMe provides an option -Metadata used to created a metadata file containing contents"
	echo "            similar to what a backup catalog would normally contain. This small Metadata file can quickly be retrieved from tape or cloud and its"
	echo "            contents perused to confirm whether any desired file names are present within its corresponding archive."
	echo "            Refer to the -Metadata option for details - note the uppercase M."
	echo ""
	echo "            Recovering files from a pax archive requires the archive be imported to an Avamar's GSAN storage after which the MCS GUI can then be used"
	echo "            to recover its file contents. Syntax required to import a PAX archive is shown below. Tar archives are leveraged by using standard OS commands"
	echo "            to extract its contents directly. The pax import target account name would normally be that of its original client name however, it can also" 
	echo "            be any defined domain/client account value and does not require it to be a real client or that it be activated."
	echo ""
	echo "            Archived file names will conform to the following naming convention:"	
	echo ""
	echo "            admearchive_<plugin#>_<orig-bu-date-buid#>.pax or pax.gz for a compressed archive."
	echo "            admearchive_<plugin#>_<orig-bu-date-buid#>.tar or tar.gz for a compressed archive."
	echo ""
	echo "            admearchive_<plugin#>_<orig-bu-date-buid#>_ORACLE>.pax for an Oracle backup"
	echo ""
	echo "            The syntax required to import a pax archive back to an Avamar's GSAN storage is as follows:"
	echo "           $RED_FG IMPORTANT:$DEF You cannot import a pax archive to a Avamar DD system."
	echo "           $RED_FG IMPORTANT:$DEF Each syntax example must entered as a single line"
	echo ""
	echo "            avtar -c --acnt=<domain/source-Client-name>  --expires=<#days> --hfsaddr=<avamar-name> --id=<MCSuser>"
	echo "                     --label=<ADMeArchive> --password=<MCS-passwd> --streamformat=avpax --dto-stream --pidnum=<plugin-ID# of source BU>"
	echo "                     --media-in=/<archive-file-path>/<admearchive-file-name>"
	echo ""
	echo "            To import a VSS pax archive (Refer to escalation-ID 30449):"
	echo "            avtar -c --acnt=<domain/source-Client-name> --expires=<#days> --hfsaddr=<avamar-name> --id=<MCSuser> --password=<MCS-passwd> --streamformat=avpax"
	echo "                     --dto-exportstream --pidnum=<plugin-ID# of source BU> --media-in=/<archive-file-path>/<admearchive-file-name>"
	echo ""
	echo " $GREEN_FG  -audit $DEF"
	echo "            Use to manage the master audit file size if it grows too large to successfully import into the Web-UI Audit tab. Options for breaking"
	echo "            up the master-audit-file by year or by line count are provided. The smaller file must either be put in place overwriting the master audit file"
	echo "            or renamed to$WHITE_FG filtered-audit.csv$DEF to be imported into the custom audit spreadsheet supplied with ADMe and found in admeadmin/docs folder"
	echo "  $GREEN_FG -avamigrate /<domain>/<destination-staging-server> $DEF"
	echo "            Used to migrate backup data from a GSAN only Avamar system to a destination Avamar system with a Data Domain storing the"
	echo "            backup copy in the target DD. This option is intended as a workaround solution until native replication functionality"
	echo "            is provided. This process effectively provides a copy of the backup data in DD which is assigned to the staging server"
	echo "            name used. The staging server(s) involved must be activated to both source and target Avamar systems simultaneously "
	echo "            which requires a special procedure to accomplish. In addition, the source and target Avamar systems must have the same"
	echo "            Plug-IN library installed and Avamar S/W on the target must be at version 7.x."
        echo "  $GREEN_FG -avtar | -mccli$DEF"
	echo "            Override the auto detected method used to perform the staging process. By default mccli is used for FS and NDMP, SQL, VMimage"
	echo "            use avtar and the VSS type backups use their specific cmd."
        echo "  $GREEN_FG -avflags <avtar-flag-value>$DEF"
	echo "            Assign a avtar flag or option value which will be applied to the recovery process. Do not include the double hyphen --, these"
	echo "            will be inserted automatically. When multiple flag values are specified they must be in a quoted space separated string."
        echo "  $GREEN_FG -backup [ rollback ] | [ dest-email-address ]$DEF"
	echo "            Collect all ADMe related files into a zipped file to be used for backup protection to a file located in"
	echo "            $BULOCATION/backup/admebackup-hostname-mm-dd-yy-hh-mm-ss.tar.gz. A Rollback function is available to recover from a backup"
	echo "            taken using this option. An email address can be specified to facilitate automation of a backup from CRON"
        echo "  $GREEN_FG -batch  <batch-policy-name> [STAGEONLY | TAPEONLY] | -BATCH [ <batch-policy-name> ]$DEF"
	echo "            Job Manager (BM) is used to configure, initiate and monitor ADMe batch sessions. Defined job policies can also be initiated"
	echo "            from CRON and their progress monitored using JM. JM is not ADMe environment-# specific therefore all batch activities can"
	echo "            be managed and monitored from a single point. JM relies on a color scheme for quick confirmation on the status of all batch"
	echo "            sessions, green=completed, red=failed and white=active blue=no status. JM has two operational modes, Dashboard and Policy"
	echo "            both accessed using this option. The upper case -BATCH does not return until the policy has completed making it useful to use"
	echo "            in a script where multiple job policies are called in sequence or with a 3rd party scheduler etc."
        echo "  $GREEN_FG -cfg [ add | add_v | hide | <group-id> | manager | parse | refresh | stats [noprompt] | update ]$DEF"
        echo "            Display client configuration file contents by group-id, parse to check for basic syntax errors, add to add clients add_v=verbose"
	echo "            o/p or update to edit. Hide is used when displaying the entire config file to inhibit its comment fields from being displayed."
	echo "            Update opens an edit session of the appropriate configuration file, Add is used to search for and add available clients to the"
	echo "            configuration either in bulk or individually. Refresh is used to force a rediscovery of all Avamar domains and clients. Refresh"
	echo "            is used to force a rediscovery of all Avamar domains and clients. Manager is used to open a menu driven interactive session"
	echo "            where a clients status relative to ADMe can be changed including adding, enable/disable, modify and view. Stats is used to build"
	echo "            a CSV file to be used with an ADMe supplied spreadsheet, adding the option noprompt skips prompting for a request to email the file."
	echo "            It also provides access to report functions for saving to a file a clients configuration status or to view a clients audit report."
	echo "            Many of these options are also available using th emenu UI."
	echo "  $GREEN_FG -clouddatapurge$DEF"
	echo "            Purge expiry folders established using the$CYAN_FG -expire$DEF option. Refer to it for details on how the$CYAN_FG -expire$DEF option works."
	echo ""
	echo "            To leverage$CYAN_FG -clouddatapurge$DEF do the following:"
	echo ""
	echo "            1. Create a job policy named Cleanup# where # represents the environment number of the staging server where the purge is to take place"
	echo "            2. Assign a group name normally used with this staging server, any valid group name will do."
	echo "            3. Do not add any other selection options other than the default value" 
	echo "            4. Assign only the$CYAN_FG -clouddatapurge$DEF option to the Migration Flags line" 
	echo "            5. A Cleanup job can be run at any time to probe the staging server for folder names matching an eligible expiry date value. "
	echo "               The job completion status shows all folder names being checked and indicate whether it exists, is eligble for deletion and "
	echo "               whether the delete operation succeeded when performed."
	echo ""
	echo "            A flag file named$CYAN_FG $BULOCATION/customize/clouddatapurge.txt$DEF contains 3 variables used to influence the behavior of the purge process."
	echo ""
	echo "            Variable:$CYAN_FG Temporary-Map-CIFS-Drive-Letter$DEF is used to temporaily map a CIFS share to it to support wild cards during deletion process"
	echo ""
	echo "            Example: Temporary-Map-CIFS-Drive-Letter=Z"
	echo ""
	echo "            Variable:$CYAN_FG Relative-Monthx=0$DEF looks for an expiry folder with the current year & month, a value of 1 will act on previous month or 2"
	echo "            on two months prior to the current month etc."
	echo ""
	echo "            Example: Relative-Monthx=0"
	echo ""
	echo "            Variable:$CYAN_FG Relative-Dayx=01$DEF looks for an expiry folder of day 01 only, other day values can be used or ?? to act on all days of the month"
	echo "            This variable value will be appended to the Relative-Monthx value to form a complete expiry folder value formated as YYYY-MM-DD"
	echo ""
	echo "            Example: Relative-Dayx=??"
        echo "  $GREEN_FG -delete $DEF"
	echo "            Override default behavior of non-incremental tape export by allowing the automated deletion of the staged data when the export" 
	echo "            backup has been detected to have failed. Use with caution as the impact could be significant in terms of time if a large amount"
	echo "            of previously staged data must be restaged."
        echo "  $GREEN_FG -env [ parse | update | summary | autoget # | autoedit '<arg-name=value,arg-name=value...' | report ]$DEF"
	echo "            Use to establish environment configuration file(s), perform parse checks for basic syntax errors or update to edit the file. Prior to using"
	echo "            ADMe at least one environment containing a staging and backup server name must exit. Use parse to check and verify their contents prior to"
	echo "            using it. The summary option displays a summary report of each environment showing their assigned job policies. Auotedit facilitates the"
	echo "            passing of any environment file variable name(s) as a space separated quoted string along with their value to change it to. The second"
	echo "            argument passed is the environment number to create, if a value of X is used the next sequential environment file number is estrablished"
	echo "            automatically and the return code will equal the env# chosen. Auotoget followed by the desired env-# will return the contents in the form of"
	echo "            csv of the environment contents starting from Fld-2."
	echo ""
	echo "            The Report option establishes a csv file containing all environment file contents with one row per file, Fld-1 = the environemnt number while"
	echo "            the rest represent the variable contents in the order they are contained within the actual environment files. Row-1 starting from Fld-2 contains"
	echo "            the variable names each comma separated. The csv file is named $CYAN_FG$BULOCATION/jobstats/environment.csv$DEF"
        echo "  $GREEN_FG -avexvss ['optional custom exchvss.exe parameters & EDB selection' (Note: This is passed as a MIGRATION option) ]$DEF"
	echo "            Use to pass custom options to the exchvss.exe CLI or to act on a specific EDB for recovery only when more than one exists within the backup label"
	echo "            number involved. For options passed requiring leading double hyphens, you MUST replace the double hyphens with double tildas ~~ and enclose the string in"
	echo "            single quotes as shown in the example entries. If a specific Exchange info store name is passed, it must be encapsulated in single and double quotes."
	echo ""
	echo "            Example-1:$CYAN_FG '~~debug ~~nologreplay'$DEF"
	echo "            Example-2:$CYAN_FG '\"Exchange Information Store/EDB1\"'$DEF"
	echo "            Example-3:$CYAN_FG '~~debug ~~nologreplay \"Exchange Information Store/EDB1\"'$DEF"
        echo "  $GREEN_FG -exchvssavtar$DEF"
	echo "            Override the default use of the Exchange plugin exchvss.exe CLI call using avtar instead to perform the Exchange VSS backup recovery. This eliminates"
	echo "            the need for the Exchange plug-in and Exchange software being present on the staging server. Both the EDB files and transaction logs will be staged"
	echo "            however the transaction logs will not be applied to the EDB file(s) involved."
	echo "            Prior to using the EDB files, their associated transaction logs will need to be replayed using eseutil prior to importing them to a compatible"
	echo "            RDB instance."
        echo "  $GREEN_FG -expire #_<periodx> days|weeks|months|years | #_<periodx>_round | fixed_yyyymmdd ]$DEF"
	echo "            The expire option can be used to establish a top level folder formatted as YYYY-MM-DD automatically anywhere within your staging path"
	echo "            to represent the intended expiry date of the files located under it. A use case could be when staging to cloud based storage and it's"
	echo "            not feasible to leverage a cloud proivders lifecycle management policies if they exist."
	echo ""
	echo "            An automated $CYAN_FG(refer to -clouddatapurge option)$DEF or manual process can be used against these folders and if their  defined"
	echo "            retention period has passed or matches the folder would be eligble for deletion. The positioning of the expiry folder is based on the"
	echo "            keyword value of$CYAN_FG EXPIRE$DEF placed anywhere within your staging path defined in Fld-10 of the client configuartion file. You" 
	echo "            can also include descriptive text such as F:/Expiry-Date-EXPIRE to make it more user friendly."
	echo ""
	echo "            Three options are available to name the generated folder which can be relative to the current date or a fixed value as follows:\n"
	echo "            1. -expire fixed_YYYY-MM-DD  - defines a fixed value"
	echo "            2. -expire #_periodx         - defines a relative value of the defined number of periods which can be in days|weeks|months|years"
	echo "            3. -expire #_periodx_round   - similar to 2 above but rounds the final day to the 1st of the next month enabling a common folder name"
	echo "                                           for all migrations performed in a given month assuming one per month is being performed."
        echo "  $GREEN_FG -full$DEF"
	echo "            Force a full overwrite of all files during the staging process if files already exist in the destination folder."
        echo "  $GREEN_FG -gui start | restart | stop | status$DEF"
	echo "            Manage Web-UI server process"
        echo "  $GREEN_FG -grab$DEF"
	echo "            Collect all ADMe related files into a zipped file to be used for problem and diagnostic purposes. Grab files are named and kept in"
	echo "            $BULOCATION/grab/admegrab-hostname-mm-dd-yy.tar.gz"
        echo "  $GREEN_FG -health$DEF"
	echo "            Perform a health check on client configuration and all available environment files saving the results to a file."
	echo "            Also included are the last run status from all available job policies."
        echo "  $GREEN_FG -hypervssavtar $DEF"
	echo "            Override the default requirement of the Hyper-V plugin CLI call by using avtar instead to perform the Hyper-V VSS backup recovery."
	echo "            This eliminates the need for the Hyper-V plug-in and Hyper-V server software being present on the staging server. "
        echo "  $GREEN_FG -inc | -incdel$DEF"
	echo "            Perform incremental migrations minimizing staging and export backup times. -inc requires one copy of the staged data remain on disk between"
	echo "            migration sessions facilitating an incremental forever-like strategy. -incdel can be used to delete staged data after a tape export"
	echo "            completes from an incremental destination path."
	echo ""
	echo "            If you include with -inc the -m option a status file will be staged to the same top level INCREMENTAL folder the data was staged to."
	echo "            The file is named ADMe-Incinfo_<date & timestamp> and contains the same contents of an ADMe mail notification. The file will be included in"
	echo "            a tape export to a Cloud path and can used to determine the date/time and completion status of a given incremental session."
        echo "  $GREEN_FG -locate $DEF"
	echo "            Identify and display the location of all ADMe related files" 
	echo "  $GREEN_FG -labelx <custom-label-string>$DEF"
	echo "            Valid with an Avamar ADS migration only where the migrated backup is being directed to a target Avamar system. By default, the backup label field "
	echo "            will contain a value of ADME-<adme-group-name> to which the custom value passed here, will be appended to. The custom label value must be a"
	echo "            contiguous string and must not contain special characters other than hyphen or underscore. "
        echo "  $GREEN_FG -log | -l$DEF"
	echo "            View the event logs unique to each environment. Events can be viewed and browsed by event or you can search the entire log as required."
        echo "  $GREEN_FG -d -D$DEF"
	echo "            Display trace and debug information during operation for debug purposes, more flags up to 6 equate to more verbosity. -d logs to event log"
	echo "            and stdout while -D logs to stdout only. Job polices should contain at least one of each to make for more useful batch logs."
        echo "  $GREEN_FG -Metadata txt | xml | txtcomp | xmlcomp$DEF"
	echo "            Establish a metadata file containing the equivelant contents to that of a cataloged backup. The file is established in the staging root" 
	echo "            directory and can be formatted as a txt or xml file either of which can be compressed."
        echo "  $GREEN_FG -noincpath$DEF"
	echo "            When specified with the -inc option will prevent the creation of a predefined structured"
	echo "            path enabling the user to define their own from Fld-10 and Fld-16 values in client config file."
        echo "  $GREEN_FG -noprvpath$DEF"
	echo "            When specified with the -data option will prevent the original path from being restored"
	echo "            Data files will be restored directly under the user defined destination path value." 
        echo "  $GREEN_FG -nwksave$DEF"
	echo "            When Networker is defined as the tape application by default ADMe uses the$CYAN_FG savefs$DEF command to"
	echo "            initiate the tape backup which by definition requires a Networker group name be specified"
	echo "            in the ADMe client config file fields 12, 13 or 14. Option -nwksave will force the use of the"
	echo "            Networker$CYAN_FG save$DEF command and by definition this approach requires the Networker pool name"
	echo "            be passed as opposed to a g roup name. When using the save command it is recommended to explicitly"
	echo "            specifiy the export retention value where -w <browse-time>, -y <retention-time> or"
	echo "            -e <browse & retention-time>. Example FLd-12 content: 'Pool Name' -w '1 year' -y '5 year'"
        echo "  $GREEN_FG -recover [ retry | rerun ]$DEF"
	echo "            Recover Manager (RM) is a checkpoint mechanism used to track or reinitiate failed sessions."
	echo "            There are two types of checkpoint, RETRY used to retry failed staging activities and RERUN"
	echo "            used to rerun a failed ADMe session. ADMe tracks and maintains a history of the progress "
	echo "            for a given ADMe session enabling only the failed portion to be retained. RETRY retains "
	echo "            knowledge of failed staging activities while RERUN retains knowledge of staging activities"
	echo "            still outstanding while a session progress's. Multiple failed sessions can be managed on a "
	echo "            per environment basis with the number of sessions allowed user defined in each environment."
	echo "            RM provides a user interface consistent with a standard view process enabling you to "
	echo "            identify the BUID's in question along with their associated sizes on a per checkpoint basis."
	echo "            It also tracks whether a failed session has been retried reporting on its completion status."
	echo "            RM uses a color scheme to quickly determine the status of all failed sessions at a glance,"
	echo "            green=success , red=failed & blue=no status. If a failed session is not to be used it"
	echo "            can optionally be deleted. If a session fails during the export backup phase, it can be"
	echo "            retried by running the original session but adding the -tapeonly option. If a recovery"
	echo "            only partially succeeds a new recovery session is established containing only those items"
	echo "            which have failed again."
        echo "  $GREEN_FG -purge | -PURGE$DEF"
	echo "            Purge successfully staged backups from Avamar but only after the export backup is confirmed to be successful."
	echo "            If the staging process fails for an item but the export backup succeeds, this item will not be purged."
	echo "            Purge results are logged to both event and batch logs as applicable and command results are logged"
	echo "            to file name (.adm_purge_list.dat) located in the environment tmp file location $BULOCATION/tmp/atocfg#"
	echo "            being used. To emulate the purge process without actually deleting the backup, create file using"
	echo "            the touch command: $BULOCATION/customize/NOPURGE"
	echo "            NOTE: Upper case -PURGE will purge backups after a successful stage (use with caution) intended for"
	echo "            use with stageonly option."
        echo "  $GREEN_FG -s | -stageonly$DEF"
	echo "            Perform rehyydration process only and skip the auto initiation of the export backup process"
        echo "  $GREEN_FG -server$DEF"
	echo "            Initiate the tape backup script directly from the tape backup server. To use this option the tape backup" 
	echo "            server must be an installed client to Avamar. Two additional variables in the environment file must also"
	echo "            also be update as required. TAVAINSTALLPATH and TAVADOMAINNAME" 
        echo "  $GREEN_FG -sqlmigrate | -avexvss | INPLACE$DEF"
	echo "            The above syntax is used to perform recoveries in place or to a different client as needed. The intended"
	echo "            use case is to maintain clients involved in either a DR or hot standby mode which and refreshed on a"
	echo "            frequent basis. sqlmigrate and avexmigrate are passed on the Migration_Flags line of a ADMe batch job policy."
	echo "            The INPLACE keyword is passed via Fld-10 of the ADMe client config file to accomodate FS recoveries in place."
	echo ""
	echo "            For the SQL and Exchange migrate commands ADMe will generate the generic accounting type syntax but the user"
	echo "            must pass as a quoted string relevant syntax for the command being used avsql or avexvss both documented in"
	echo "            their appropriate guides. This approach of passing paramaters allows for a wide range of possible option to"
	echo "            influence the recovery process as per the users needs."
	echo "            Note: ADMe requires the leading hyphens for the custom command options to be paseed using a single tilda ~ character"
	echo ""
	echo "            Sample SQL syntax: -sqlmigrate '~logtail=false ~use-sql-replace-option ~handle-sql-services-automatically (local)'"
	echo "            Sample Exchg syntax: -exchmigrate ''"
        echo "  $GREEN_FG -t | -tapeonly$DEF"
	echo "            Perform the tape or export backup phase only, skipping the staging process"
        echo "  $GREEN_FG -tpolicy <tape-policy-name>$DEF"
	echo "            Substitute a new export policy to be used by the auto generated export script overriding the " 
	echo "            value defined in the client configuration file Fld-12,13 & 14. When more than one argument" 
	echo "            is required they must be enclosed in a quoted string. For arguments beginning with a leading"
	echo "            hyphen - character, the hyphen must be substituted with a tilda ~ character."
	echo ""
	echo "            When ppdm is being used as the export application, some conflicting syntax challenges exist between ADMe and ppdm CLI"
	echo "            which need to be overcome. Example ppdm syntax\'s are shown and differ slightly between staging platforms."
	echo ""
	echo "            This is an example RAW syntax that would ultimately get passed to ppdm:"
	echo "           $CYAN_FG RAW:$DEF -a DFA_SI_DD_HOST=10.241.216.48 -a DFA_SI_DD_USER=adamk-sky8-1878f -a DFA_SI_DEVICE_PATH=/adamk-sky8-1878f/PLCTLP-bcb07262-9225-422b-9b5b-5ae2b8445bda"
	echo ""
	echo "           $CYAN_FG Linux:$DEF ~a DFA_SI_DD_HOST=10.241.216.48 ~a DFA_SI_DD_USER=adamk-sky8-1878f ~a DFA_SI_DEVICE_PATH=/adamk-sky8-1878f/PLCTLP-bcb07262-9225-422b-9b5b-5ae2b8445bda"
	echo "           $CYAN_FG Windows:$DEF ~a DFA_SI_DD_HOST=10.241.216.48 ~a DFA_SI_DD_USER=adamk-sky8-1878f ~a DFA_SI_DEVICE_PATH=+adamk-sky8-1878f+PLCTLP-bcb07262-9225-422b-9b5b-5ae2b8445bda"
	echo ""
	echo "            Note the -a must be passed as ~a on both staging platforms and the forward slashes present within the DFA_SI_DEVICE_PATH= option must be passed"
	echo "            as a forward slashes for Linux but for Windows these two forward slashes must be passed as a + sign."
        echo "  $GREEN_FG -sdelay #seconds$DEF"
	echo "            Time delay in seconds between staging progress messages. Supersedes environment file"
	echo "            SDELAY variable."
        echo "  $GREEN_FG -tdelay #seconds$DEF"
	echo "            Time delay in seconds during export backup progress messages. Supersedes environment"
	echo "            file TDELAY variable."
        echo "  $GREEN_FG -upgrade$DEF"
	echo "            Perform the ADMe upgrade procedure. An ADMe backup will be run to save all existing"
	echo "            configuration files. ADMe tar files should be placed in $BULOCATION directory."
	echo "            When new environment variables are required they will be added and set to a default value automatically."
        echo "  $GREEN_FG -upre <pre-script-name> -upst <post_script-name>$DEF"
	echo "            Provides a hook into the auto generated export script enabling a user defined pre and/or post script be called during"
	echo "            export backup phase. Pre script is called prior to export activity and post only after a successful"
	echo "            export backup has completed. Scripts must reside on the staging client or tape server depending on where the tape script"
	echo "            is being initiated from in the Avamar client install path under etc/scripts. On Windows a .bat extension or equivalent"
	echo "            is required and on Unix or Linux it must have execute permission. Script o/p and return codes are reported back to ADMe's"
	echo "            event log providing x2 debug flags are specified on the -migrate call."
	echo ""
	echo "            A common use case with a Windows staging server is to establish a bat file to perform a format of the staging drive letter"
	echo "            involved. To eliminate the need to create the bat file you can use a predfined value for the -upst argument FORMAT-X "
	echo "            where X represents the Windows staging drive letter to be formated. This argument is case sensitive and can act on drive"
	echo "            drive letters E thru Z."
	echo "            WARNING: it is DESTRUCTIVE therefore ensure the drive letter specified is CORRECT and DEDICATED to ADMe use only."
        echo "  $GREEN_FG -m | -mail$DEF"
	echo "            Enable email notifications which include the contents of the relative event associated with a -select or -migrate operation"
        echo "            or job policy. Refer to MAIL_TO variable in each environment file for all notifications and MAIL_TO_ERROR variaable to limit"
	echo "            notifications to a different address only when and opertion has errors."
        echo "            Note: For multiple address's they must be enclosed in a comma separated stirng. MAIL_FROM variable by default is set to "
        echo "            ADMe-Admin@<your-domain> and will be the sender of the mail alerts. "
        echo "            Ensure /etc/mail.rc file contains the line set smpt=my-smtp-ipaddress to inform mailx program of your smtp relay host."
	echo "  $GREEN_FG -vdp$DEF"
	echo "            Force VDP mode when a VMware VDP appliance is being used, normally ADMe will detect the presence"
	echo "            of a VDP system automatically. In VDP mode Unix data must be staged directly to the VDP appliance"
	echo "            itself therefore an additional D-Store must be created for this purpose. Windows staging is not"
	echo "            supported on VDP but is supported on VDPA in the normal manner."
	echo "            To support writing to a tape application its file system plug-in must also be installed on the"
	echo "            appliance. In VDP mode ADMe does not provide staging progress messages but does report the"
	echo "            completion status of each staging item along with any failure information if required."
	echo "            VDP support for a Windows staging server requires VDPA (Advanced appliance) and its use is the"
	echo "            same as with normal ADMe usage."
        echo "  $GREEN_FG -view | -v$DEF"
	echo "            Display a view of the selected backup details established from the previous -select operation"
        echo "  $GREEN_FG -butype | -but <mod cod nah> $DEF"
	echo "            By default adme includes scheduled backups only during the selection process. This option" 
        echo "            allows the inclusion of backup types mod=on demand, cod=client initiated and nah=naked "
	echo "            adhoc backups. When more than one is required they must be contained within a single"
	echo "            space separated quoted string. Available with Avamar native mode only." 
        echo "\n$BLUE_BG$WHITE_FG Configuration & Customization Files:$DEF"
	echo " Two customization files containing several variable in each are available under ADMe Administratrion accessed from main menu."
	echo "\n$BLUE_BG$WHITE_FG ADMe Core Customization:$DEF"
	echo "$GREEN_FG CMCOLWIDTH=45$DEF\t\t\t - define the fixed column width within the Client Config Manager"
	echo "$GREEN_FG CMDOMAINEXCLUDES=/MC_SYSTEM$DEF\t - exclude domains from being displayed in Client Config Manager, separate with a pipe | character."
	echo "$GREEN_FG CMINHIBITCOUNTERS=false$DEF\t - inhibit summary stat counters in Client Config Manager,siabaling helps speed up display with large client counts." 
	echo "$GREEN_FG DDRINDEX=1$DEF\t\t\t - points the small backusp performed by ADMe to the first DD"
	echo "$GREEN_FG ENVFILECROSSERRCHK=true$DEF\t - performs a crosscheck to ensure a staging server or TAVADOMAIN variable value is not duplicated in other env files"
	echo "$GREEN_FG MAIL_NOTIFICATION_EXTENSION=txt$DEF - atatched mail file of ADme job log file extension value"
	echo "$GREEN_FG MAINTDISPLAY=false$DEF\t\t - used to dtermine whether maint check result is displayed each time main menu is refreshed"
	echo "$GREEN_FG MASK_ERROR_04B=false$DEF\t\t - this error indicates a client has no BU's, it results in an exception message, mask it to ignore and prevent the exception"
	echo "$GREEN_FG MASK_ERROR_05A=false$DEF\t\t - this error indicates a recovery has encountred an error, it will prevent the export from taking place if all sellected BU's fail"
	echo "$GREEN_FG MAXENVCOUNT=20$DEF\t\t\t - default max env file count"
	echo "$GREEN_FG MAXJOBNAMELENGTH=10$DEF\t\t - job policy name length"
	echo "$GREEN_FG MENULOCK=true$DEF\t\t\t - original menu user has write permission, all other users will be read only"
	echo "$GREEN_FG NETWORKERSERVEROS=WINDOWS$DEF\t - defines the tape export server OS type"
	echo "$GREEN_FG POLICYCOLWIDTH=30$DEF\t\t - define the fixed column width within the Job Manager"
	echo "$GREEN_FG SECURITYMODE=high$DEF\t\t - high is the only supported value, enforces the use of encrypted passwords"
	echo "$GREEN_FG VMQUALIFIEDNAMES=false$DEF\t\t - determines whether to use VMimage client fully qualified or user defined name"
	echo ""
	echo "\n$BLUE_BG$WHITE_FG ADMe Web-UI Customization:$DEF"
	echo "$GREEN_FG WEBUI_AEREXTERNALAVAMARNAME=avamar-name$DEF - used to define externel Avamar GSAN to accept AER tape import"
	echo "$GREEN_FG WEBUI_AERNETWORKERNAME=NWK-server-Name$DEF - used to define NWK server name for an AER tape import"
	echo "$GREEN_FG WEBUI_AERRECOVERY=enabled$DEF\t - used to enable display of AER Recovery tab in Web-UI"
	echo "$GREEN_FG WEBUI_AERRECOVERYCSVFILE=AER-meta-data-csv$DEF - define path and file name of AER meta data csv file"
	echo "$GREEN_FG WEBUI_AUTOREFRESH=600$DEF\t\t - time between Web-UI auto refreshes"
	echo "$GREEN_FG WEBUI_BINARY=adme.war$DEF\t\t - nae of generic Web-UI war file"
	echo "$GREEN_FG WEBUI_GROUPSIZEBUTYPE=NONE$DEF -\t"
	echo "$GREEN_FG WEBUI_LOG=$BULOCATION/log$DEF\t - location of ADMe log files"
	echo "$GREEN_FG WEBUI_PATH=$BULOCATION$DEF\t\t - Primary home path for ADMe"
	echo "$GREEN_FG WEBUI_REFRESHLOOPCNT=5$DEF\t\t - do not adjust"
	echo "$GREEN_FG WEBUI_REFRESHLOOPDELAY=1$DEF\t - do not adjust"
	echo "$GREEN_FG WEBUI_REFRESHTYPE2=partial$DEF\t - do not adjust"
	echo "$GREEN_FG WEBUI_REFRESHTYPE=full$DEF\t\t - do not adjust"

        echo "\n An empty client configuration file named$CYAN_FG admeclient.cfg$DEF is established automatically containing a header section defining the various"
	echo " field definitions and order in which they must be specified."
        echo "\n The base environment configuration file$CYAN_FG atoenv.cfg$DEF is created automatically the"
	echo " first time you access a given environment using the -env command. The environment file must be"
	echo " edited to contain the information relative to your staging and backup environment. To establish"
	echo " environment 2 issue command$CYAN_FG 2 -env$DEF changing the number to define up to a max of 20"
	echo " independent environments. Environment files are initially populated with unique log and temp"
	echo " directories to prevent conflicts with other environments. Other site dependent variables must be" 
	echo " edited to reflect your staging environment(s). Multiple environment definitions provide the ability"
	echo " to perform migrations with multiple staging servers concurrently improving throughput and they help to"
	echo " automate and organize ADMe procedural tasks."
	echo "\n The ADMe audit file$CYAN_FG $BULOCATION/audit/.adme-audit.csv$DEF maintained automatically is used to record and detect"
	echo " environmental changes impacting operational procedures used when recovering data from an export. It's contents can be"
	echo " viewed using the configuration manager option T=Audit"
	echo "\n$BLUE_BG$WHITE_FG Environment File Variable Definitions:$DEF"
	echo "$GREEN_FG  AVAMAR_UTILNODE_NAME:$DEF hostname of Avamar Utility node"
	echo "$GREEN_FG              HOMEPATH:$DEF install path of Avamar binaries on Utility node"
	echo "$CYAN_FG Tape backup Parameters$DEF"
	echo "$GREEN_FG         BUSERVER_NAME:$DEF export backup server name"
	echo "$GREEN_FG         BACKUPPRODUCT:$DEF export backup product name - avamar,ppdm,arcserv/brightstore,backupexec,backupexec2012,Cloud-GW,commvault,hpdp,netbackup,netvault,networker,tsm"
	echo "$GREEN_FG BACKUPPRODUCTHOMEUNIX:$DEF Unix/Linux based export system binary path, set to not-used if not applicable"
	echo "$GREEN_FG  BACKUPPRODUCTHOMEWIN:$DEF Windows based export system binary path, set to not-used if not applicable use DOS 8.3 format"
	echo "$GREEN_FG       TAVAINSTALLPATH:$DEF Avamar agent base install path on export backup server"
	echo "$GREEN_FG        TAVADOMAINNAME:$DEF Avamar domain name where export backup server resides"
	echo "$GREEN_FG             ENDOFYEAR:$DEF Month value 01-12 or comma separated list where Fld-13 export policy will be called if current month matches, 0=not-used"
	echo "$CYAN_FG Staging Server Parameters$DEF"
	echo "$GREEN_FG                UNIXSS:$DEF full Avamar name of UNIX/Linux based staging server include its domain or /VDP for a VDP appliance"
	echo "$GREEN_FG       UNIXINSTALLPATH:$DEF Avamar agent install path on Unix/Linux based staging server"
	echo "$GREEN_FG               TUNIXSS:$DEF staging server OS type, AIX, FREEBSD, HPUX, LINUX, MAC, SCO, SOLARIS"
	echo "$GREEN_FG              WINDOWSS:$DEF full Avamar name of Windows based staging server include its domain"
	echo "$GREEN_FG        WININSTALLPATH:$DEF Avamar agent install path on Windows based staging server use DOS 8.3 format"
	echo "$GREEN_FG               LINUXSS:$DEF name of Linux staging server used for AST based wrapper mode only"
	echo "$CYAN_FG ADMe Control Files$DEF"
	echo "$GREEN_FG              TMP_PATH:$DEF ADMe temp file location used by a given environment number only"
	echo "$GREEN_FG                   CFG:$DEF ADMe client configuration file normally shared by all environments"
	echo "$GREEN_FG                   LOG:$DEF ADMe event log file used by a given environment number only"
	echo "$GREEN_FG          PSEUDOCLIENT:$DEF Avamar pseudo client to be used by a given environment number only"
	echo "$CYAN_FG ADMe Operational Parameters$DEF"
	echo "$GREEN_FG              CMD_mail:$DEF email program used to send ADMe email notifications"
	echo "$GREEN_FG               MAIL_TO:$DEF email address list to send all notifications to"
	echo "$GREEN_FG         MAIL_TO_ERROR:$DEF email address list to send only ERROR notifications to"
	echo "$GREEN_FG             MAIL_FROM:$DEF email sender address ADMe notifications will use"
	echo "$GREEN_FG              LOG_SIZE:$DEF numeric value used to limit max line count of ADMe event log"
	echo "$GREEN_FG        TIMEDELAYSTAGE:$DEF time delay in seconds between staging progress messages"
	echo "$GREEN_FG         TIMEDELAYTAPE:$DEF time delay in seconds between export backup progress messages"
	echo "$GREEN_FG MAX_RECOVERY_SESSIONS:$DEF numeric value used to limit the number of checkpoints to be maintained"
	echo "                        by a given environmemt number only."
	echo "$GREEN_FG          USE_ALLNODES:$DEF Y or N flag to indicate whether to use all nodes during staging"
	echo "$GREEN_FG           COLORSCHEME:$DEF color scheme control 1=black_bg/color 2=white_bg/color 3=no color"
	echo "$GREEN_FG              MYEDITOR:$DEF For VI=/bin/vi, EMACS=/usr/bin/emacs NANO=/usr/bin/nano"
	echo "$GREEN_FG         BYDATEPATHXTN:$DEF Y or N flag to determine whether to include retention tag and expiry date"
	echo "                        within the staging path destination folder name, Def=N"
	echo "$GREEN_FG            BULOCATION:$DEF define home path of ADMe config, backups, grabs and healthcheck files Def=$BULOCATION"
	echo "$GREEN_FG           DEFSTAGELOC:$DEF define default staging location used by Config Manager Def=F:/ADME"
	echo "$GREEN_FG        SCRIPT_TIMEOUT:$DEF max time in seconds a remote export or avtar script can run before timing out" 
	echo "\n$BLUE_BG$WHITE_FG Client Configuration File Field Definitions:$DEF"
	echo "$GREEN_FG Fld-1:$DEF  Unique client group name. Used to identify and group clients together for tape-out purposes."
	echo "         It can also be used to permit multiple entries for a given client useful when different retention times"
	echo "         on tape or other criteria may be required for a given client."
	echo "$GREEN_FG Fld-2:$DEF  Starting date to limit the backup search from. Keyword of AUTO will default to the first of"
	echo "         the current month or you can enter a specific date using format yyyy-mm-dd or specify on the call line"
	echo "         -sdate yyyy-mm-dd. NOTE: This field is depricated therefore must be left as AUTO"
	echo "$GREEN_FG Fld-3:$DEF  Ending date to limit the backup search to. Keyword of AUTO will default to the current date or"
	echo "         you can enter a specific date using format of yyyy-mm-dd or you can specify on the call line -edate yyyy-mm-dd"
	echo "         NOTE: This field is depricated therefore must be left as AUTO"
	echo "$GREEN_FG Fld-4:$DEF  Avamar domain name the client resides in"
	echo "$GREEN_FG Fld-5:$DEF  Client name to select and stage from"
	echo "$GREEN_FG Fld-6:$DEF  Limit selection to the Avamar group name/label string value. Specified on a per client basis"
	echo "         and its value may vary between clients. Command line parameter -gname is also available for this purpose"
	echo "         and if specified takes precedence and will pertain to all clients in the group." 
	echo "         Available with Avamar native mode only."
	echo "$GREEN_FG Fld-7:$DEF  Limit selection to a given retention type. Valid values are none, daily, weekly, monthly and"
	echo "         yearly. Specified on a per client basis and its value may vary between clients. Command line"
	echo "         parameter -rtype is also available for this purpose and when specified takes precedence and"
	echo "         pertain to all clients in the group.Available with Avamar native mode only."
	echo "$GREEN_FG Fld-8:$DEF  Exclude the selected folder(s) or file(s) from the staging process, set to n/a when not used."
	echo "         Multiple names may be specified by separating each using a pipe character |. Command line parameter"
	echo "         -xdata is also available for this purpose and takes precedence over the configuration file"
	echo "         value. Note: When using command line each file name must be in quotes if they contain spaces. "
	echo "$GREEN_FG Fld-9:$DEF  Always set to DEFAULT unless informed otherwise." 
	echo "$GREEN_FG Fld-10:$DEF Destination directory where backup data will be recovered to. Each client within a group can"
	echo "         have different destination file system or directories specified. The keyword of INPLACE can be used to recover "
	echo "         a FS backup in place overwriting the destination clients original file locations. This option is intended for"
	echo "         use with a data migration or maintaining a DR location at the client level."
	echo ""
	echo "         A value of INPLACE is a keyword used to instruct ADMe to recover files inplace C:\ -> C:\ and is not intended"
	echo "         to be used for migration purposes, rather it is a way to automate complete recoveries of backups in place to the"
	echo "         defined destination server specified in the ADMe Environemnt file being used."
	echo "$GREEN_FG Fld-11:$DEF The keyword of AUTO will generate a suitable export backup script automatically. To specify your"
	echo "         own tape script which must reside on AVamar in folder /home/admin/admeadmin/scriptspecify only the script name."
	echo "         A prerequisite is for all clients within a group to share a common export backup script name."
	echo "         This field is not visable nor can it be managed from the Web-UI, you must use the ADMe CLI menu."
	echo "$GREEN_FG Fld-12:$DEF For Networker, represents either a group or pool name to be used by the export backup. By default"
	echo "         the group name will be used but by including the -nwksave option during the -migration phase a pool name."
 	echo "         In all cases the use of this field implies that the tape export is initiated from the staging client therefore"
	echo "         is considered to be a client initiated export backup versus a server initiated one."
	echo "         For all other tape or export applications this field represents a policy name or set of parameters used in a similar fashion."
	echo "         Additional command line syntax can be included as long as it is valid and in the required sequence which may vary"
	echo "         vary based on the tape application involved."
	echo "$GREEN_FG Fld-13:$DEF Same as Fld-12 with the exception it works in conjunction with the value defined within the ENDOFYEAR variable"
	echo "         present in the ADMe environment file being used. 0=not-used and 01 through 12 represents the month of the year Fld-13 will"
	echo "         be utilized. ENDOFYEAR may also contain a comma separated list such as 01,04,09,12 where Fld-13 contents will be utilized"
	echo "         when any of the months in the list match the current month. This could be useful to automate a quarterly full export backup"
	echo "         during these months only while performing incremental export backups when the current month does not match."
	echo "$GREEN_FG Fld-14:$DEF Similar to Fld-12 except this tape policy will be initiated on the export backup server versus"
	echo "         the staging client. This is controlled by using the -server option during a -migrate operation."
	echo "         Initiating a export backup from the export backup server may provide some additional capabilities related with"
	echo "         the export backup process. Enter n/a in this field when not being used. Two additional parameters located" 
	echo "         in the environment file TAVAINSTALLPATH and TAVADOMAINNAME must also be defined accordingly to support the"
	echo "         -server option."
	echo "$GREEN_FG Fld-15:$DEF Used to define the adme operating mode, must be set to WINDOWS or UNIX"
	echo "$GREEN_FG Fld-16:$DEF Value is appended to the final destination path name, set to n/a if not used. Specified on a per client"
	echo "         basis where its value may vary between clients. Command line parameter .path is also available"
	echo "         for this purpose but when specified takes precedence and will pertain to all clients in the group."
	echo "         Only one .path statement can be specified on the command line. Note: Specify a Windows path"
	echo "         C:\Program Files as /C/Program Files. Also, when using the command line if spaces are present within"
	echo "         the name it must be enclosed in quotes"
	echo "$GREEN_FG Fld-17:$DEF Include the selected folder(s) or file(s) in the staging process, set to n/a when not used. Multiple "
	echo "         names may be specified by separating each using a pipe character |. Command line .data is also"
	echo "         available for this purpose and takes precedence over the configuration file value. When using"
	echo "         command line multiple .data arguments are permitted and they will pertain to all clients in the"
	echo "         group. Note: When using command line each file name must be in quotes if they contain spaces."
	echo "$GREEN_FG Fld-18:$DEF Set to INCDEL will delete the specified clients staging data after exporting it to tape. The next"
	echo "         incremental tape-out operation will need to restage 100% of the data. However, the export backup"
	echo "         phase may still be able to leverage an incremental (varies between application and platform type)."
	echo "         Set this field to n/a if not used. Command line option .incdel takes precedence forcing all clients"
	echo "         in the group to use this policy."
}
ntwkrconsolidate_rtn()
{
#

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled ntwkrres_rtn()"; set -x
	fi

	if [ "$Debug" -ge "1" -o "$DEBUG" -ge "1" ];then Quiet=""; else Quiet="-q"; fi
	Quiet=""
   	echo "DEBUG - Quiet-Flag=$Quiet Debug=$Debug DEBUG=$DEBUG"

	a1=`echo "$1" | awk -F, '{print $1}'`; a2=`echo "$1" | awk -F, '{print $2}'`
	a3=`echo "$1" | awk -F, '{print $3}'`; a4=`echo "$1" | awk -F, '{print $4}'`
	a5=`echo "$1" | awk -F, '{print $5}'`; a6=`echo "$1" | awk -F, '{print $6}' | awk -F/ '{print $NF}'`
	a7=`echo "$1" | awk -F, '{print $7}' | awk -F/ '{print $NF}'`; a8=`echo "$1" | awk -F, '{print $8}'`
	a9=`echo "$1" | awk -F, '{print $9}'`; a10=`echo "$1" | awk -F, '{print $10}'`
	a11=`echo "$1" | awk -F, '{print $11}'`

	buid_=`echo "$a10" | awk '{print $2}'`
	ssidx=`echo "$a10" | awk '{print $3}'`
	echo "BUID=$buid_ NWSSID=$ssidx" > $TMP_PATH/nwtxfr.tmp
	pseudo="$a9"
	Networker_recovery="$a11"
	yr=`echo "$a10" | cut -b1-4`; mo=`echo "$a10" | cut -b6-7`; dy=`echo "$a10" | cut -b9-10`
        tdate="$mo/$dy/$yr"

	end="END"; buid=`printf '%7.7d' $buid_`
	path_full=`grep "$buid|" $TMP_PATH/snapups2tape.txt | awk -F+ '{print $NF}' | sed -n "s/$/$end/"p`
	if [ `echo "$path_full" | grep -c ":"` -gt "0" ]
	then
		path_full_=`echo -E "$path_full" | sed -n "s/\//+/"gp`
		path_final=`echo -E "$path_full_" | awk -F+ '{print $NF}'`
		path_partial=`echo -E "$path_full_" | sed -n "s/$path_final//"p`
		if [ `echo -E "$path_partial" | grep -c "+"` -gt "0" ];then ppartial=`echo -E "$path_partial" | sed -n "s/+/\\\\\/"gp`; fi
		pfinal=`echo -E "$path_final" | sed -n "s/END//"p`
		a2_="$a2"; a2=`echo -E "$a2_" | sed -n "s/\//\\\\\/"gp`
		a5_="$a5"; a5=`echo -E "$a5_" | sed -n "s/\//\\\\\/"gp`
		volmnt=`echo -E "$path_full" | cut -b 1`
	elif [ `echo "$path_full" | grep -c "/"` -gt "0" ]
	then
		path_full_=`echo "$path_full" | sed -n "s/\//+/"gp`
		path_final=`echo "$path_full_" | awk -F+ '{print $NF}'`
		path_partial=`echo "$path_full_" | sed -n "s/$path_final//"p`
		if [ `echo "$path_partial" | grep -c "+"` -gt "0" ];then ppartial=`echo "$path_partial" | sed -n "s/+/\//"gp`; fi
		pfinal=`echo "$path_final" | sed -n "s/END//"p`
	fi

 	if [ "$Cfg" -eq "" ];then Cfg=1; fi
	CLOG="$UNIXINSTALLPATH/etc/scripts/ntwkrres$Cfg.stat"
 	CLOG_W=`echo -E "$WININSTALLPATH/etc/scripts/ntwkrres$Cfg.stat" | sed -n "s/\//\\\\\/"gp`
	WINAVTAR=`echo -E "$WININSTALLPATH/bin/avtar" | sed -n "s/\//\\\\\/"gp`

	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	newlog_w="echo NETWORKER Script-Created: $builddate > $CLOG_W 2>&1"
 	echo -E "$newlog_w" > $TMP_PATH/ntwkrres$Cfg-w.tmp

	if [ "$Networker_recovery" -eq "0" ]
	then
		echo -E "echo \"CMD: $a2\nsrconsolidate -s $a3 -R $Quiet -S $ssidx \" >> $CLOG_W 2>&1" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
		echo -E "$a2/srconsolidate -s $a3 -R $Quiet -S $ssidx >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	elif [ "$Networker_recovery" -eq "1" ]
	then
		echo -E "echo \"CMD: $a2\recover -s $a3 -c $a4 -d $a5\\$volmnt -t $tdate -f -a $ppartial$pfinal\" >> $CLOG_W 2>&1" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
  		echo -E "$a2\recover -s $a3 -c $a4 -d $a5\\$volmnt -t $tdate -f -a \"$ppartial$pfinal\" >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	fi
	echo "if ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo "if ERRORLEVEL 0 GOTO OK" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo "if ERRORLEVEL -1 GOTO NOTOK" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo ":NOTOK" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo -E "echo NETWORKER_RESTORE_NOTOK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo -E "$WINAVTAR -c --acnt=$pseudo $TAPE_credential $Use_DD $CLOG_W" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
	then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/ntwkrres$Cfg.bat" >> $TMP_PATH/ntwkrres$Cfg-w.tmp 
	fi
	echo "EXIT 1" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo "GOTO END" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo ":OK" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo -E "echo NETWORKER_RESTORE_OK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo -E "$WINAVTAR -c --acnt=$pseudo $TAPE_credential $Use_DD $CLOG_W" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
	then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/ntwkrres$Cfg.bat" >> $TMP_PATH/ntwkrres$Cfg-w.tmp 
	fi
	echo "EXIT 0" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo ":END" >> $TMP_PATH/ntwkrres$Cfg-w.tmp

	newlog="echo \"NETWORKER Script-Created: $builddate\" > $CLOG 2>&1"
	echo "#!/bin/ksh" > $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "$newlog" >> $TMP_PATH/ntwkrres$Cfg-u.tmp

	if [ "$Networker_recovery" -eq "0" ]
	then
		echo -E "echo \"CMD: $a1/recover -s $a3 -S $ssidx -d $a5$ppartial -f -a $Quiet\" >> $CLOG 2>&1" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
 		echo "$a1/recover -s $a3 -S $ssidx -d \"$a5$ppartial\" -f -a $Quiet >> $CLOG 2>&1" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	elif [ "$Networker_recovery" -eq "1" ]
	then
		echo -E "echo \"CMD: $a1/recover -s $a3 -c $a4 -f << EOF relocate $a5$ppartial add $ppartial$pfinal changetime $tdate recover EOF \" >> $CLOG 2>&1" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
		echo "$a1/recover -s $a3 -c $a4 -f << EOF >> $CLOG 2>&1" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
 		echo "relocate $a5$ppartial" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
  		echo "changetime $tdate" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
 		echo "add $ppartial$pfinal" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
		echo "recover" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
		echo "EOF" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	fi
	echo "if [ \"\$?\" -eq \"0\" ]" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "then" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "echo NETWORKER_RESTORE_OK RC=\$? >> $CLOG" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$pseudo --freezemethod=none $AVTAR_expire --label=ntwkrres$Cfg.stat $TAPE_credential $Use_DD $CLOG" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
 	if [ "$Debug" -lt "4" ]
 	then
 		echo "/bin/rm $UNIXINSTALLPATH/etc/scripts/ntwkrres$Cfg.sh" >> $TMP_PATH/ntwkrres$Cfg-u.tmp 
 	fi
 	echo "exit 0" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "else"  >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "echo NETWORKER_RESTORE_NOTOK RC=\$? >> $CLOG" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$pseudo --freezemethod=none $AVTAR_expire --label=ntwkrres$Cfg.stat $TAPE_credential $Use_DD $CLOG" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
 	if [ "$Debug" -lt "4" ]
 	then
 		echo "/bin/rm $UNIXINSTALLPATH/etc/scripts/ntwkrres$Cfg.sh" >> $TMP_PATH/ntwkrres$Cfg-u.tmp 
 	fi
 	echo "exit 1" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "fi" >> $TMP_PATH/ntwkrres$Cfg-u.tmp

	mv $TMP_PATH/ntwkrres$Cfg-w.tmp $TMP_PATH/ntwkrres$Cfg.bat >/dev/null 2>&1
	mv $TMP_PATH/ntwkrres$Cfg-u.tmp $TMP_PATH/ntwkrres$Cfg.sh >/dev/null 2>&1
	cp $TMP_PATH/ntwkrres$Cfg.sh $TMP_PATH/.ntwkrres$Cfg.sh
	cp $TMP_PATH/ntwkrres$Cfg.bat $TMP_PATH/.ntwkrres$Cfg.tab
	chmod 700 $TMP_PATH/ntwkrres$Cfg.sh >/dev/null 2>&1
}

networker_pnpc_rtn()
{
	profx="$1"; switch_flg=0; res_noexist=0; res_exist=""
	if [ ! -d /nsr/res ]
	then
 	stgdrvx="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $10}' | cut -b 1-1)"
 	stgdrvx="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $10}' | cut -b 1-1)"
 	stgdrvx="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $10}' | cut -b 1-1)"
 	stgdrvx="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $10}' | cut -b 1-1)"
 	stgdrvx="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $10}' | cut -b 1-1)"
 	stgdrvx="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $10}' | cut -b 1-1)"
		echo "\n$RED_BG$WHITE_FG WARNING: $DEF The Networker Linux-64 bit file system agent does not appear to be installed on this system"
		echo "\n<Press Enter to Continue>"; read
		retrun
	else
		while true
		do
			prof_name_x="$(echo "$profx " | sed -n "s/.cfg//"p)"
			resc=0; avail_res="";  avail_res_=""
			avail_res_="$(ls -rtl /nsr/res | awk '{ print $NF}' | egrep "^ATO|^ADME" | sort -u | grep -n "^" | sed -n "s/:/)/"p)"
			for list in $(echo "$avail_res_")
			do
				if [ "$switch_flg" -eq "0" ]
				then
					filex="$(echo "$list" | awk -F\) '{print $2}')"
					if [ "$(grep -c "$profx" /nsr/res/$filex)" -eq "1" ]
					then
						res_exist="$filex"; res_noexist=2
					elif [ "$res_noexist" -ne "2" ]
					then
						res_noexist=1	
					fi
				fi
				if [ "$resc" -lt "1" ]
        			then
              				resc=$(expr $resc + 1)
					rline="$(echo "$list                                                                " | cut -b1-45)"
        			else
              				resc=0; rline="$list\n"
        			fi
				avail_res="$avail_res $rline"
			done
			display="$(echo "$avail_res" | sed -n "s/)/)  /"gp)"
			echo "\n$CYAN_FG Existing PNPC Res Files:$DEF"
			echo "\n$display$DEF"
			if [ "$res_exist" = "" ];then res_exist="n/a"; fi
			echo "\n$CYAN_FG A Networker pnpc.res file for policy name [$WHITE_FG$profx$CYAN_FG] already exists: [$WHITE_FG$res_exist$CYAN_FG]$DEF"
			if [ "$res_noexist" -ne "2" ]
			then
				echo "\n$CYAN_FG To add or modify and existing pnpc.res file: Enter$WHITE_FG A$CYAN_FG=Add$WHITE_FG S$CYAN_FG=Select$WHITE_FG Q$CYAN_FG=Quit [$WHITE_FG$res_exist$CYAN_FG]:$DEF> \c"; read input
			else
				echo "\n$CYAN_FG To add or modify and existing pnpc.res file: Enter$WHITE_FG S$CYAN_FG=Select$WHITE_FG D$CYAN_FG=Delete$WHITE_FG M$CYAN_FG=Modify$WHITE_FG Q$CYAN_FG=Quit$WHITE_FG V$CYAN_FG=View [$WHITE_FG$res_exist$CYAN_FG]:$DEF> \c"; read input
			fi
			if [ "$input" = "" -o "$input" = "Q" -o "$input" = "q" ]
			then
				break
			elif [ "$input" = "v" -o "$input" = "V" ]
			then
				echo "$GREEN_FG"
				cat /nsr/res/$res_exist
				echo "\n$DEF<Press Enter to Continue>"; read
			elif [ "$input" = "m" -o "$input" = "M" ]
			then
				$MYEDITOR /nsr/res/$res_exist
			elif [ "$input" = "s" -o "$input" = "S" ]
			then
				echo "$CYAN_FG\n Switch the selected pnpc file, enter by number. Def=[$WHITE_FG$profx$CYAN_FG] or Q=Quit: >$DEF \c"; read resx
				if [ "$resx" = "q" -o "$resx" = "Q" ]; then continue; fi
                        	if [ "$resx" = "" ]
                        	then
					continue
                        	elif [ "$(expr $resx \% 2)" -eq "0" ]
                        	then
                                	res_exist="$(echo "$display" | grep " $resx)" | head -1 | awk '{print $4}')"
					profx="$(grep "^precmd" /nsr/res/$res_exist | awk '{print $NF}' | sed -n "s/\";//"gp)"
					switch_flg=1; res_noexist=2
                        	else
                                	res_exist="$(echo "$display" | grep " $resx)" | head -1 | awk '{print $2}')"
					profx="$(grep "^precmd" /nsr/res/$res_exist | awk '{print $NF}' | sed -n "s/\";//"gp)"
					switch_flg=1; res_noexist=2
                        	fi
			elif [ "$input" = "a" -o "$input" = "A" ]
			then
				echo "\n$CYAN_FG Is your Networker server being used to support multiple Avamar systems with ADMe? Y/N $WHITE_FG Def=N >$DEF \c"; read multi
				if [ "$multi" = "y" -o "$multi" = "Y" ]
				then
					namex="$(echo "$profx" | awk -F- '{print $2}' | sed -n "s/.cfg//"p)"
					namex="$(hostname)_$namex"
				else
					namex="$(echo "$profx" | awk -F- '{print $2}' | sed -n "s/.cfg//"p)"
				fi
				echo "type: savepnpc;" > /nsr/res/ADME_init_$namex.res
				echo "precmd: \"/usr/local/avamar/bin/atopnpc $profx\";" >> /nsr/res/ADME_init_$namex.res
				echo "pstcmd: \"\";" >> /nsr/res/ADME_init_$namex.res
				echo "abort precmd with group: Yes;" >> /nsr/res/ADME_init_$namex.res
				chmod 700 /nsr/res/ADME_init_$namex.res >/dev/null 2>&1
				echo "\n$CYAN_FG A pnpc file [$WHITE_FG ADME_init_$hostx$namex.res $CYAN_FG] has been created:\n\n$DEF <Press Enter to Continue>"; read
			elif [ "$input" = "d" -o "$input" = "D" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
				echo "\n$RED_FG You are about to delete pnpc file [$WHITE_FG$res_exist$RED_FG], Enter $WHITE_FG Y/N Def=Quit$RED_FG >: $DEF \c"; read inputdel
				if [ "$inputdel" = "y" -o "$inputdel" = "Y" ];then rm /nsr/res/$res_exist >/dev/null 2>&1; fi
			fi
		done
	fi
}

batch_bulk_script_rtn()
{

 	cfg=".cfg"; log=".log"; chk=".chk"; wc=".*"
 	SCRIPTX="/tmp/$1"
 	filebase=`echo "$1" | awk -F. '{print $1}'`
 	bulkprf="$filebase$cfg"
 	bulklog="$filebase$log"
 	FAIL_ACTION="`head -1 $BULOCATION/etc/$bulkprf | awk '{print $3}'`"
 	if [ "$(echo "$FAIL_ACTION" | egrep -c "CONTINUE|STOP")" -eq "0" ];then FAIL_ACTION="STOP"; fi 

  	echo "#!/bin/ksh" > $SCRIPTX
#	echo "set -x" >> $SCRIPTX
	echo "touch /tmp/$filebase$chk"  >> $SCRIPTX
	echo "echo >> $BULOCATION/log/$bulklog" >> $SCRIPTX
	echo "sdate=\`date +'20%y-%m-%d %H:%M'\`" >> $SCRIPTX
	echo "epochstartdate=\`date '+%s'\`" >> $SCRIPTX
   	echo "echo \"$BLUE_BG$WHITE_FG>>> BATCH-PROFILE-START-TIME:$DEF \$sdate $DEF\" > $BULOCATION/log/$bulklog 2>&1" >> $SCRIPTX
   	echo "for x in \`cat $BULOCATION/etc/$bulkprf | awk '{print \$3}' | grep \"cfg\"\`" >> $SCRIPTX
    	echo "do" >> $SCRIPTX
	echo "if [ \"\$x\" = \"STOP\" -o \"\$x\" = \"CONTINUE\" ];then continue; fi" >> $SCRIPTX
   	echo "prflog=\`echo \"\$x\" | sed -n \"s/.cfg/.log/\"p\`" >> $SCRIPTX
   	echo "/usr/local/avamar/bin/adme -BATCH \$x >> $BULOCATION/log/$bulklog 2>&1" >> $SCRIPTX 
	echo "sleep 15" >> $SCRIPTX
	echo "if [ \`tail -8 $BULOCATION/log/\$prflog | egrep -c \"RunTime|Recovery Session|killed|cancelled|FAIL\"\` -gt 0 ]" >> $SCRIPTX
	echo "then" >> $SCRIPTX
        echo "if [ \`tail -10 $BULOCATION/log/\$prflog | egrep -c \"TAPE_BACKUP_OK\"\` -eq 1 ]" >> $SCRIPTX
        echo "then" >> $SCRIPTX
        echo "continue" >> $SCRIPTX
        echo "elif [ \`tail -10 $BULOCATION/log/\$prflog | egrep -c \"ERROR-04A\"\` -eq 1 ]" >> $SCRIPTX
        echo "then" >> $SCRIPTX
  	echo "echo "\"$RED_FG ERROR-04A$DEF - "No backups selected on previous job, going to next job\" >> /$BULOCATION/log/$bulklog 2>&1" >> $SCRIPTX
        echo "continue" >> $SCRIPTX
        echo "else" >> $SCRIPTX
        echo "if [ \"$FAIL_ACTION\" = \"STOP\" ]" >> $SCRIPTX
        echo "then" >> $SCRIPTX
        echo "echo \"\\n$RED_BG$WHITE_FG>>> PREV-ERROR-DETECTED Fail-Action:[$FAIL_ACTION]$DEF Exiting... Start-Time:$sdate End-Time: \`date +'20%y-%m-%d %H:%M'\`$DEF\" >> /$BULOCATION/log/$bulklog 2>&1" >> $SCRIPTX
        echo "break" >> $SCRIPTX
	echo "else" >> $SCRIPTX
        echo "echo \"\\n$RED_BG$WHITE_FG>>> PREV-ERROR-DETECTED Fail-Action:[$FAIL_ACTION]$DEF Continuing... Start-Time:$sdate End-Time: \`date +'20%y-%m-%d %H:%M'\`$DEF\" >> /$BULOCATION/log/$bulklog 2>&1" >> $SCRIPTX
        echo "fi" >> $SCRIPTX
     	echo "fi" >> $SCRIPTX
	echo "fi" >> $SCRIPTX

   	echo "done"  >> $SCRIPTX
	echo "linex=\`grep -n \"BATCH-PROFILE-START\" $BULOCATION/log/$bulklog | tail -1 | sed -n \"s/:/ /\"p | awk '{print \$1}'\`" >> $SCRIPTX
	echo "endstatus=\`sed -n \"\$linex,99999\"p $BULOCATION/log/$bulklog | egrep -c \"ERROR-DETECTED|BATCH-FAILURE:\"\`" >> $SCRIPTX

	echo "epochenddate=\`date '+%s'\`" >> $SCRIPTX
	echo "epochelapsed=\`expr $epochenddate - $epochstartdate\`" >> $SCRIPTX
 	echo "epochenddate=\`date '+%s'\`" >> $SCRIPTX
	echo "epochdiff=\`expr \$epochenddate - \$epochstartdate\`"  >> $SCRIPTX
	echo "if [ \$epochdiff -ge 3600 ]" >> $SCRIPTX
	echo "then" >> $SCRIPTX 
	echo "epochhours=\`expr \$epochdiff / 3600\`" >> $SCRIPTX
	echo "else" >> $SCRIPTX
	echo "epochhours=00" >> $SCRIPTX 
	echo "fi" >> $SCRIPTX
	echo "epochmins=\`expr \$epochdiff % 3600\`" >> $SCRIPTX
	echo "if [ \$epochmins -ge 60 ]" >> $SCRIPTX
	echo "then" >> $SCRIPTX
	echo "epochmins=\`expr \$epochmins / 60\`" >> $SCRIPTX
	echo "if [ \$epochmins -le 9 ];then epochmins=0\$epochmins; fi" >> $SCRIPTX
	echo "else" >> $SCRIPTX
	echo "epochmins=02" >> $SCRIPTX
	echo "fi" >> $SCRIPTX
	echo "Elapsed=\"Elapsed-Time:\$epochhours:\$epochmins\"" >> $SCRIPTX

	echo "if [ \"\$endstatus\" -gt \"0\" ]" >> $SCRIPTX
	echo "then" >> $SCRIPTX
	echo "echo \"\\n$RED_BG$WHITE_FG>>> BATCH-PROFILE-FAILED:$DEF Start-Time:\$sdate End-Time: \`date +'20%y-%m-%d %H:%M'\` \$Elapsed $DEF\" >> $BULOCATION/log/$bulklog 2>&1" >> $SCRIPTX
	echo "else" >> $SCRIPTX
	echo "echo \"\\n$BLUE_BG$WHITE_FG>>> BATCH-PROFILE-SUCCEEDED:$DEF Start-Time:\$sdate End-Time: \`date +'20%y-%m-%d %H:%M'\` \$Elapsed $DEF\" >> $BULOCATION/log/$bulklog 2>&1" >> $SCRIPTX
	echo "fi" >> $SCRIPTX
   	echo "rm /tmp/$filebase$chk >/dev/null 2>&1" >> $SCRIPTX
   	echo "rm /tmp/$filebase$wc >/dev/null 2>&1" >> $SCRIPTX
}

cfgcheck_rtn()
{
        if [ ! -f $CFG ]
        then
                echo "# Edit this file as required based on the following criteria" > $CFG
                echo "\n#1. Enter all fields in the order shown using a comma to separate each" >> $CFG
                echo "#2. For Date fields, enter AUTO or a specific date as yyyy-mm-dd" >> $CFG
                echo "#3. For Client selection enter a client-name in specified Domain" >> $CFG
                echo "#   When multiple clients in a domain are required use a separate line for each" >> $CFG
                echo "#4. The Group-ID field is used as input to the utility to select rows based on this value" >> $CFG
                echo "#   This value is a free form text to identify the groups of clients involved." >> $CFG
                echo "#5. A # character in col-1 indicates a comment line" >>$CFG
                echo "#6. For O/P File name always enter DEFAULT for native mode or AVAMAR for non native mode" >> $CFG
                echo "#7. For Destination Directory enter the complete path to the destination filesystem on the staging server" >>$CFG
                echo "#8. The tape-script field defines the complete name of a tape export script called automatically to initiate the export backup" >> $CFG
                echo "#   It must specifiy the complete pathname and be located on the utility node or Linux SS" >>$CFG
                echo "#   Keyword of MANUAL indicates do not call a tape scrip, AUTO will automatically generate a suitable tape script." >> $CFG
                echo "#   using variables from fields 12, 13 & 14 and the environment fiel being used" >> $CFG
                echo "#   Note: Clients in each TO session can utilize different destination FS's in native mode but only a single destination in Avamar mode" >> $CFG
                echo "#" >> $CFG
                echo "# ******************************************************************************************************************************************" >> $CFG
                echo "# 1 Group-ID | 2 Start-Date |3 End-Date |4 Domain |5 Client |6 Policy-Grp-Name |7 Retention-Type |8 Excl-Files |9 O/P File |10 Destination-Dir |" >> $CFG
                echo "# 11 ExportBU-Script |12 Monthly-Pool |13 Yearly-Pool |14 Ntwk-Group |15 SS-Type |16 Dest-Path Suffix |17 Incl-Files |18 Inc-Delete |" >> $CFG
                echo "# ******************************************************************************************************************************************" >> $CFG
        fi
}

ntwkrres_rtn()
{
#

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled ntwkrres_rtn()"; set -x
	fi

	if [ "$Debug" -ge "1" -o "$DEBUG" -ge "1" ];then Quiet=""; else Quiet="-q"; fi
	Quiet=""
   	echo "DEBUG - Quiet-Flag=$Quiet Debug=$Debug DEBUG=$DEBUG"

	a1=`echo "$1" | awk -F, '{print $1}'`; a2=`echo "$1" | awk -F, '{print $2}'`
	a3=`echo "$1" | awk -F, '{print $3}'`; a4=`echo "$1" | awk -F, '{print $4}'`
	a5=`echo "$1" | awk -F, '{print $5}'`; a6=`echo "$1" | awk -F, '{print $6}' | awk -F/ '{print $NF}'`
	a7=`echo "$1" | awk -F, '{print $7}' | awk -F/ '{print $NF}'`; a8=`echo "$1" | awk -F, '{print $8}'`
	a9=`echo "$1" | awk -F, '{print $9}'`; a10=`echo "$1" | awk -F, '{print $10}'`
	a11=`echo "$1" | awk -F, '{print $11}'`

	buid_=`echo "$a10" | awk '{print $2}'`
	ssidx=`echo "$a10" | awk '{print $3}'`
	echo "BUID=$buid_ NWSSID=$ssidx" > $TMP_PATH/nwtxfr.tmp
	pseudo="$a9"
	Networker_recovery="$a11"
	yr=`echo "$a10" | cut -b1-4`; mo=`echo "$a10" | cut -b6-7`; dy=`echo "$a10" | cut -b9-10`
        tdate="$mo/$dy/$yr"

	end="END"; buid=`printf '%7.7d' $buid_`
	path_full=`grep "$buid|" $TMP_PATH/snapups2tape.txt | awk -F+ '{print $NF}' | sed -n "s/$/$end/"p`
	if [ `echo "$path_full" | grep -c ":"` -gt "0" ]
	then
		path_full_=`echo -E "$path_full" | sed -n "s/\//+/"gp`
		path_final=`echo -E "$path_full_" | awk -F+ '{print $NF}'`
		path_partial=`echo -E "$path_full_" | sed -n "s/$path_final//"p`
		if [ `echo -E "$path_partial" | grep -c "+"` -gt "0" ];then ppartial=`echo -E "$path_partial" | sed -n "s/+/\\\\\/"gp`; fi
		pfinal=`echo -E "$path_final" | sed -n "s/END//"p`
		a2_="$a2"; a2=`echo -E "$a2_" | sed -n "s/\//\\\\\/"gp`
		a5_="$a5"; a5=`echo -E "$a5_" | sed -n "s/\//\\\\\/"gp`
		volmnt=`echo -E "$path_full" | cut -b 1`
	elif [ `echo "$path_full" | grep -c "/"` -gt "0" ]
	then
		path_full_=`echo "$path_full" | sed -n "s/\//+/"gp`
		path_final=`echo "$path_full_" | awk -F+ '{print $NF}'`
		path_partial=`echo "$path_full_" | sed -n "s/$path_final//"p`
		if [ `echo "$path_partial" | grep -c "+"` -gt "0" ];then ppartial=`echo "$path_partial" | sed -n "s/+/\//"gp`; fi
		pfinal=`echo "$path_final" | sed -n "s/END//"p`
	fi

 	if [ "$Cfg" -eq "" ];then Cfg=1; fi
	CLOG="$UNIXINSTALLPATH/etc/scripts/ntwkrres$Cfg.stat"
 	CLOG_W=`echo -E "$WININSTALLPATH/etc/scripts/ntwkrres$Cfg.stat" | sed -n "s/\//\\\\\/"gp`
	WINAVTAR=`echo -E "$WININSTALLPATH/bin/avtar" | sed -n "s/\//\\\\\/"gp`

	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	firstpass=0
	if [ "$firstpass" -eq "0" ]
	then
		echo "echo === Start Networker Probe ==================== >> $CLOG_W 2>&1" >> $TMP_PATH/networker_win.tmp
		echo "echo \"=== Start Networker Probe ====================\" >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp
		if [ "$(grep -i -c "PROBE=Y" $BULOCATION/customize/networker.txt)" -ne "0" ]
		then
			echo "$BACKUPPRODUCTHOMEWIN/save $NTWKBUG1 -s $BUSERVER_NAME -n -b $Pool -q $stagedir_w >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/networker_win.tmp
  			echo "$BACKUPPRODUCTHOMEUNIX/save $NTWKBUG1 -s $BUSERVER_NAME -n -b $Pool -q $stagedir >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp
		else
			echo "echo \"INFO: Skipping Probe Operation set to N in $BULOCATION/customize/networker.txt file >> $CLOG 2>&1\"" >> $TMP_PATH/networker_unix.tmp
			echo "echo INFO: Skipping Probe Operation set to N in $BULOCATION/customize/networker.txt file >> $CLOG_W 2>&1" >> $TMP_PATH/networker_win.tmp
		fi
		echo "echo === End Networker Probe ==================== >> $CLOG_W 2>&1" >> $TMP_PATH/networker_win.tmp
		echo "echo \"=== End Networker Probe ====================\"  >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp
		firstpass=1
	fi
	newlog_w="echo NETWORKER Script-Created: $builddate > $CLOG_W 2>&1"
 	echo -E "$newlog_w" > $TMP_PATH/ntwkrres$Cfg-w.tmp

	if [ "$Networker_recovery" -eq "0" ]
	then
		echo -E "echo \"CMD: $a2\recover -s $a3 -S $ssidx -d $a5\\$volmnt -f -a $Quiet \" >> $CLOG_W 2>&1" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
		echo -E "$a2/recover -s $a3 -S $ssidx -d $a5/$volmnt -f -a $Quiet >> $CLOG_W 2>&1" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	elif [ "$Networker_recovery" -eq "1" ]
	then
		echo -E "echo \"CMD: $a2\recover -s $a3 -c $a4 -d $a5\\$volmnt -t $tdate -f -a $ppartial$pfinal\" >> $CLOG_W 2>&1" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
  		echo -E "$a2\recover -s $a3 -c $a4 -d $a5\\$volmnt -t $tdate -f -a \"$ppartial$pfinal\" >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	fi
	echo "if ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo "if ERRORLEVEL 0 GOTO OK" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo "if ERRORLEVEL -1 GOTO NOTOK" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo ":NOTOK" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo -E "echo NETWORKER_RESTORE_NOTOK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo -E "$WINAVTAR -c --acnt=$pseudo --freezemethod=none $Use_DD $TAPE_credential $CLOG_W" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
	then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/ntwkrres$Cfg.bat" >> $TMP_PATH/ntwkrres$Cfg-w.tmp 
	fi
	echo "EXIT 1" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo "GOTO END" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo ":OK" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo -E "echo NETWORKER_RESTORE_OK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo -E "$WINAVTAR -c --acnt=$pseudo --freezemethod=none $Use_DD $TAPE_credential $CLOG_W" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
	then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/ntwkrres$Cfg.bat" >> $TMP_PATH/ntwkrres$Cfg-w.tmp 
	fi
	echo "EXIT 0" >> $TMP_PATH/ntwkrres$Cfg-w.tmp
	echo ":END" >> $TMP_PATH/ntwkrres$Cfg-w.tmp

	newlog="echo \"NETWORKER Script-Created: $builddate\" > $CLOG 2>&1"
	echo "#!/bin/ksh" > $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "$newlog" >> $TMP_PATH/ntwkrres$Cfg-u.tmp

	if [ "$Networker_recovery" -eq "0" ]
	then
		echo -E "echo \"CMD: $a1/recover -s $a3 -S $ssidx -d $a5$ppartial -f -a $Quiet\" >> $CLOG 2>&1" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
 		echo "$a1/recover -s $a3 -S $ssidx -d \"$a5$ppartial\" -f -a $Quiet >> $CLOG 2>&1" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	elif [ "$Networker_recovery" -eq "1" ]
	then
		echo -E "echo \"CMD: $a1/recover -s $a3 -c $a4 -f << EOF relocate $a5$ppartial add $ppartial$pfinal changetime $tdate recover EOF \" >> $CLOG 2>&1" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
		echo "$a1/recover -s $a3 -c $a4 -f << EOF >> $CLOG 2>&1" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
 		echo "relocate $a5$ppartial" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
  		echo "changetime $tdate" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
 		echo "add $ppartial$pfinal" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
		echo "recover" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
		echo "EOF" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	fi
	echo "if [ \"\$?\" -eq \"0\" ]" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "then" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "echo NETWORKER_RESTORE_OK RC=\$? >> $CLOG" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$pseudo --freezemethod=none $AVTAR_expire --label=ntwkrres$Cfg.stat $TAPE_credential $Use_DD $CLOG" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
 	if [ "$Debug" -lt "4" ]
 	then
 		echo "/bin/rm $UNIXINSTALLPATH/etc/scripts/ntwkrres$Cfg.sh" >> $TMP_PATH/ntwkrres$Cfg-u.tmp 
 	fi
 	echo "exit 0" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "else"  >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "echo NETWORKER_RESTORE_NOTOK RC=\$? >> $CLOG" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$pseudo --freezemethod=none $AVTAR_expire --label=ntwkrres$Cfg.stat $TAPE_credential $Use_DD $CLOG" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
 	if [ "$Debug" -lt "4" ]
 	then
 		echo "/bin/rm $UNIXINSTALLPATH/etc/scripts/ntwkrres$Cfg.sh" >> $TMP_PATH/ntwkrres$Cfg-u.tmp 
 	fi
 	echo "exit 1" >> $TMP_PATH/ntwkrres$Cfg-u.tmp
	echo "fi" >> $TMP_PATH/ntwkrres$Cfg-u.tmp

	mv $TMP_PATH/ntwkrres$Cfg-w.tmp $TMP_PATH/ntwkrres$Cfg.bat >/dev/null 2>&1
	mv $TMP_PATH/ntwkrres$Cfg-u.tmp $TMP_PATH/ntwkrres$Cfg.sh >/dev/null 2>&1
	cp $TMP_PATH/ntwkrres$Cfg.sh $TMP_PATH/.ntwkrres$Cfg.sh
	cp $TMP_PATH/ntwkrres$Cfg.bat $TMP_PATH/.ntwkrres$Cfg.tab
	chmod 700 $TMP_PATH/ntwkrres$Cfg.sh >/dev/null 2>&1
}

avmossvssres_rtn()
{
#

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled avmossvssres_rtn()"; set -x
	fi
	if [ "$Debug" -ge "1" -o "$DEBUG" -ge "1" ]
	then
		Quiet=""; verbose="--verbose"
	else
		verbose=""; Quiet="--quiet"
	fi

	a1=`echo "$1" | awk -F, '{print $1}'`; a2=`echo "$1" | awk -F, '{print $2}'`
	a3=`echo "$1" | awk -F, '{print $3}'`; a4=`echo "$1" | awk -F, '{print $4}'`
	a5=`echo "$1" | awk -F, '{print $5}'`; a6=`echo "$1" | awk -F, '{print $6}'`
	a8=`echo "$1" | awk -F, '{print $8}'`; a9=`echo "$1" | awk -F, '{print $9}'`
#	a10=`echo "$1" | awk -F, '{print $10}'`
	a10="$(grep "SHPT-CREDENTIALS:" $TMP_PATH/.atositeid 2>/dev/null | awk -F: '{print $2}')"

	if [ -s $BULOCATION/customize/.shpt.txt ]
	then
		chmod 544 $BULOCATION/customize/.shpt.txt >/dev/null 2>&1
		a10="$(head -1 $BULOCATION/customize/.shpt.txt)"
		chmod 000 $BULOCATION/customize/.shpt.txt >/dev/null 2>&1
	else
		echo "$ERRORX-XX SHPT farm credentials unavailable to ADMe"
	fi

	a7=`echo "$1" | awk -F, '{print $7}' | sed -n "s/--cmd=//"gp`

	sourceclient=$a1; dest=$a2; buid=$a3; pseudo=$a4; inc=$a5
	if [ "$Cfg" -eq "" ];then Cfg=1; fi
	CLOG="$UNIXINSTALLPATH/etc/scripts/avmossvssres$Cfg.stat"
 	CLOG_W=`echo -E "$WININSTALLPATH/etc/scripts/avmossvssres$Cfg.stat" | sed -n "s/\//\\\\\/"gp`
	WINAVTAR=`echo -E "$WININSTALLPATH/bin/avtar" | sed -n "s/\//\\\\\/"gp`
	WINAVMOSSVSS=`echo -E "$WININSTALLPATH/bin/avmossvss" | sed -n "s/\//\\\\\/"gp`
	AVMOSSVSSLOGPATH=`echo -E "$WININSTALLPATH/etc/scripts/avmossvssres$Cfg.log" | sed -n "s/\//\\\\\/"gp`
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "1" ];then RESTORE_pw="$(grep "^PWX=" $ENVCFG | tail -1 | awk -F= '{print $2}')"; fi
	dest_w="$(echo -E "$dest" | sed -n "s/\//\\\\/"gp)"

	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	newlog_w="echo AVMOSSVSS Script-Created: $builddate > $CLOG_W 2>&1"
 	echo -E "$newlog_w > $CLOG_W 2>&1" > $TMP_PATH/avmossvssres$Cfg-w.tmp

  	echo -E "echo \"CMD: $WINAVMOSSVSS --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=***** --ap=***** --labelnum=$buid --target=$dest_w --logfile=$WININSTALLPATH/etc/scripts/avmossvssres$Cfg.log --farm-username=***** --farm-password=***** $Quiet \" >> $CLOG_W 2>&1" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
#	if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
	if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
	then
 		echo -E "$WINAVMOSSVSS --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$AVA_user --ap=$AVA_password --labelnum=$buid --target=$dest_w --logfile=$AVMOSSVSSLOGPATH $a10 $Quiet >> $CLOG_W 2>&1 " >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	else
 		echo -E "$WINAVMOSSVSS --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --ap=$RESTORE_pw --labelnum=$buid --target=$dest_w --logfile=$AVMOSSVSSLOGPATH $a10 $Quiet >> $CLOG_W 2>&1 " >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	fi

	echo "if ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	echo "if ERRORLEVEL 0 GOTO OK" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	echo "if ERRORLEVEL -1 GOTO NOTOK" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	echo ":NOTOK" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	echo -E "echo AVMOSSVSS_RESTORE_NOTOK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none $Use_DD $TAPE_credential $CLOG_W" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/avmossvssres$Cfg.bat" >> $TMP_PATH/avmossvssres$Cfg-w.tmp 
	fi
	echo "EXIT 1" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	echo "GOTO END" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	echo ":OK" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	echo -E "echo AVMOSSVSS_RESTORE_OK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none $Use_DD --label=avmossvssres$Cfg.stat $TAPE_credential $CLOG_W" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/avmossvssres$Cfg.bat" >> $TMP_PATH/avmossvssres$Cfg-w.tmp 
	fi
	echo "EXIT 0" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	echo ":END" >> $TMP_PATH/avmossvssres$Cfg-w.tmp
	mv $TMP_PATH/avmossvssres$Cfg-w.tmp $TMP_PATH/avmossvssres$Cfg.bat >/dev/null 2>&1
        cp $TMP_PATH/avmossvssres$Cfg.bat $TMP_PATH/.avmossvssres$Cfg.tab >/dev/null 2>&1
}

avhypervvssres_rtn()
{
#

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled avhypervvss_rtn()"; set -x
	fi
	if [ "$Debug" -ge "2" -o "$DEBUG" -ge "2" ]
	then
		Quiet=""; verbose="--verbose"
	else
		verbose=""; Quiet="--quiet"
	fi

	a1=`echo "$1" | awk -F, '{print $1}'`; a2=`echo "$1" | awk -F, '{print $2}'`
	a3=`echo "$1" | awk -F, '{print $3}'`; a4=`echo "$1" | awk -F, '{print $4}'`
	a5=`echo "$1" | awk -F, '{print $5}'`; a6=`echo "$1" | awk -F, '{print $6}'`
	a8=`echo "$1" | awk -F, '{print $8}'`; a9=`echo "$1" | awk -F, '{print $9}'`

	a7=`echo "$1" | awk -F, '{print $7}' | sed -n "s/--cmd=//"gp`
	grpx_d="$(head -1 $TMP_PATH/.atositeid | awk '{print $1}')"
	if [ -s $BULOCATION/customize/admehyperv.txt ];then custom_opts="$(head -1 $BULOCATION/customize/admehyperv.txt)"; else custom_opts=""; fi

	if [ "$(echo "$a6" | grep -c "ALL")" -eq "1" ]
	then
		a6=""
	elif [ "$(echo "$a6" | grep -c "FILELIST")" -eq "1" ]
	then
		if [ "$(cat $BULOCATION/customize/hyperv-$grpx_d.txt | grep -v "^#" | wc -l | awk '{print $1}')" -ne "0" ]
		then
			echo "$CYAN_FG INFO: Using HyperV file list [$WHITE_FG$BULOCATION/customize/hyperv-$grpx_d.txt$CYAN_FG]$DEF"
			s="\""; a6x=""
			a6_="$(echo "$a6" | sed -n "s/--data=//"gp)"
			for x in $(cat $BULOCATION/customize/hyperv-$grpx_d.txt | grep -v "^#")
			do
				a6x="$a6x$s$x$s "
			done
			a6="$a6x"
		else
			echo "$RED_BG$WHITE_FG WARNING:$DEF$RED_FG HyperV file list is empty [$WHITE_FG$BULOCATION/customize/hyperv-$grpx_d.txt$RED_FG]$DEF"
			Return=1
		fi
	elif [ "$(echo "$a6" | grep -c "\-\-data=")" -ne "0" ]
	then
		s="\""; a6x=""
		a6_="$(echo "$a6" | sed -n "s/--data=//"gp)"
		for x in $(echo "$a6_")
		do
			a6x="$a6x$s$x$s "
		done
		a6="$a6x"
	fi

	sourceclient=$a1; dest=$a2; buid=$a3; pseudo=$a4; inc=$a5
        if [ "$Cfg" -eq "" ];then Cfg=1; fi
        CLOG="$UNIXINSTALLPATH/etc/scripts/avhypervvss$Cfg.stat"
        CLOG_W=`echo -E "$WININSTALLPATH/etc/scripts/avhypervvssres$Cfg.stat" | sed -n "s/\//\\\\\/"gp`
        CLOG_W2=`echo -E "$WININSTALLPATH/etc/scripts/avhypervvssres$Cfg.stat2" | sed -n "s/\//\\\\\/"gp`
        WINAVTAR=`echo -E "$WININSTALLPATH/bin/avtar" | sed -n "s/\//\\\\\/"gp`
        WINHYPERV=`echo -E "$WININSTALLPATH/bin/avhypervvss" | sed -n "s/\//\\\\\/"gp`
        WINHYPERVLOGPATH=`echo -E "$WININSTALLPATH/etc/scripts/avhypervvssres$Cfg.log" | sed -n "s/\//\\\\\/"gp`
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "1" ];then RESTORE_pw="$(grep "^PWX=" $ENVCFG | tail -1 | awk -F= '{print $2}')"; fi
        dest_w="$(echo -E "$dest" | sed -n "s/\//\\\\/"gp)"

	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
        newlog_w="echo AVHYPERVVSS Script-Created: $builddate > $CLOG_W 2>&1"
        echo -E "$newlog_w > $CLOG_W 2>&1" > $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo -E "mkdir $dest_w >> $CLOG_W 2>&1" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo -E "del $CLOG_W2 >> $CLOG_W 2>&1" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo -E "echo \"CMD: $WINHYPERV --operation=restore --allowoverwrite --restore-destination=single --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=***** --ap=***** --labelnum=$buid --logfile=$WININSTALLPATH/etc/scripts/avhypervvss$Cfg.log $Quiet --target=$dest_w $custom_opts $a6 \" >> $CLOG_W 2>&1" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
#	if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
	if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
	then
        	echo -E "$WINHYPERV --operation=restore --allowoverwrite --restore-destination=single --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$AVA_user --ap=$AVA_password --labelnum=$buid --logfile=$WINHYPERVLOGPATH $Quiet --target=$dest_w $custom_opts $a6 > $CLOG_W2 2>&1 " >> $TMP_PATH/avhypervvss$Cfg-w.tmp
	else
        	echo -E "$WINHYPERV --operation=restore --allowoverwrite --restore-destination=single --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --ap=$RESTORE_pw --labelnum=$buid --logfile=$WINHYPERVLOGPATH $Quiet --target=$dest_w $custom_opts $a6 > $CLOG_W2 2>&1 " >> $TMP_PATH/avhypervvss$Cfg-w.tmp

	fi

        echo "if ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo "if ERRORLEVEL 0 GOTO OK" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo "if ERRORLEVEL -1 GOTO NOTOK" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo ":NOTOK" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo -E "type $CLOG_W2 >> $CLOG_W" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo -E "echo HYPERVVSS_RESTORE_NOTOK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
	fi
        echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire $TAPE_credential --freezemethod=none $Use_DD $CLOG_W2" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire $TAPE_credential --freezemethod=none $Use_DD $CLOG_W" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        if [ "$Debug" -lt "4" ]
        then
                echo "echo +++ > $WININSTALLPATH/etc/scripts/avhypervvssres$Cfg.bat" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        fi
        echo "EXIT 1" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo "GOTO END" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo ":OK" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo -E "type $CLOG_W2 >> $CLOG_W" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo -E "echo HYPERVVSS_RESTORE_OK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
	fi
        echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire $TAPE_credential --freezemethod=none --label=avhypervvss$Cfg.stat2 $Use_DD $CLOG_W2" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire $TAPE_credential --freezemethod=none --label=avhypervvss$Cfg.stat $Use_DD $CLOG_W" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        if [ "$Debug" -lt "4" ]
        then
                echo "echo +++ > $WININSTALLPATH/etc/scripts/avhypervvssres$Cfg.bat" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        fi
        echo "EXIT 0" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        echo ":END" >> $TMP_PATH/avhypervvss$Cfg-w.tmp
        mv $TMP_PATH/avhypervvss$Cfg-w.tmp $TMP_PATH/avhypervvssres$Cfg.bat >/dev/null 2>&1
        cp $TMP_PATH/avhypervvssres$Cfg.bat $TMP_PATH/.avhypervvssres$Cfg.tab >/dev/null 2>&1
}

sqlmigrateres_rtn()
{
#

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled sqlmigrateres_rtn()"; set -x
	fi
	if [ "$Debug" -ge "1" -o "$DEBUG" -ge "1" ]
	then
		Quiet=""; verbose="--verbose"
	else
		verbose=""; Quiet="--quiet"
	fi

	a1=`echo "$1" | awk -F, '{print $1}'`; a2=`echo "$1" | awk -F, '{print $2}'`
	a3=`echo "$1" | awk -F, '{print $3}'`; a4=`echo "$1" | awk -F, '{print $4}'`
	a5=`echo "$1" | awk -F, '{print $5}'`; a6=`echo "$1" | awk -F, '{print $6}'`
	a8=`echo "$1" | awk -F, '{print $8}'`; a9=`echo "$1" | awk -F, '{print $9}'`

	a7=`echo "$1" | awk -F, '{print $7}' | sed -n "s/--cmd=//"gp`

	sourceclient=$a1; dest=$a2; buid=$a3; pseudo=$a4; inc=$a5
	if [ "$Cfg" -eq "" ];then Cfg=1; fi
	CLOG="$UNIXINSTALLPATH/etc/scripts/sqlmigrateres$Cfg.stat"
 	CLOG_W=`echo -E "$WININSTALLPATH/etc/scripts/sqlmigrateres$Cfg.stat" | sed -n "s/\//\\\\\/"gp`
	WINAVTAR=`echo -E "$WININSTALLPATH/bin/avtar" | sed -n "s/\//\\\\\/"gp`
	WINAVSQL=`echo -E "$WININSTALLPATH/bin/avsql" | sed -n "s/\//\\\\\/"gp`
	SQLMIGRATEPATH=`echo -E "$WININSTALLPATH/etc/scripts/sqlmigrateres$Cfg.log" | sed -n "s/\//\\\\\/"gp`
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "1" ];then RESTORE_pw="$(grep "^PWX=" $ENVCFG | tail -1 | awk -F= '{print $2}')"; fi
	dest_w="$(echo -E "$dest" | sed -n "s/\//\\\\/"gp)"

	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	newlog_w="echo SQL Script-Created: $builddate > $CLOG_W 2>&1"
 	echo -E "$newlog_w > $CLOG_W 2>&1" > $TMP_PATH/sqlmigrateres$Cfg-w.tmp


  	echo -E "echo \"CMD: $WINAVSQL --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=***** --ap=***** --logfile=$WININSTALLPATH/etc/scripts/sqlmigrateres$Cfg.log $Quiet --labelnum=$buid $SQLmigrate \" >> $CLOG_W 2>&1" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
#	if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
	if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "HIGH" ]
	then
 		echo -E "$WINAVSQL --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$AVA_user --ap=$AVA_password --logfile=$SQLMIGRATEPATH $Quiet --labelnum=$buid $SQLmigrate >> $CLOG_W 2>&1 " >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	else
 		echo -E "$WINAVSQL --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --ap=$RESTORE_pw --logfile=$SQLMIGRATEPATH $Quiet --labelnum=$buid $SQLmigrate >> $CLOG_W 2>&1 " >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp

	fi

	echo "if ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	echo "if ERRORLEVEL 0 GOTO OK" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	echo "if ERRORLEVEL -1 GOTO NOTOK" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	echo ":NOTOK" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	echo -E "echo SQLMIGRATE_RESTORE_NOTOK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none $Use_DD $TAPE_credential $CLOG_W" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/sqlmigrateres$Cfg.bat" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp 
	fi
	echo "EXIT 1" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	echo "GOTO END" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	echo ":OK" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	echo -E "echo SQLMIGRATE_RESTORE_OK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none $Use_DD --label=sqlmigrateres$Cfg.stat $TAPE_credential $CLOG_W" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/sqlmigrateres$Cfg.bat" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp 
	fi
	echo "EXIT 0" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	echo ":END" >> $TMP_PATH/sqlmigrateres$Cfg-w.tmp
	mv $TMP_PATH/sqlmigrateres$Cfg-w.tmp $TMP_PATH/sqlmigrateres$Cfg.bat >/dev/null 2>&1
        cp $TMP_PATH/sqlmigrateres$Cfg.bat $TMP_PATH/.sqlmigrateres$Cfg.tab >/dev/null 2>&1
}

exchmigrateres_rtn()
{
#

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled exchmigrateres_rtn()"; set -x
	fi
	if [ "$Debug" -ge "1" -o "$DEBUG" -ge "1" ]
	then
		Quiet=""; verbose="--verbose"
	else
		verbose=""; Quiet="--quiet"
	fi

	a1=`echo "$1" | awk -F, '{print $1}'`; a2=`echo "$1" | awk -F, '{print $2}'`
	a3=`echo "$1" | awk -F, '{print $3}'`; a4=`echo "$1" | awk -F, '{print $4}'`
	a5=`echo "$1" | awk -F, '{print $5}'`; a6=`echo "$1" | awk -F, '{print $6}'`
	a8=`echo "$1" | awk -F, '{print $8}'`; a9=`echo "$1" | awk -F, '{print $9}'`

	a7=`echo "$1" | awk -F, '{print $7}' | sed -n "s/--cmd=//"gp`

	sourceclient=$a1; dest=$a2; buid=$a3; pseudo=$a4; inc=$a5
	if [ "$Cfg" -eq "" ];then Cfg=1; fi
	CLOG="$UNIXINSTALLPATH/etc/scripts/exchmigrateres$Cfg.stat"
 	CLOG_W=`echo -E "$WININSTALLPATH/etc/scripts/exchmigrateres$Cfg.stat" | sed -n "s/\//\\\\\/"gp`
	WINAVTAR=`echo -E "$WININSTALLPATH/bin/avtar" | sed -n "s/\//\\\\\/"gp`
	WINAVEXCH=`echo -E "$WININSTALLPATH/bin/avexvss" | sed -n "s/\//\\\\\/"gp`
	EXCHMIGRATEPATH=`echo -E "$WININSTALLPATH/etc/scripts/exchmigrateres$Cfg.log" | sed -n "s/\//\\\\\/"gp`
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "1" ];then RESTORE_pw="$(grep "^PWX=" $ENVCFG | tail -1 | awk -F= '{print $2}')"; fi
	dest_w="$(echo -E "$dest" | sed -n "s/\//\\\\/"gp)"

	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	newlog_w="echo EXCHANGE Script-Created: $builddate > $CLOG_W 2>&1"
 	echo -E "$newlog_w > $CLOG_W 2>&1" > $TMP_PATH/exchmigrateres$Cfg-w.tmp

        if [ "$(echo $Avtar_Version | awk '{print $1}')" -gt "6" ];then destpath="--target=$dest_w"; else destpath="--redirectedsgpath=$dest_w"; fi

  	echo -E "echo \"CMD: $WINAVEXCH --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=***** --ap=***** --logfile=$WININSTALLPATH/etc/scripts/exchmigrateres$Cfg.log $Quiet --labelnum=$buid $EXCHmigrate \" >> $CLOG_W 2>&1" | sed -n "s/\\/\//"gp >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
#	if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
	if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
	then
 		echo -E "$WINAVEXCH --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$AVA_user --ap=$AVA_password --logfile=$EXCHMIGRATEPATH $Quiet --labelnum=$buid $EXCHmigrate >> $CLOG_W 2>&1 " >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	else
 		echo -E "$WINAVEXCH --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --ap=$RESTORE_pw --logfile=$EXCHMIGRATEPATH $Quiet --labelnum=$buid $EXCHmigrate >> $CLOG_W 2>&1 " >> $TMP_PATH/exchmigrateres$Cfg-w.tmp

	fi

	echo "if ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	echo "if ERRORLEVEL 0 GOTO OK" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	echo "if ERRORLEVEL -1 GOTO NOTOK" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	echo ":NOTOK" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	echo -E "echo EXCHMIGRATE_RESTORE_NOTOK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none $Use_DD $TAPE_credential $CLOG_W" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/exchmigrateres$Cfg.bat" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp 
	fi
	echo "EXIT 1" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	echo "GOTO END" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	echo ":OK" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	echo -E "echo EXCHMIGRATE_RESTORE_OK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none $Use_DD --label=exchmigrateres$Cfg.stat  $TAPE_credential $CLOG_W" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/exchmigrateres$Cfg.bat" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp 
	fi
	echo "EXIT 0" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	echo ":END" >> $TMP_PATH/exchmigrateres$Cfg-w.tmp
	mv $TMP_PATH/exchmigrateres$Cfg-w.tmp $TMP_PATH/exchmigrateres$Cfg.bat >/dev/null 2>&1
        cp $TMP_PATH/exchmigrateres$Cfg.bat $TMP_PATH/.exchmigrateres$Cfg.tab >/dev/null 2>&1
}

avexvssres_rtn()
{
#

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled avexvssres_rtn()"; set -x
	fi
	if [ "$Debug" -ge "1" -o "$DEBUG" -ge "1" ]
	then
		Quiet=""; verbose="--verbose"
	else
		verbose=""; Quiet="--quiet"
	fi

	a1=`echo "$1" | awk -F, '{print $1}'`; a2=`echo "$1" | awk -F, '{print $2}'`
	a3=`echo "$1" | awk -F, '{print $3}'`; a4=`echo "$1" | awk -F, '{print $4}'`
	a5=`echo "$1" | awk -F, '{print $5}'`; a6=`echo "$1" | awk -F, '{print $6}'`
	a8=`echo "$1" | awk -F, '{print $8}'`; a9=`echo "$1" | awk -F, '{print $9}'`

	a7=`echo "$1" | awk -F, '{print $7}' | sed -n "s/--cmd=//"gp`

	sourceclient=$a1; dest=$a2; buid=$a3; pseudo=$a4; inc=$a5
	if [ "$Cfg" -eq "" ];then Cfg=1; fi
	CLOG="$UNIXINSTALLPATH/etc/scripts/avexvssres$Cfg.stat"
 	CLOG_W=`echo -E "$WININSTALLPATH/etc/scripts/avexvssres$Cfg.stat" | sed -n "s/\//\\\\\/"gp`
	WINAVTAR=`echo -E "$WININSTALLPATH/bin/avtar" | sed -n "s/\//\\\\\/"gp`
	WINAVEXVSS=`echo -E "$WININSTALLPATH/bin/avexvss" | sed -n "s/\//\\\\\/"gp`
	AVEXVSSLOGPATH=`echo -E "$WININSTALLPATH/etc/scripts/avexvssres$Cfg.log" | sed -n "s/\//\\\\\/"gp`
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "1" ];then RESTORE_pw="$(grep "^PWX=" $ENVCFG | tail -1 | awk -F= '{print $2}')"; fi
	dest_w="$(echo -E "$dest" | sed -n "s/\//\\\\/"gp)"

	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	newlog_w="echo AVEXVSS Script-Created: $builddate > $CLOG_W 2>&1"
 	echo -E "$newlog_w > $CLOG_W 2>&1" > $TMP_PATH/avexvssres$Cfg-w.tmp


        if [ "$(echo $Avtar_Version | awk '{print $1}')" -gt "6" ];then destpath="--target=$dest_w"; else destpath="--redirectedsgpath=$dest_w"; fi

	if [ -s $BULOCATION/customize/avexvss.txt ];then avexvssflags="$(head -1 $BULOCATION/customize/avexvss.txt)";else avexvssflags=""; fi

	

	if [ "$AvexVss" != "" ]
	then
		if [ "$(echo "$AvexVss" | grep -c "~")" -gt "0" ]
		then
			avexvssflags="$(echo "$AvexVss" | sed -n "s/~/-/"gp)"
		else
			avexvssflags="$AvexVss"
		fi
		echo "DEBUG - avexvssflags=$avexvssflags"
	fi

   	echo -E "echo \"CMD: $WINAVEXVSS --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=***** --ap=***** --labelnum=$buid $destpath --logfile=$WININSTALLPATH/etc/scripts/avexvssres$Cfg.log $Quiet $avexvssflags \" >> $CLOG_W 2>&1" | sed -n "s/\\\/\//"gp >> $TMP_PATH/avexvssres$Cfg-w.tmp

#	if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
	if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
	then
 		echo -E "$WINAVEXVSS --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$AVA_user --ap=$AVA_password --labelnum=$buid $destpath --logfile=$AVEXVSSLOGPATH $avexvssflags $Quiet >> $CLOG_W 2>&1 " >> $TMP_PATH/avexvssres$Cfg-w.tmp
	else
 		echo -E "$WINAVEXVSS --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --ap=$RESTORE_pw --labelnum=$buid $destpath --logfile=$AVEXVSSLOGPATH $avexvssflags $Quiet >> $CLOG_W 2>&1 " >> $TMP_PATH/avexvssres$Cfg-w.tmp

	fi

	echo "if ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	echo "if ERRORLEVEL 0 GOTO OK" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	echo "if ERRORLEVEL -1 GOTO NOTOK" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	echo ":NOTOK" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	echo -E "echo AVEXVSS_RESTORE_NOTOK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/avexvssres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none $Use_DD $TAPE_credential $CLOG_W" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/avexvssres$Cfg.bat" >> $TMP_PATH/avexvssres$Cfg-w.tmp 
	fi
	echo "EXIT 1" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	echo "GOTO END" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	echo ":OK" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	echo -E "echo AVEXVSS_RESTORE_OK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/avexvssres$Cfg-w.tmp

	$HOMEPATH/avtar --list --acnt=$sourceclient --labelnum=$buid --x27=32 --quiet | grep ".edb" | awk -F/ '{print $NF}' > $TMP_PATH/.edbfilenames.tmp 2>&1
	cat $TMP_PATH/.edbfilenames.tmp | grep -v " " > $TMP_PATH/.edbfilenames.txt
        cat $TMP_PATH/.edbfilenames.tmp | sed -n "s/ /+/"gp >> $TMP_PATH/.edbfilenames.txt
        rm -rf $TMP_PATH/.edbfilenames.tmp >/dev/null 2>&1

	exchgstagepath="$(echo "$destpath" | sed -n "s/--target=//"gp)"
	for x in $(cat $TMP_PATH/.edbfilenames.txt)
	do
		if [ "$(echo "$x" | grep -c "+")" -ne "0" ]
                then
                        y="$(echo "$x" | sed -n "s/+/ /"gp)"; x="$y"
                fi
		if [ -f $BULOCATION/customize/NOESEUTIL ]
		then
			echo -E "echo eseutil check has been skipped >> $CLOG_W" >> $TMP_PATH/avexvssres$Cfg-w.tmp
		else
			echo -E "echo eseutil /mh $exchgstagepath/$x + findstr -i shutdown >> $CLOG_W" >> $TMP_PATH/avexvssres$Cfg-w.tmp
			echo -E "eseutil /mh \"$exchgstagepath/$x\" | findstr -i shutdown  >> $CLOG_W" >> $TMP_PATH/avexvssres$Cfg-w.tmp
		fi
	done

	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/avexvssres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none $Use_DD --label=avexvssres$Cfg.stat $TAPE_credential $CLOG_W" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/avexvssres$Cfg.bat" >> $TMP_PATH/avexvssres$Cfg-w.tmp 
	fi
	echo "EXIT 0" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	echo ":END" >> $TMP_PATH/avexvssres$Cfg-w.tmp
	mv $TMP_PATH/avexvssres$Cfg-w.tmp $TMP_PATH/avexvssres$Cfg.bat >/dev/null 2>&1
        cp $TMP_PATH/avexvssres$Cfg.bat $TMP_PATH/.avexvssres$Cfg.tab >/dev/null 2>&1
}

avlotusres_rtn()
{
#

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled avlotusres_rtn()"; set -x
	fi
	if [ "$Debug" -ge "1" -o "$DEBUG" -ge "1" ]
	then
		Quiet=""; verbose="--verbose"
	else
		verbose=""; Quiet="--quiet"
	fi

	a1=`echo "$1" | awk -F, '{print $1}'`; a2=`echo "$1" | awk -F, '{print $2}'`
	a3=`echo "$1" | awk -F, '{print $3}'`; a4=`echo "$1" | awk -F, '{print $4}'`
	a5=`echo "$1" | awk -F, '{print $5}'`; a6=`echo "$1" | awk -F, '{print $6}'`
	a8=`echo "$1" | awk -F, '{print $8}'`; a9=`echo "$1" | awk -F, '{print $9}'`

	a7=`echo "$1" | awk -F, '{print $7}' | sed -n "s/--cmd=//"gp`

	sourceclient=$a1; dest=$a2; buid=$a3; pseudo=$a4; inc=$a5
	if [ "$Cfg" -eq "" ];then Cfg=1; fi
	CLOG="$UNIXINSTALLPATH/etc/scripts/avlotusres$Cfg.stat"
 	CLOG_W=`echo -E "$WININSTALLPATH/etc/scripts/avlotusres$Cfg.stat" | sed -n "s/\//\\\\\/"gp`
	WINAVTAR=`echo -E "$WININSTALLPATH/bin/avtar" | sed -n "s/\//\\\\\/"gp`
	WINAVLOTUS=`echo -E "$WININSTALLPATH/bin/avlotus" | sed -n "s/\//\\\\\/"gp`
	AVLOTUSLOGPATH=`echo -E "$WININSTALLPATH/etc/scripts/avlotusres$Cfg.log" | sed -n "s/\//\\\\\/"gp`
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "1" ];then RESTORE_pw="$(grep "^PWX=" $ENVCFG | tail -1 | awk -F= '{print $2}')"; fi
	dest_w="$(echo -E "$dest" | sed -n "s/\//\\\\/"gp)"

	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	newlog_w="echo AVLOTUS Script-Created: $builddate > $CLOG_W 2>&1"
 	echo -E "$newlog_w > $CLOG_W 2>&1" > $TMP_PATH/avlotusres$Cfg-w.tmp

        if [ "$(echo $Avtar_Version | awk '{print $1}')" -gt "6" ];then destpath="--target=$dest_w"; else destpath="--redirectedsgpath=$dest_w"; fi

   	echo -E "echo \"CMD: $WINAVLOTUS --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=***** --ap=***** --labelnum=$buid $destpath --logfile=$WININSTALLPATH/etc/scripts/avlotusres$Cfg.log --overwrite-files --enable-recovery=false $Quiet \" >> $CLOG_W 2>&1" | sed -n "s/\\\/\//"gp >> $TMP_PATH/avlotusres$Cfg-w.tmp

#	if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
	if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
	then
 		echo -E "$WINAVLOTUS --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$AVA_user --ap=$AVA_password --labelnum=$buid $destpath --logfile=$AVLOTUSLOGPATH --overwrite-files --enable-recovery=false $Quiet >> $CLOG_W 2>&1 " >> $TMP_PATH/avlotusres$Cfg-w.tmp
	else
 		echo -E "$WINAVLOTUS --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --ap=$RESTORE_pw --labelnum=$buid $destpath --logfile=$AVLOTUSLOGPATH --overwrite-files /local/notesdata --enable-recovery=false $Quiet >> $CLOG_W 2>&1 " >> $TMP_PATH/avlotusres$Cfg-w.tmp

	fi

	echo "if ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	echo "if ERRORLEVEL 0 GOTO OK" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	echo "if ERRORLEVEL -1 GOTO NOTOK" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	echo ":NOTOK" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	echo -E "echo AVLOTUS_RESTORE_NOTOK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/avlotusres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none $Use_DD --label=avlotusres$Cfg.stat $TAPE_credential $CLOG_W" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/avlotusres$Cfg.bat" >> $TMP_PATH/avlotusres$Cfg-w.tmp 
	fi
	echo "EXIT 1" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	echo "GOTO END" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	echo ":OK" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	echo -E "echo AVLOTUS_RESTORE_OK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/avlotusres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none $Use_DD --label=avlotusres$Cfg.stat $TAPE_credential $CLOG_W" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/avlotusres$Cfg.bat" >> $TMP_PATH/avlotusres$Cfg-w.tmp 
	fi
	echo "EXIT 0" >> $TMP_PATH/avlotusres$Cfg-w.tmp
	echo ":END" >> $TMP_PATH/avlotusres$Cfg-w.tmp

	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	newlog="echo \"AVLOTUS Script-Created: $builddate\" > $CLOG 2>&1"
	echo "#!/bin/ksh" > $TMP_PATH/avlotusres$Cfg-u.tmp
	echo "$newlog" >> $TMP_PATH/avlotusres$Cfg-u.tmp
	AVLOTUSLOGPATH=`echo -E "$UNIXINSTALLPATH/etc/scripts/avlotusres$Cfg.log" | sed -n "s/\//\\\\\/"gp`
	if [ "$a8" -eq "1" -o "$a8" -eq "2" ]
	then
		echo "mkdir -p $dest" >> $TMP_PATH/avlotusres$Cfg-u.tmp
  		echo -E "echo \"CMD: $UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=****** --password=****** --sequence=$buid $Quiet $Datax_ $Datax2_ --streamformat=avpax --dto-exportstream --logfile=$CLOG > $a9_$a10 \" >> $CLOG 2>&1" >> $TMP_PATH/avtlotusres$Cfg-u.tmp
#		if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
		if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
		then
			if [ "$Metadata" -ne "0" ]
			then
  			echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $a9_metafmt" >> $TMP_PATH/avlotusres$Cfg-u.tmp$
			fi
	   		echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $Datax_ $Datax2_ --streamformat=avpax --dto-exportstream $Preservepaths --logfile=$AVLOTUSLOGPATH $a9_$a10 " >> $TMP_PATH/avlotusres$Cfg-u.tmp
		else
			if [ "$Metadata" -ne "0" ]
			then
  				echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $a9_metafmt" >> $TMP_PATH/avlotusres$Cfg-u.tmp
			fi
  			echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $Datax_ $Datax2_ --streamformat=avpax --dto-exportstream $Preservepaths --logfile=$AVLOTUSLOGPATH $a9_$a10 " >> $TMP_PATH/avlotusres$Cfg-u.tmp
		fi
	elif [ "$a8" -eq "3" -o "$a8" -eq "4" ]
	then
		echo "mkdir -p $dest" >> $TMP_PATH/avlotusres$Cfg-u.tmp
  		echo -E "echo \"CMD: $UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=****** --password=****** --sequence=$buid $Quiet $Datax_ $Datax2_ --streamformat=tar --logfile=$AVLOTUSLOGPATH > $a9_$a10 \" >> $CLOG 2>&1" >> $TMP_PATH/avlotusres$Cfg-u.tmp
#		if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
		if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
		then
			if [ "$Metadata" -ne "0" ]
			then
  				echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $a9_metafmt" >> $TMP_PATH/avlotusres$Cfg-u.tmp
			fi
	   		echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $Datax_ $Datax2_ --streamformat=tar $Preservepaths --logfile=$AVLOTUSLOGPATH $a9_$a10 " >> $TMP_PATH/avlotusres$Cfg-u.tmp
		else
			if [ "$Metadata" -ne "0" ]
			then
  				echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $a9_metafmt" >> $TMP_PATH/avlotusres$Cfg-u.tmp
			fi
  			echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $Datax_ $Datax2_ --streamformat=tar $Preservepaths --logfile=$AVLOTUSLOGPATH $a9_$a10 " >> $TMP_PATH/avlotusres$Cfg-u.tmp
		fi
	else
		if [ "$(echo "$a2" | grep -c "INPLACE")" -eq "0" ]
                then
                        echo -E "echo \"CMD: $UNIXINSTALLPATH/bin/avlotus  --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=***** --ap=***** --labelnum=$buid $destpath --logfile=$AVLOTUSLOGPATH --overwrite-files --enable-recovery=false $Quiet \" >> $CLOG 2>&1" >> $TMP_PATH/avlotusres$Cfg-u.tmp
                        if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
                        then
				if [ "$Metadata" -ne "0" ]
				then
  					echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $a9_metafmtnoarchive" >> $TMP_PATH/avlotusres$Cfg-u.tmp
				fi
                                echo "$UNIXINSTALLPATH/bin/avlotus --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$AVA_user --ap=$AVA_password --labelnum=$buid $destpath --logfile=$AVLOTUSLOGPATH --overwrite-files --enable-recovery=false $Quiet >> $CLOG  >> $CLOG 2>&1" >> $TMP_PATH/avlotusres$Cfg-u.tmp
                        else
				if [ "$Metadata" -ne "0" ]
				then
  					echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $a9_metafmtnoarchive" >> $TMP_PATH/avlotusres$Cfg-u.tmp
				fi
                                echo "$UNIXINSTALLPATH/bin/avlotus --operation=restore --path=$sourceclient --server=$AVAMAR_UTILNODE_NAME --id=$AVA_user --ap=$AVA_password --labelnum=$buid $destpath --logfile=$AVLOTUSLOGPATH --overwrite-files --enable-recovery=false $Quiet >> $CLOG 2>&1" >> $TMP_PATH/avlotusres$Cfg-u.tmp
                        fi
                else
                        echo -E "echo \"CMD: $UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=****** --password=****** --sequence=$buid $Quiet $inc $Datax_ $Datax2_ $verbose $Preservepaths $a10 \" >> $CLOG 2>&1" >> $TMP_PATH/avlotusres$Cfg-u.tmp
                        if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
                        then
                                echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --iD=$AVA_user --password=$AVA_password --sequence=$buid $Quiet $inc $Datax_ $Datax2_ $verbose $Preservepaths $a10 >> $CLOG 2>&1" >> $TMP_PATH/avlotusres$Cfg-u.tmp
                        else
                                echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $Quiet $inc $Datax_ $Datax2_ $verbose $Preservepaths $a10 >> $CLOG 2>&1" >> $TMP_PATH/avlotusres$Cfg-u.tmp
                        fi
                fi
	fi
	echo "rcode=\"\$?\"" >> $TMP_PATH/avlotusres$Cfg-u.tmp
 	echo "if [ \"\$rcode\" -eq \"0\" ]" >> $TMP_PATH/avlotusres$Cfg-u.tmp
	echo "then" >> $TMP_PATH/avlotusres$Cfg-u.tmp
 	echo "echo AVLOTUS_RESTORE_OK RC=\$rcode >> $CLOG" >> $TMP_PATH/avlotusres$Cfg-u.tmp

#	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
#	then
#		echo -E "echo \"PWX\" >> $CLOG" >> $TMP_PATH/avlotusres$Cfg-u.tmp
#		echo -E "$UNIXINSTALLPATH/bin/avtar --encodepassword=$RESTORE_pw >> $CLOG" >> $TMP_PATH/avlotusres$Cfg-u.tmp
#	fi

	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$pseudo --freezemethod=none $AVTAR_expire $TAPE_credential --label=avlotusres$Cfg.stat --quiet $Use_DD $CLOG" >> $TMP_PATH/avlotusres$Cfg-u.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "/bin/rm -rf $UNIXINSTALLPATH/etc/scripts/avlotusres$Cfg.sh" >> $TMP_PATH/avlotusres$Cfg-u.tmp
	fi
 	echo "exit 0" >> $TMP_PATH/avlotusres$Cfg-u.tmp
	echo "else"  >> $TMP_PATH/avlotusres$Cfg-u.tmp
 	echo "echo AVLOTUS_RESTORE_NOTOK RC=\$rcode >> $CLOG" >> $TMP_PATH/avlotusres$Cfg-u.tmp

#	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
#	then
#		echo -E "echo \"PWX\" >> $CLOG" >> $TMP_PATH/avlotusres$Cfg-u.tmp
#		echo -E "$UNIXINSTALLPATH/bin/avtar --encodepassword=$RESTORE_pw >> $CLOG" >> $TMP_PATH/avlotusres$Cfg-u.tmp
#	fi

	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$pseudo --freezemethod=none $AVTAR_expire $TAPE_credential --quiet --label=avlotusres$Cfg.stat $Use_DD $CLOG" >> $TMP_PATH/avlotusres$Cfg-u.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "/bin/rm -rf $UNIXINSTALLPATH/etc/scripts/avlotusres$Cfg.sh" >> $TMP_PATH/avlotusres$Cfg-u.tmp
	fi
 	echo "exit 1" >> $TMP_PATH/avlotusres$Cfg-u.tmp
	echo "fi" >> $TMP_PATH/avlotusres$Cfg-u.tmp

	mv $TMP_PATH/avlotusres$Cfg-w.tmp $TMP_PATH/avlotusres$Cfg.bat >/dev/null 2>&1
        cp $TMP_PATH/avlotusres$Cfg.bat $TMP_PATH/.avlotusres$Cfg.tab >/dev/null 2>&1

	mv $TMP_PATH/avlotusres$Cfg-u.tmp $TMP_PATH/avlotusres$Cfg.sh >/dev/null 2>&1
  	cp $TMP_PATH/avlotusres$Cfg.sh $TMP_PATH/.avlotusres$Cfg.sh >/dev/null 2>&1

	Datax_=""; Datax2_=""
	chmod +x $TMP_PATH/avlotusres$Cfg.sh >/dev/null 2>&1
}

clouddatapurge_rtn()
{

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled clouddatapurge_rtn()"; set -x
	fi
	echo "\n$CYAN_FG Preparing to transfer CloudDataPurge script file to staging server...$DEF"
	if [ "$Cfg" -eq "" ];then Cfg=1; fi
	CLOG="$UNIXINSTALLPATH/etc/scripts/avtarres$Cfg.stat" 	CLOG_W=`echo -E "$WININSTALLPATH/etc/scripts/avtarres$Cfg.stat" | sed -n "s/\//\\\\\/"gp`
	WINAVTAR=`echo -E "$WININSTALLPATH/bin/avtar" | sed -n "s/\//\\\\\/"gp`

	dest_w="$(echo -E "$dest" | sed -n "s/\//\\\\/"gp)"
		
	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	newlog_w="echo AVTAR-CloudDataPurge Script-Created: $builddate > $CLOG_W 2>&1"
 	echo -E "$newlog_w" > $TMP_PATH/avtarres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "1" ];then RESTORE_pw="$(grep "^PWX=" $ENVCFG | tail -1 | awk -F= '{print $2}')"; fi

	today_y="$(date +'%Y')"
	today_m="$(date +'%m')"
	today_d="$(date +'%d')"
	if [ -s $BULOCATION/customize/clouddatapurge.txt ];then relmonthx="$(grep "^Relative-Monthx" $BULOCATION/customize/clouddatapurge.txt | awk -F= '{print $2}')"
	else relmonthx=0;fi

	if [ -s $BULOCATION/customize/clouddatapurge.txt ];then first_d="$(grep "^Relative-Dayx" $BULOCATION/customize/clouddatapurge.txt | awk -F= '{print $2}')"
	else first_d="??";fi

	if [ "$today_m" -gt "$relmonthx" ]
	then
		today_m="$(expr $today_m - $relmonthx)"
	elif [ "$today_m" -eq "$relmonthx" ]
	then
		today_m="12"
		today_y="$(expr $today_y - 1)"
	else
		today_y="$(expr $today_y - 1)"
		today_m="$(expr 12 + $today_m)"
		today_m="$(expr $today_m - $relmonthx)"
	fi
	if [ "$today_m" -le "9" ];then today_m="0$today_m"; fi
	todayis="$today_y-$today_m-$first_d"

	pathlist="$(grep -v "^#" $CFG | grep "EXPIRE" | awk -F, '{print $10}' | sort -u | awk -FEXPIRE '{print $1}')"

	
	echo -E "echo off" >> $TMP_PATH/avtarres$Cfg-w.tmp
	firstpass="0"
	for x in $pathlist
	do
		x_="$(echo -E "$x" | awk -F/ '{print $NF}')"
		if [ "$x_" != "" ]
		then
			x="$(echo -E "$x" | sed -n "s/$x_//"gp)"
		fi
		if [ "$(echo -E "$x" | cut -b 1-1)" = "/" ]
		then
			cifs=0
			continue
		elif [ "$(echo -E "$x" | cut -b 2-2)" != ":" ]
		then
			cifs=1
			if [ -s $BULOCATION/customize/clouddatapurge.txt ];then cifs_drive="$(grep "^Temporary-Map-CIFS-Drive-Letter" $BULOCATION/customize/clouddatapurge.txt | awk -F= '{print $2}')"
			else cifs_drive="Z"; fi
			x_path="$(echo "$x" | cut -b 4-99)"
			x_cifs="$(echo "$x_path" | sed -n "s/\//\\\/"gp)"
			x="\\\\$x_cifs"

#			x="$cifs_drive:/$x_path"
			x="//$x_path"

			x="$(echo "$x" | sed -n "s/\//\\\/"gp)"
			if [ "$firstpass" -eq "0"
			then
				echo "\n$CYAN_FG CIFS path tempoarily mapped to drive:$WHITE_FG[$cifs_drive:]$CYAN_FG using drive letter defined in$WHITE_FG [$BULOCATION/customize/clouddatapurge.txt]$DEF"
				firstpass="1"
			fi
			echo -E "net use $cifs_drive: $x" >> $TMP_PATH/avtarres$Cfg-w.tmp
		else
			cifs=0
			x="$(echo "$x" | sed -n "s/\//\\\/"gp)"
#debug 			echo -E "This is a NOT a CIFS path x=$x"
		fi


		echo -E "echo Looking for Eligible-Expire-Folder: [$x$x_$today_y-$today_m-$first_d] >> $CLOG_W" >> $TMP_PATH/avtarres$Cfg-w.tmp
		echo -E "for /D %%f in ($x$x_$today_y-$today_m-$first_d) do (" >> $TMP_PATH/avtarres$Cfg-w.tmp
		echo -E "if EXIST %%f ( " >> $TMP_PATH/avtarres$Cfg-w.tmp
		echo -E "echo Found Eligible-Expire-Folder: %%f >> $CLOG_W" >> $TMP_PATH/avtarres$Cfg-w.tmp
 		echo -E "rmdir /Q /S %%f" >> $TMP_PATH/avtarres$Cfg-w.tmp 
		echo -E "del /S /Q %%f\*.*" >> $TMP_PATH/avtarres$Cfg-w.tmp
		echo -E "del /S /Q /ar /ah /ai /as /aa /al %%f\*.*" >> $TMP_PATH/avtarres$Cfg-w.tmp
		echo -E "if EXIST %%f (echo \"CLOUDDATAPURGE_NOTOK Failed to remove folder: [%%f]\" >> $CLOG_W) ELSE (echo \"CLOUDDATAPURGE_OK Successfully removed folder [%%f]\"  >> $CLOG_W)" >> $TMP_PATH/avtarres$Cfg-w.tmp
		echo -E ") else (" >> $TMP_PATH/avtarres$Cfg-w.tmp
		echo -E "echo %%f does not exist - this message should never be reached >> $CLOG_W))" >> $TMP_PATH/avtarres$Cfg-w.tmp
		if [ "$cifs" -eq "1" ];then echo -E "net use $cifs_drive: /delete /Y" >> $TMP_PATH/avtarres$Cfg-w.tmp; fi
	done

	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none --nocache $Use_DD --label=avtarres$Cfg.stat $TAPE_credential $CLOG_W" >> $TMP_PATH/avtarres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo
	fi
	echo ":END" >> $TMP_PATH/avtarres$Cfg-w.tmp
	mv $TMP_PATH/avtarres$Cfg-w.tmp $TMP_PATH/avtarres$Cfg.bat >/dev/null 2>&1
#	mv $TMP_PATH/avtarres$Cfg-u.tmp $TMP_PATH/avtarres$Cfg.sh >/dev/null 2>&1
   	cp $TMP_PATH/avtarres$Cfg.bat $TMP_PATH/.avtarres$Cfg.tab >/dev/null 2>&1
#	chmod +x $TMP_PATH/avtarres$Cfg.sh >/dev/null 2>&1
}

avtarres_rtn()
{
#

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled avtarres_rtn()"; set -x
	fi
	if [ "$Debug" -gt "3" -o "$DEBUG" -gt "3" ]
	then
		Quiet=""; verbose="--verbose"
	elif [ "$Debug" -ge "2" -o "$DEBUG" -ge "2" ]
	then
		Quiet=""
	else
		verbose=""; Quiet="--quiet"
	fi

	a1=$(echo "$1" | awk -F, '{print $1}'); a2=$(echo "$1" | awk -F, '{print $2}')
	a3=$(echo "$1" | awk -F, '{print $3}'); a4=$(echo "$1" | awk -F, '{print $4}')
	a5=$(echo "$1" | awk -F, '{print $5}'); a6=$(echo "$1" | awk -F, '{print $6}')
	a8=$(echo "$1" | awk -F, '{print $8}'); a9=$(echo "$1" | awk -F, '{print $9}')
	a10=$(echo "$1" | awk -F, '{print $10}'); a11=$(echo "$1" | awk -F, '{print $11}')

	a7=`echo "$1" | awk -F, '{print $7}' | sed -n "s/--cmd=//"gp`


	Datax1_build=""
	if [ "$(echo "$Datax1" | grep -c -e "--data=")" -gt "0" ]
	then
		Datax1_build="$(echo "$Datax1" | sed -n "s/--data=/--include=/"gp)"
	fi

	if [ "$(echo "$Datax1_build" | grep -c "=+/")" -gt "0" ]
	then
		Datax1_build="$(echo "$Datax1_build" | sed -n "s/=+\//=\"/"gp)"
	elif [ "$(echo "$Datax1_build" | grep -c "=+")" -gt "0" ]
	then
		Datax1_build="$(echo "$Datax1_build" | sed -n "s/=+/=\"/"gp)"
	fi
	if [ "$(echo "$Datax1_build" | grep -c "+")" -gt "0" ]
	then
		Datax1_build="$(echo "$Datax1_build" | sed -n "s/+/\/*\"/"gp)"
	fi
	if [ "$(echo "$Datax1_build" | grep -c "~")" -gt "0" ]
	then
		Datax1_build="$(echo "$Datax1_build" | sed -n "s/~/ /"gp)"
	fi
	if [ "$AvtarRes" -eq "0" -a "$Filterx" = "exclude" ];then Datax1_build="$Datax1_build --exclude=/**"; fi
	if [ "$AvtarRes" -eq "1" -a "$Filterx" = "include" ];then Datax1_build="$Datax1_build --exclude=/**"; fi
		
	Datax_="$Datax1_build"


        if [ `echo "$a7" | grep -c "=/"` -gt "0" ]
        then
                Datax2_=`echo "$a7" | sed -n "s/--exclude=\//--exclude=/"gp`
        else
                Datax2_=`echo "$a7"`
        fi

	datax2_="$(echo "$Datax2" | sed -n "s/--cmd=//"gp)"
	Datax2_="$datax2_"

        if [ "$Datax_" != "" -a "$Datax2_" = "" ]
        then
		set -
        elif [ "$Datax_" = "" -a "$Datax2_" != "" ]
        then
  		datax2_="$(echo "$Datax2_" | sed -n "s/=/=\"/"gp)"
                Datax_="--include=/"
        fi
	if [ "$Datax_" != "" ];then Preservepaths="--preservepaths"; else Preservepaths=""; fi
	if [ "$NoPrvPathFlag" -eq "1" ];then Preservepaths=""; fi

	sourceclient=$a1; dest=$a2; buid=$a3; pseudo=$a4; inc=$a5
	if [ "$Cfg" -eq "" ];then Cfg=1; fi
	CLOG="$UNIXINSTALLPATH/etc/scripts/avtarres$Cfg.stat" 	CLOG_W=`echo -E "$WININSTALLPATH/etc/scripts/avtarres$Cfg.stat" | sed -n "s/\//\\\\\/"gp`
	WINAVTAR=`echo -E "$WININSTALLPATH/bin/avtar" | sed -n "s/\//\\\\\/"gp`
		
	dest_w="$(echo -E "$dest" | sed -n "s/\//\\\\/"gp)"
		
	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	newlog_w="echo AVTAR Script-Created: $builddate > $CLOG_W 2>&1"
 	echo -E "$newlog_w" > $TMP_PATH/avtarres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "1" ];then RESTORE_pw="$(grep "^PWX=" $ENVCFG | tail -1 | awk -F= '{print $2}')"; else RESTORE_pw="$pwrestore"; fi

	if [ "$a8" -eq "1" ]
	then
		pluginx="$($HOMEPATH/avmgr getb $AVTAR_credential --account=$sourceclient --format=xml | sed -n "s/\"//"gp | grep "labelnum=$buid" | awk -Fpidnum= '{print $2}' | awk '{print $1}' | tail -1)"
		labelx="$buid"
		echo "PAX-Filename - pluginx=$pluginx labelx=$labelx a8=$a8 a9=$a9"
	fi

#	if [ "$a8" -eq "1" ];then echo "DEBUG-PAX - pluginx=$pluginx labelx=$labelx a8=$a8 a9=$a9"; fi

	avadate="$($HOMEPATH/avtar --backups $AVTAR_credential --account=$sourceclient --sequence=$buid --after=$start --quiet | tail -1 | awk '{print $1}')"
	ul="_"; unk="undefined"
		
	if [ "$(echo "$pluginx" | egrep -c "1002|2002|3002|4002|5002")" -ne "0" ]
	then
		ora="ORACLE"
		detailx="$pluginx$ul$avadate-$buid$ul$ora"
	else
		detailx="$pluginx$ul$avadate-$buid"
	fi

	if [ -s $BULOCATION/customize/avtar_options.txt ]
	then
		Encrypt="$(grep -v "^#" $BULOCATION/customize/avtar_options.txt | grep "encrypt=" | head -1)"
	fi

	if [ -s $BULOCATION/customize/avtar_options.txt ]
	then
		Logfile="$(grep -v "^#" $BULOCATION/customize/avtar_options.txt | grep "logfile=" | head -1)"
	fi
		
	if [ "$Metadata" -eq "1" ]
	then
		a9_metafmt=" > $dest/admearchive_$detailx.metadata.txt"; a9_wmetafmt=" > $dest/admearchive_$detailx.metadata.txt"
		a9_metafmtnoarchive=" > $dest/adme_$detailx.metadata.txt"; a9_wmetafmtnoarchive=" > $dest/adme_$detailx.metadata.txt"
	elif [ "$Metadata" -eq "2" ]
	then
		a9_metafmt=" > $dest/admearchive_$detailx.metadata.xml"; a9_wmetafmt=" > $dest/admearchive_$detailx.metadata.xml"
		a9_metafmtnoarchive=" > $dest/adme_$detailx.metadata.xml"; a9_wmetafmtnoarchive=" > $dest/adme_$detailx.metadata.xml"
	elif [ "$Metadata" -eq "3" ]
	then
		a9_metafmt=" | $a9 > $dest/admearchive_$detailx.metadata.txt.gz"; a9_wmetafmt=" > $dest/admearchive_$detailx.metadata.txt"
		a9_metafmtnoarchive=" | $a9 > $dest/adme_$detailx.metadata.txt.gz"; a9_wmetafmtnoarchive=" > $dest/adme_$detailx.metadata.txt"
	elif [ "$Metadata" -eq "4" ]
	then
		a9_metafmt=" | $a9 > $dest/admearchive_$detailx.metadata.xml.gz"; a9_wmetafmt=" > $dest/admearchive_$detailx.metadata.xml"
		a9_metafmtnoarchive=" | $a9 > $dest/adme_$detailx.metadata.xml.gz"; a9_wmetafmtnoarchive=" > $dest/adme_$detailx.metadata.xml"
	else
		Metadata=0
	fi
	if [ "$a8" -eq "1" ]
	then
		a9_=" > $dest/admearchive_$detailx.pax"; a9_w=" > $dest/admearchive_$detailx.pax"
	elif [ "$a8" -eq "2" ]
	then
		a9_=" | $a9 > $dest/admearchive_$detailx.pax.gz"; a9_w=" > $dest/admearchive_$detailx.pax"
	elif [ "$a8" -eq "3" ]
	then
		a9_=" > $dest/admearchive_$detailx.tar"; a9_w=" > $dest/admearchive_$detailx.tar"
	elif [ "$a8" -eq "4" ]
	then
		a9_=" | $a9 > $dest/admearchive_$detailx.tar.gz"; a9_w=" > $dest/admearchive_$detailx.tar"
	else
		a9_=" > $dest/admearchive_$detailx.unknown"; a9_w=" > $dest/admearchive_$detailx.unknown"
	fi

	if [ "$a8" -eq "3" -o "$a8" -eq "4" ]
	then
 		echo -E "mkdir $dest" | sed -n "s/\//\\\/"gp  >> $TMP_PATH/avtarres$Cfg-w.tmp
  		echo -E "echo \"CMD: $WINAVTAR -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME $Encrypt $Logfile --id=***** --password=***** --sequence=$buid --target=$dest_w $Quiet $Datax_ $Datax2_ $verbose $Quiet --streamformat=tar $Preservepaths --logfile=$CLOG_W $a9_w $a10\" >> $CLOG_W 2>&1" | sed -n "s/\\\/\//"gp >> $TMP_PATH/avtarres$Cfg-w.tmp
#		if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
		if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
		then
			if [ "$Metadata" -ne "0" ]
			then
  				echo -E "$WINAVTAR --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $a9_wmetafmt" >> $TMP_PATH/avtarres$Cfg-w.tmp
			fi
		else
			if [ "$Metadata" -ne "0" ]
			then
  				echo -E "$WINAVTAR --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $a9_wmetafmt" >> $TMP_PATH/avtarres$Cfg-w.tmp
			fi
		fi
	else
		if [ "$(echo "$a2" | grep -c "INPLACE")" -eq "0" ]
		then
			echo -E "echo \"CMD: $WINAVTAR -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME $Encrypt $Logfile --id=***** --password=***** --sequence=$buid --target=$dest_w $Quiet $inc $Datax_ $Datax2_ $verbose $Preservepaths $a10\" >> $CLOG_W 2>&1" | sed -n "s/\\\/\//"gp >> $TMP_PATH/avtarres$Cfg-w.tmp
#			if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
			if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
			then
				if [ "$Metadata" -ne "0" ]
				then
  					echo -E "$WINAVTAR --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $a9_wmetafmtnoarchive" >> $TMP_PATH/avtarres$Cfg-w.tmp
				fi
	 			echo -E "$WINAVTAR -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME $Encrypt $Logfile --id=$AVA_user --password=$AVA_password --sequence=$buid --target=$dest_w $inc $Datax_ $Datax2_ $verbose $Quiet $Preservepaths $a10 >> $CLOG_W 2>&1" >> $TMP_PATH/avtarres$Cfg-w.tmp
			else
				if [ "$Metadata" -ne "0" ]
				then
					echo -E "mkdir $dest_w" >> $TMP_PATH/avtarres$Cfg-w.tmp
  					echo -E "$WINAVTAR --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $a9_wmetafmtnoarchive" >> $TMP_PATH/avtarres$Cfg-w.tmp
				fi
				echo -E "$WINAVTAR -x --acnt=$sourceclient $Encrypt $Logfile --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid --target=$dest_w $inc $Datax_ $Datax2_ $verbose $Quiet $Preservepaths $a10 $ExchvssAvtar $HypervssAvtar >> $CLOG_W 2>&1" >> $TMP_PATH/avtarres$Cfg-w.tmp
			fi
		else
			echo -E "echo \"CMD: $WINAVTAR -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME $Encrypt $Logfile --id=***** --password=***** --sequence=$buid $Quiet $inc $Datax_ $Datax2_ $verbose $Preservepaths $a10\" >> $CLOG_W 2>&1" | sed -n "s/\\\/\//"gp >> $TMP_PATH/avtarres$Cfg-w.tmp
#			if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
			if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
			then
				if [ "$Metadata" -ne "0" ]
				then
  					echo -E "$WINAVTAR --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $a9_wmetafmtnoarchive" >> $TMP_PATH/avtarres$Cfg-w.tmp
				fi
	 			echo -E "$WINAVTAR -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME $Encrypt $Logfile --id=$AVA_user --password=$AVA_password --sequence=$buid $inc $Datax_ $Datax2_ $verbose $Quiet $Preservepaths $a10 >> $CLOG_W 2>&1" >> $TMP_PATH/avtarres$Cfg-w.tmp
			else
				if [ "$Metadata" -ne "0" ]
				then
  					echo -E "$WINAVTAR --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $a9_wmetafmtnoarchive" >> $TMP_PATH/avtarres$Cfg-w.tmp
				fi
				echo -E "$WINAVTAR -x --acnt=$sourceclient $Encrypt $Logfile --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $inc $Datax_ $Datax2_ $verbose $Quiet $Preservepaths $a10 \"$ExchvssAvta\"r >> $CLOG_W 2>&1" >> $TMP_PATH/avtarres$Cfg-w.tmp
			fi
		fi
	fi

	echo "if ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/avtarres$Cfg-w.tmp
	echo "if ERRORLEVEL 0 GOTO OK" >> $TMP_PATH/avtarres$Cfg-w.tmp
	echo "if ERRORLEVEL -1 GOTO NOTOK" >> $TMP_PATH/avtarres$Cfg-w.tmp
	echo ":NOTOK" >> $TMP_PATH/avtarres$Cfg-w.tmp
	echo -E "echo AVTAR_RESTORE_NOTOK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/avtarres$Cfg-w.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/avtarres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/avtarres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none --nocache $Use_DD $TAPE_credential $CLOG_W" >> $TMP_PATH/avtarres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/avtarres$Cfg.bat" >> $TMP_PATH/avtarres$Cfg-w.tmp 
	fi
	echo "EXIT 1" >> $TMP_PATH/avtarres$Cfg-w.tmp
	echo "GOTO END" >> $TMP_PATH/avtarres$Cfg-w.tmp
	echo ":OK" >> $TMP_PATH/avtarres$Cfg-w.tmp
	echo -E "echo AVTAR_RESTORE_OK RC=%ERRORLEVEL% >> $CLOG_W" >> $TMP_PATH/avtarres$Cfg-w.tmp
	if [ "$ExchAvtar" -eq "1" ]
	then
 		echo -E "attrib -S -H $dest_w/*.* /s /d " >> $TMP_PATH/avtarres$Cfg-w.tmp
	fi
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo PWX >> $CLOG_W" >> $TMP_PATH/avtarres$Cfg-w.tmp
		echo -E "$WINAVTAR --encodepassword=$RESTORE_pw >> $CLOG_W" >> $TMP_PATH/avtarres$Cfg-w.tmp
	fi
	echo -E "$WINAVTAR -c --acnt=$pseudo $AVTAR_expire --freezemethod=none --nocache --label=avtarres$Cfg.stat $Use_DD $TAPE_credential $CLOG_W" >> $TMP_PATH/avtarres$Cfg-w.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "echo +++ > $WININSTALLPATH/etc/scripts/avtarres$Cfg.bat" >> $TMP_PATH/avtarres$Cfg-w.tmp 
	fi
	echo "EXIT 0" >> $TMP_PATH/avtarres$Cfg-w.tmp
	echo ":END" >> $TMP_PATH/avtarres$Cfg-w.tmp

	newlog="echo \"AVTAR Script-Created: $builddate \" > $CLOG 2>&1"
	echo "#!/bin/ksh" > $TMP_PATH/avtarres$Cfg-u.tmp
	echo "$newlog" >> $TMP_PATH/avtarres$Cfg-u.tmp
	if [ "$a8" -eq "1" -o "$a8" -eq "2" ]
	then
		echo "mkdir -p $dest" >> $TMP_PATH/avtarres$Cfg-u.tmp
  		echo -E "echo \"CMD: $UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=****** --password=****** --sequence=$buid $Quiet $Datax_ $Datax2_ --streamformat=avpax --dto-exportstream --logfile=$CLOG > $a9_$a10 \" >> $CLOG 2>&1" >> $TMP_PATH/avtarres$Cfg-u.tmp
#		if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
		if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
		then
			if [ "$Metadata" -ne "0" ]
			then
  			echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $a9_metafmt" >> $TMP_PATH/avtarres$Cfg-u.tmp$
			fi
	   		echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $Datax_ $Datax2_ --streamformat=avpax --dto-exportstream $Preservepaths --logfile=$CLOG $a9_$a10 " >> $TMP_PATH/avtarres$Cfg-u.tmp
		else
			if [ "$Metadata" -ne "0" ]
			then
  				echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $a9_metafmt" >> $TMP_PATH/avtarres$Cfg-u.tmp
			fi
  			echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $Datax_ $Datax2_ --streamformat=avpax --dto-exportstream $Preservepaths --logfile=$CLOG $a9_$a10 " >> $TMP_PATH/avtarres$Cfg-u.tmp
		fi
	elif [ "$a8" -eq "3" -o "$a8" -eq "4" ]
	then
		echo "mkdir -p $dest" >> $TMP_PATH/avtarres$Cfg-u.tmp
  		echo -E "echo \"CMD: $UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=****** --password=****** --sequence=$buid $Quiet $Datax_ $Datax2_ --streamformat=tar --logfile=$CLOG > $a9_$a10 \" >> $CLOG 2>&1" >> $TMP_PATH/avtarres$Cfg-u.tmp
#		if [ -f $BULOCATION/customize/security1.txt -o -f $BULOCATION/customize/security2.txt ]
		if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
		then
			if [ "$Metadata" -ne "0" ]
			then
  				echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $a9_metafmt" >> $TMP_PATH/avtarres$Cfg-u.tmp
			fi
	   		echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $Datax_ $Datax2_ --streamformat=tar $Preservepaths --logfile=$CLOG $a9_$a10 " >> $TMP_PATH/avtarres$Cfg-u.tmp
		else
			if [ "$Metadata" -ne "0" ]
			then
  				echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $a9_metafmt" >> $TMP_PATH/avtarres$Cfg-u.tmp
			fi
  			echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $Datax_ $Datax2_ --streamformat=tar $Preservepaths --logfile=$CLOG $a9_$a10 " >> $TMP_PATH/avtarres$Cfg-u.tmp
		fi
	else
		if [ "$(echo "$a2" | grep -c "INPLACE")" -eq "0" ]
                then
                        echo -E "echo \"CMD: $UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=****** --password=****** --sequence=$buid --target=$dest $Quiet $inc $Datax_ $Datax2_ $verbose $Preservepaths $ $a10 \" >> $CLOG 2>&1" >> $TMP_PATH/avtarres$Cfg-u.tmp
                        if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
                        then
				if [ "$Metadata" -ne "0" ]
				then
  					echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid $a9_metafmtnoarchive" >> $TMP_PATH/avtarres$Cfg-u.tmp
				fi
                                echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password --sequence=$buid --target=$dest $Quiet $inc $Datax_ $Datax2_ $verbose $Preservepaths $a10 >> $CLOG 2>&1" >> $TMP_PATH/avtarres$Cfg-u.tmp
                        else
				if [ "$Metadata" -ne "0" ]
				then
  					echo "$UNIXINSTALLPATH/bin/avtar --list $Format --v --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $a9_metafmtnoarchive" >> $TMP_PATH/avtarres$Cfg-u.tmp
				fi
                                echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid --target=$dest $Quiet $inc $Datax_ $Datax2_ $verbose $Preservepaths $a10 >> $CLOG 2>&1" >> $TMP_PATH/avtarres$Cfg-u.tmp
                        fi
                else
                        echo -E "echo \"CMD: $UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=****** --password=****** --sequence=$buid $Quiet $inc $Datax_ $Datax2_ $verbose $Preservepaths $a10 \" >> $CLOG 2>&1" >> $TMP_PATH/avtarres$Cfg-u.tmp
                        if [ "$SECURITYMODE" = "low" -o "$SECURITYMODE" = "medium" ]
                        then
                                echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --iD=$AVA_user --password=$AVA_password --sequence=$buid $Quiet $inc $Datax_ $Datax2_ $verbose $Preservepaths $a10 >> $CLOG 2>&1" >> $TMP_PATH/avtarres$Cfg-u.tmp
                        else
                                echo "$UNIXINSTALLPATH/bin/avtar -x --acnt=$sourceclient --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$RESTORE_u --password=$RESTORE_pw --sequence=$buid $Quiet $inc $Datax_ $Datax2_ $verbose $Preservepaths $a10 >> $CLOG 2>&1" >> $TMP_PATH/avtarres$Cfg-u.tmp
                        fi
                fi
	fi
	echo "rcode=\"\$?\"" >> $TMP_PATH/avtarres$Cfg-u.tmp
 	echo "if [ \"\$rcode\" -eq \"0\" ]" >> $TMP_PATH/avtarres$Cfg-u.tmp
	echo "then" >> $TMP_PATH/avtarres$Cfg-u.tmp
 	echo "echo AVTAR_RESTORE_OK RC=\$rcode >> $CLOG" >> $TMP_PATH/avtarres$Cfg-u.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo \"PWX\" >> $CLOG" >> $TMP_PATH/avtarres$Cfg-u.tmp
		echo -E "$UNIXINSTALLPATH/bin/avtar --encodepassword=$RESTORE_pw >> $CLOG" >> $TMP_PATH/avtarres$Cfg-u.tmp
	fi
	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$pseudo --freezemethod=none $AVTAR_expire $TAPE_credential --quiet --label=avtarres$Cfg.stat $Use_DD $CLOG" >> $TMP_PATH/avtarres$Cfg-u.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "/bin/rm -rf $UNIXINSTALLPATH/etc/scripts/avtarres$Cfg.sh" >> $TMP_PATH/avtarres$Cfg-u.tmp
	fi
 	echo "exit 0" >> $TMP_PATH/avtarres$Cfg-u.tmp
	echo "else"  >> $TMP_PATH/avtarres$Cfg-u.tmp
 	echo "echo AVTAR_RESTORE_NOTOK RC=\$rcode >> $CLOG" >> $TMP_PATH/avtarres$Cfg-u.tmp
	if [ "$(grep -c "^PWX=" $ENVCFG)" -eq "0" ]
	then
		echo -E "echo \"PWX\" >> $CLOG" >> $TMP_PATH/avtarres$Cfg-u.tmp
		echo -E "$UNIXINSTALLPATH/bin/avtar --encodepassword=$RESTORE_pw >> $CLOG" >> $TMP_PATH/avtarres$Cfg-u.tmp
	fi
	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$pseudo --freezemethod=none $AVTAR_expire $TAPE_credential --quiet --label=avtarres$Cfg.stat $Use_DD $CLOG" >> $TMP_PATH/avtarres$Cfg-u.tmp
#ADAM
#	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$pseudo --freezemethod=none $AVTAR_expire $TAPE_credential --quiet --label=avtarres$Cfg.stat $Use_DD $CLOG" >> $TMP_PATH/avtarres$Cfg-u.tmp
	if [ "$Debug" -lt "4" ]
        then
		echo "/bin/rm -rf $UNIXINSTALLPATH/etc/scripts/avtarres$Cfg.sh" >> $TMP_PATH/avtarres$Cfg-u.tmp
	fi
 	echo "exit 1" >> $TMP_PATH/avtarres$Cfg-u.tmp
	echo "fi" >> $TMP_PATH/avtarres$Cfg-u.tmp

	mv $TMP_PATH/avtarres$Cfg-w.tmp $TMP_PATH/avtarres$Cfg.bat >/dev/null 2>&1
	mv $TMP_PATH/avtarres$Cfg-u.tmp $TMP_PATH/avtarres$Cfg.sh >/dev/null 2>&1
   	cp $TMP_PATH/avtarres$Cfg.bat $TMP_PATH/.avtarres$Cfg.tab >/dev/null 2>&1
  	cp $TMP_PATH/avtarres$Cfg.sh $TMP_PATH/.avtarres$Cfg.sh >/dev/null 2>&1
	Datax_=""; Datax2_=""
	chmod +x $TMP_PATH/avtarres$Cfg.sh >/dev/null 2>&1
}

batch_script_rtn()
{

	if [ "$Env" -eq "1" ];then Envx=""; else Envx=$Env; fi
	TMP_PATH="$BASE_TMP_PATH$Envx"
	log=".log"; wc=".*"
    	if [ `echo "$Filters" | grep -ce "-m"` -eq "1" ]
    	then
    		Filters="`echo "$Filters" | sed -n "s/-m//"p`"
    		bmailchk_select=1
    	fi

  	if [ `echo "$Tapeout_opts" | grep -ce "-m"` -eq "1" ]
  	then
  		Tapeout_opts="`echo "$Tapeout_opts" | sed -n "s/-m//"p`"
 		bmailchk=1
  	fi

#echo "DEBUG1 - Tapeout_opts=$Tapeout_opts"

	if [ `echo "$Tapeout_opts" | grep -ce "-purge"` -eq "1" ];then Purge=1; else Purge=0; fi
	if [ `echo "$Tapeout_opts" | grep -ce "-PURGE"` -eq "1" ];then Purge=2; else Purge=0; fi

	SCRIPTX="/tmp/$1"
	echo "#!/bin/ksh" > $SCRIPTX
 	echo "HOMEPATH=\"/usr/local/avamar/bin\"" >> $SCRIPTX
 	echo "LOG=\"$BULOCATION/log/$filebase$log\"" >> $SCRIPTX
 	echo "sdate=\`date +'20%y-%m-%d %H:%M'\`" >> $SCRIPTX
 	echo "epochstartdate=\`date '+%s'\`" >> $SCRIPTX
 	echo "echo \"$filebase.cfg RUNNING \$epochstartdate\" >> $BULOCATION/jobstats/.activity-inc.txt" >> $SCRIPTX
 	echo "echo \"RUNNING `date +'%d/%m/%y %H:%M'`\" > /tmp/$filebase$chk" >> $SCRIPTX
	echo "echo \"BATCHPID=\$\$ $DEF\" >> \$LOG" >> $SCRIPTX 
	if [ "$Env" -eq "1" ];then envlok=""; else envlok="$Env"; fi
 	echo "if [ ! -s $TMP_PATH/.admebatch.lok ]" >> $SCRIPTX
 	echo "then" >> $SCRIPTX
  	echo "echo \"Batch-Owner=$filebase$cfg PID=\$\$\" > $TMP_PATH/.admebatch.lok" >> $SCRIPTX
 	echo "else" >> $SCRIPTX
	echo "chkpid=\`awk -F= '{print \$3}' $TMP_PATH/.admebatch.lok | head -1\`" >> $SCRIPTX
	echo "if [ \`ps -ef | awk '{print \$2,\$3}' | grep -v grep | grep -c \"\$chkpid\"\` -eq \"0\" ]" >> $SCRIPTX
	echo "then" >> $SCRIPTX
	echo echo "echo \"\\n$CYAN_FG Removing stale batch lock file for Env-$Env [$WHITE_FG $chkpid $CYAN_FG]$DEF\" >> \$LOG" >> $SCRIPTX
  	echo "echo \"Batch-Owner=$filebase$cfg PID=\$\$\" > $TMP_PATH/.admebatch.lok" >> $SCRIPTX
	echo "else" >> $SCRIPTX
   	echo "edate=\`date +'20%y-%m-%d %H:%M'\`" >> $SCRIPTX
set -
 	echo "bywho=\`tail -1 $TMP_PATH/.admebatch.lok\`" >> $SCRIPTX

 	echo "me=$filebase.cfg" >> $SCRIPTX
  	echo "echo \"\\n$RED_FG ADME-BATCH-FAILURE: Env#-$Env is currently locked by [$WHITE_FG \$bywho Requester: \$me $RED_FG] Start-Time:\$sdate End-Time:\$edate Env#:$Env $DEF\" >> \$LOG" >> $SCRIPTX 
  	if [ "$bmailchk" -eq "1" ];then echo "$HOMEPATH/adme $Env -bmail $BaseGrpx SELECT \$LOG" >> $SCRIPTX; fi

 	echo "echo \"$filebase.cfg ENDED\" >> $BULOCATION/jobstats/.activity-inc.txt" >> $SCRIPTX
#	echo "grep -v \"^$filebase.cfg\" $BULOCATION/jobstats/.activity-inc.txt > $BULOCATION/jobstats/.activity-inc.tmp" >> $SCRIPTX
#	echo "mv $BULOCATION/jobstats/.activity-inc.tmp $BULOCATION/jobstats/.activity-inc.txt" >> $SCRIPTX

	echo "$HOMEPATH/adme -jobreport history $filebase$cfg last" >> $SCRIPTX 
  	echo "exit 1" >> $SCRIPTX
 	echo "fi" >> $SCRIPTX
 	echo "fi" >> $SCRIPTX
 	echo "if [ \"$BaseGrpx\" = \"\" ]" >> $SCRIPTX
 	echo "then" >> $SCRIPTX
 	echo "edate=\`date +'20%y-%m-%d %H:%M'\`" >> $SCRIPTX
	echo "cat $BULOCATION/etc/$filebase.cfg >> \$LOG" >> $SCRIPTX
 	echo "echo \"$RED_BG$WHITE_FG ADME-BATCH-FAILURE: No Base Group Found in Policy Started:\$sdate Ended:\$edate Env#:\$Env $DEF\" >> \$LOG" >> $SCRIPTX 
  	if [ "$bmailchk" -eq "1" ];then echo "$HOMEPATH/adme $Env -bmail $BaseGrpx SELECT \$LOG" >> $SCRIPTX; fi
 	echo "rm /tmp/$filebase$wc" >> $SCRIPTX
  	echo "rm $TMP_PATH/.admebatch.lok" >> $SCRIPTX
 	echo "edate=\`date +'20%y-%m-%d %H:%M\`" >> $SCRIPTX

 	echo "echo \"$filebase.cfg ENDED\" >> $BULOCATION/jobstats/.activity-inc.txt" >> $SCRIPTX
#	echo "grep -v \"^$filebase.cfg\" $BULOCATION/jobstats/.activity-inc.txt > $BULOCATION/jobstats/.activity-inc.tmp" >> $SCRIPTX
#	echo "mv $BULOCATION/jobstats/.activity-inc.tmp $BULOCATION/jobstats/.activity-inc.txt" >> $SCRIPTX

	echo "$HOMEPATH/adme -jobreport history $filebase$cfg last" >> $SCRIPTX 
 	echo "exit 1" >> $SCRIPTX
 	echo "fi" >> $SCRIPTX
 	echo "flag=0" >> $SCRIPTX
 	echo "for x in \`echo \"$SubGrpx\"\`" >> $SCRIPTX
 	echo "do" >> $SCRIPTX
 	echo "if [ \"\$x\" -eq \"0\" ]; then x=\"\"; fi" >> $SCRIPTX
 	echo "if [ \"\$flag\" -eq \"0\" ]" >> $SCRIPTX
 	echo "then" >> $SCRIPTX
 	echo "flag=1" >> $SCRIPTX
 	echo "echo \"$DEF===================================== ADMe $Version Web-UI $WebUI_Version\" >> \$LOG" >> $SCRIPTX

 	echo "echo \"$DEF ADMe JOB Session Started: \`date +'20%y-%m-%d %H:%M'\` MYPID=\$\$\" >> \$LOG" >> $SCRIPTX
 	echo "echo \"$DEF EpochStartTime: \$epochstartdate\" >> \$LOG" >> $SCRIPTX
 	echo "echo \"$DEF Job Policy Name: $pathx$filebase$cfg\" >> \$LOG" >> $SCRIPTX
  	echo "echo \"$DEF Policy Script Name: $SCRIPTX\" >> \$LOG" >> $SCRIPTX
 	echo -E "echo -E \" BaseGroupName=$BaseGrpx SubGrpx#=$SubGrpx Env#=$Env Selection-Flags=$Filters Migration-Flags=$Tapeout_opts\" >> \$LOG" >> $SCRIPTX
	if [ "$(echo "$Tapeout_opts" | grep -c "clouddatapurge")" -ne "0" ];then CDPurge=1; else CDPurge=0; fi

	NUMX_="$(echo "$RANDOM" | cut -b 1-2)"
	if [ "$NUMX_" -gt "60" ];then NUMX="$(expr $NUMX_ / 2)"; else NUMX="$NUMX_"; fi
	NUMX=1
	
 	echo "echo \"$DEF=====================================$NUMX\" >> \$LOG" >> $SCRIPTX
	echo "sleep $NUMX" >> $SCRIPTX
 	echo "fi" >> $SCRIPTX
	if [ "$CDPurge" -eq "0" ]
	then
		echo "echo \"$CYAN_FG\n ==========================================< SELECTION - PHASE >=========================================$DEF\" >> \$LOG" >> $SCRIPTX
	fi
	if [ "$CDPurge" -eq "1" ]
	then
		get_a_clientx="$(grep "^$BaseGrpx," $CFG | head -1 | awk -F, '{print $5}')"
		Filters="-last_F -client $get_a_clientx -clouddatapurge"
	fi
	if [ -f $BULOCATION/customize/debug_env_trace.txt ]
	then
		echo "echo \"DEBUG-Job-Script - $HOMEPATH/adme $Env -sid $BaseGrpx\$x -select $Filters\" >> \$LOG 2>&1" >> $SCRIPTX
	fi
 	echo "$HOMEPATH/adme $Env -sid $BaseGrpx\$x -select $Filters >> \$LOG 2>&1" >> $SCRIPTX
 	echo "rcs=\$?" >> $SCRIPTX

	if [ "$CDPurge" -eq "0" ]
        then
 		echo "if [ \$rcs -eq 1 ]" >> $SCRIPTX
 		echo "then" >> $SCRIPTX
 		echo "edate=\`date +'20%y-%m-%d %H:%M'\`" >> $SCRIPTX
 		echo "echo \"$RED_BG$WHItE_FG ADME-BATCH-FAILURE: [-select] RC=[\$rc] Start-Time:\$sdate End-Time:\$edate Elapsed-Time-HH:MM=n/a Env#:$Env $DEF\" >> \$LOG" >> $SCRIPTX 
  		if [ "$bmailchk" -eq "1" -o "$bmailchk_select" -eq "1" ];then echo "$HOMEPATH/adme $Env -bmail $BaseGrpx SELECT \$LOG" >> $SCRIPTX; fi
 		echo "rm /tmp/$filebase$chk" >> $SCRIPTX
 		echo "rm /tmp/$filebase$wc" >> $SCRIPTX
  		echo "rm $TMP_PATH/.admebatch.lok" >> $SCRIPTX
 		echo "echo \"$filebase.cfg ENDED\" >> $BULOCATION/jobstats/.activity-inc.txt" >> $SCRIPTX
#		echo "grep -v \"^$filebase.cfg\" $BULOCATION/jobstats/.activity-inc.txt > $BULOCATION/jobstats/.activity-inc.tmp" >> $SCRIPTX
#		echo "mv $BULOCATION/jobstats/.activity-inc.tmp $BULOCATION/jobstats/.activity-inc.txt" >> $SCRIPTX
		echo "$HOMEPATH/adme -jobreport history $filebase$cfg last" >> $SCRIPTX 
 		echo "exit 1" >> $SCRIPTX 
 		echo "fi" >> $SCRIPTX 
	fi
 	echo "/bin/sleep 3" >> $SCRIPTX 
	if [ "$CDPurge" -eq "0" ]
	then
		echo "echo \"$CYAN_FG\n ========================================< VIEW-SELECTION - WORKLIST >===================================$DEF\n\" >> \$LOG" >> $SCRIPTX
	if [ -f $BULOCATION/customize/debug_env_trace.txt ]
	then
 		echo "echo \" DEBUG-Job-Script - $HOMEPATH/adme $Env -v -d -D -D\" >> \$LOG" >> $SCRIPTX
	fi
 	echo "$HOMEPATH/adme $Env -v -d -D -D >> \$LOG" >> $SCRIPTX
	fi
      	if [ "$bmailchk_select" -eq "1" ];then echo "$HOMEPATH/adme $Env -bmail $BaseGrpx SELECT \$LOG" >> $SCRIPTX; fi
 	echo "/bin/sleep 3" >> $SCRIPTX 
	if [ "$CDPurge" -eq "0" ]
        then
		echo "echo \"$CYAN_FG ==========================================< STAGING - PHASE >=========================================$DEF\" >> \$LOG" >> $SCRIPTX
	else
		echo "echo \"$CYAN_FG ======================================< CLOUD-DATA-PURGE - POLICY >===================================$DEF\" >> \$LOG" >> $SCRIPTX
		echo "rcs=0" >> $SCRIPTX
	fi
	if [ -f $BULOCATION/customize/debug_env_trace.txt ]
	then
 		echo "echo \"DEBUG-Job-Script $HOMEPATH/adme $Env -sid $BaseGrpx\$x -migrate $Tapeout_opts\" >> \$LOG 2>&1" >> $SCRIPTX 
	fi
 	echo "$HOMEPATH/adme $Env -sid $BaseGrpx\$x -migrate $Tapeout_opts >> \$LOG 2>&1" >> $SCRIPTX 
 	echo "rc=\$?" >> $SCRIPTX 

	echo "start_line=\`grep -n \"BATCHPID=\$\$\" \$LOG | tail -1 | sed -n \"s/:/ /\"p | awk '{print \$1}'\`" >> $SCRIPTX 
	echo "last_line=\`wc -l \$LOG | awk '{print \$1}'\`" >> $SCRIPTX 
	echo "stage_result2=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"STAGING SUMMARY: Total Backup Size:\" | tail -1\`" >> $SCRIPTX 
	echo "stage_result3=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"Staging-Server-Type:\" | tail -1\`" >> $SCRIPTX 
	echo "stage_result=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"INFO-15A:|ERROR-09:\" | tail -1 \`" >> $SCRIPTX 

	echo "stage_errors=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"NETWORKER_RESTORE_NOTOK|Recover errors with|AVTAR_RESTORE_NOTOK|not enough space|Dropped|ERROR-10|ERROR-20|ERROR-06|ERROR-03|ERROR-04B|ERROR-01|ERROR-80|ERROR-08|ERROR-12|10020 Progress|ERROR-13\"\`" >> $SCRIPTX 
	echo "stgexceptions=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep -c \"ERROR-04B|ERROR-10A|ERROR-10B|ERROR-10C|10020 Progress\"\`" >> $SCRIPTX 
	echo "exceptions=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep -c \"ERROR-20|ERROR-06|ERROR-03|ERROR-01|ERROR-80|ERROR-08|ERROR-12|ERROR-13|10020 Progress\"\`" >> $SCRIPTX 

	echo "if [ \"\$exceptions\" -gt \"0\" -a \"\$stgexceptions\" -gt \"0\" ];then Exceptions=\"Staging+Exceptions=\$exceptions\"" >> $SCRIPTX
	echo "elif [ \"\$exceptions\" -eq \"0\" -a \"\$stgexceptions\" -gt \"0\" ];then Exceptions=\"$YELLOW_BG$GRAY_FG Staging-Exceptions=\$stgexceptions $RED_BG$WHITE_FG\"" >> $SCRIPTX
	echo "elif [ \"\$exceptions\" -gt \"0\" ];then Exceptions=\"\"; fi" >> $SCRIPTX

	echo "tape_result=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"succeeded.|TAPE_BACKUP_|INFO-09D|INFO-09B\"\`" >> $SCRIPTX 
	
#	echo "tape_errors=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"has no|failed.|ERROR-11|ERROR-12|Staged data has NOT|Staged data was|To RERUN Use:|ERROR-05|ERROR-60\"\`" >> $SCRIPTX 
	echo "tape_errors=\`sed -n \"\$start_line,\$last_line\"p \$LOG | grep -E \"has no|failed\.|ERROR-11|Staged data has NOT|Staged data was|To RERUN Use:|ERROR-05|ERROR-09I|ERROR-60\"\`" >> $SCRIPTX 

	echo "cloud_success=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"CLOUDDATAPURGE_OK\"\`" >> $SCRIPTX 
	echo "cloud_exceptions=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"NOT available\"\`" >> $SCRIPTX 
	echo "cloud_errors=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"CLOUDDATAPURGE_NOTOK\"\`" >> $SCRIPTX 
	if [ "$Purge" -eq "1" ]
	then
		echo "purge_result=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"INFO-50A\"\`" >> $SCRIPTX 
		echo "purge_errors=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"ERROR-50B|ERROR-50C|Backup purge process skipped\"\`" >> $SCRIPTX 
		echo "if [ \"\$purge_result\" = \"\" ];then purge_result=\"n/a\"; fi" >> $SCRIPTX 
   		echo "if [ \"\$purge_errors\" = \"\" ];then purge_errors=\"none\"; else rc=1; fi" >> $SCRIPTX 
	fi
	if [ "$CDPurge" -eq "0" ]
        then
		echo "if [ \"\$stage_result2\" = \"\" ];then stage_result2=\"        $RED_BG$WHITE_FG WARNING: $DEF No backups were selected\"; fi" >> $SCRIPTX 
	fi
	echo "if [ \"\$stage_result\" = \"\" ];then stage_result=\"n/a\"; fi" >> $SCRIPTX 
	echo "if [ \"\$stage_errors\" = \"\" ];then stage_errors=\"none\"; fi" >> $SCRIPTX 
	echo "if [ \"\$tape_result\" = \"\" ];then tape_result=\"n/a\"; fi" >> $SCRIPTX 
   	echo "if [ \"\$tape_errors\" = \"\" ];then tape_errors=\"none\"; else rc=1; fi" >> $SCRIPTX 
	echo "if [ \"\$cloud_success\" = \"\" ];then cloud_success=\"none\"; fi" >> $SCRIPTX 
	echo "if [ \"\$cloud_exceptions\" = \"\" ];then cloud_exceptions=\"none\"; fi" >> $SCRIPTX 
	echo "if [ \"\$cloud_errors\" = \"\" ];then cloud_errors=\"none\"; else rc=1; fi" >> $SCRIPTX 

	echo "if [ -f $TMP_PATH/final.tmp ];then rc=1; fi" >> $SCRIPTX

 	echo "edate=\`date +'%d/%m/%y %H:%M'\`" >> $SCRIPTX
 	echo "epochenddate=\`date '+%s'\`" >> $SCRIPTX
	echo "epochdiff=\`expr \$epochenddate - \$epochstartdate\`"  >> $SCRIPTX
	echo "if [ \$epochdiff -ge 3600 ]" >> $SCRIPTX
	echo "then" >> $SCRIPTX 
	echo "epochhours=\`expr \$epochdiff / 3600\`" >> $SCRIPTX
	echo "else" >> $SCRIPTX
	echo "epochhours=00" >> $SCRIPTX 
	echo "fi" >> $SCRIPTX
	echo "epochmins=\`expr \$epochdiff % 3600\`" >> $SCRIPTX
	echo "if [ \$epochmins -ge 60 ]" >> $SCRIPTX
	echo "then" >> $SCRIPTX
	echo "epochmins=\`expr \$epochmins / 60\`" >> $SCRIPTX
	echo "if [ \$epochmins -le 9 ];then epochmins=0\$epochmins; fi" >> $SCRIPTX
	echo "else" >> $SCRIPTX
	echo "epochmins=02" >> $SCRIPTX
	echo "fi" >> $SCRIPTX

	echo "Elapsed=\"Elapsed-Time:\$epochhours:\$epochmins\"" >> $SCRIPTX

 	echo "if [ \$rc -ne 0 -o \$rcs -eq 2 ]" >> $SCRIPTX 
 	echo "then" >> $SCRIPTX
  	echo "edate=\`date +'20%y-%m-%d %H:%M'\`" >> $SCRIPTX

	echo "echo >> \$LOG" >> $SCRIPTX
	echo "tape_result_=\"\$tape_result\"" >> $SCRIPTX
	echo "if [ \`echo \"\$tape_result_\" | grep -c \"NOTOK\"\` -gt \"0\" ];then tape_result=\"$RED_FG\$tape_result_ $DEF \"; fi" >> $SCRIPTX
	echo "echo \"$CYAN_FG =========================================< JOB - SUMMARY >===========================================$DEF\" >> \$LOG" >> $SCRIPTX
	if [ "$(grep -c "DEMO-VERSION2-ONLY" $BULOCATION/.admeupgrade.dat)" -eq "1" ]
	then
		echo "echo \"$RED_BG$WHITE_FG This ADMe install is a DEMO-VERSION2-ONLY $DEF\" >> \$LOG" >> $SCRIPTX
	fi
	echo "echo \"\" >> \$LOG" >> $SCRIPTX
	echo "echo \"\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
	echo "echo \"   \$stage_result2\" >> \$LOG" >> $SCRIPTX
	echo "echo \"   \$stage_result2\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
	echo "echo \"\$stage_result3\" >> \$LOG" >> $SCRIPTX
	echo "echo \"\$stage_result3\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
	echo "echo \"$CYAN_FG  Final-Stage-Result:$DEF \$stage_result\" >> \$LOG" >> $SCRIPTX
	echo "echo \"$CYAN_FG  Final-Stage-Result:$DEF \$stage_result\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX

	echo "if [ \"\$stage_errors\" = \"none\" ]" >> $SCRIPTX
	echo "then" >> $SCRIPTX 
	echo "echo \"$CYAN_FG  Staging-Exceptions:$DEF None\" >> \$LOG" >> $SCRIPTX 
	echo "echo \"$CYAN_FG  Staging-Exceptions:$DEF None\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
	echo "else" >> $SCRIPTX
	echo "echo \"$CYAN_FG  Staging-Exceptions:$DEF\" >> \$LOG" >> $SCRIPTX 
	echo "echo \"$CYAN_FG  Staging-Exceptions:$DEF\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX	
	echo "echo \"\$stage_errors\" >> \$LOG" >> $SCRIPTX 
	echo "echo \"\$stage_errors\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
	echo "fi" >> $SCRIPTX

	if [ "$CDPurge" -eq "0" ]
	then
		echo "echo \"$CYAN_FG   Final-Export-Result:$DEF \\n\$tape_result\" >> \$LOG" >> $SCRIPTX
		echo "echo \"$CYAN_FG   Final-Export-Result:$DEF \\n\$tape_result\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX

		echo "if [ \"\$tape_errors\" = \"none\" ]" >> $SCRIPTX
		echo "then" >> $SCRIPTX 
		echo "echo \"$CYAN_FG     Export-Exceptions:$DEF None\" >> \$LOG" >> $SCRIPTX
		echo "echo \"$CYAN_FG     Export-Exceptions:$DEF None\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
		echo "else" >> $SCRIPTX
		echo "echo \"$CYAN_FG     Export-Exceptions: $DEF\" >> \$LOG" >> $SCRIPTX
		echo "echo \"$CYAN_FG     Export-Exceptions:$DEF\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
   		echo "echo \"\$tape_errors\" >> \$LOG" >> $SCRIPTX 
		echo "echo \"\$tape_errors\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
		echo "fi" >> $SCRIPTX

		if [ "$Purge" -eq "1" ]
		then
			echo "purge_stats=\$(tail -1 $TMP_PATH/.adm_purge_list.dat)" >> $SCRIPTX
			echo "echo \"$CYAN_FG  Final-Purge-Result:$DEF \$purge_stats\" >> \$LOG" >> $SCRIPTX
			echo "echo \"$CYAN_FG  Final-Purge-Result:$DEF \$purge_stats\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
			echo "if [ \"\$purge_errors\" = \"none\" ]" >> $SCRIPTX
			echo "then" >> $SCRIPTX 
			echo "echo \"$CYAN_FG    Purge-Exceptions:$DEF None\" >> \$LOG" >> $SCRIPTX
			echo "echo \"$CYAN_FG    Purge-Exceptions:$DEF None\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
			echo "else" >> $SCRIPTX
			echo "echo \"$CYAN_FG    Purge-Exceptions: $DEF\" >> \$LOG" >> $SCRIPTX
			echo "echo \"$CYAN_FG    Purge-Exceptions:$DEF\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
   			echo "echo \"\$purge_errors\" >> \$LOG" >> $SCRIPTX 
			echo "echo \"\$purge_errors\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
			echo "fi" >> $SCRIPTX
		fi
	else
		echo "echo \"$CYAN_FG    Cloud-Purge-Success:\\n$DEF \$cloud_success\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
		echo "echo \"$CYAN_FG    Cloud-Purge-Success:\\n$DEF \$cloud_success\" >> \$LOG" >> $SCRIPTX
		echo "echo \"$CYAN_FG     Cloud-Purge-Errors:\\n$RED_FG \$cloud_errors$DEF\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
		echo "echo \"$CYAN_FG     Cloud-Purge-Errors:\\n$RED_FG \$cloud_errors$DEF\" >> \$LOG" >> $SCRIPTX
	fi
	echo "echo >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX

	echo "echo >> \$LOG" >> $SCRIPTX
	echo "grep "Migration-Sequence-Number=" \$LOG | tail -1 >> \$LOG" >> $SCRIPTX
 	echo "echo \"$RED_BG$WHITE_FG ADME-BATCH-FAILURE: \$Exceptions [-migrate] RC=[\$rc] Start-Time:\$sdate End-Time:\$edate \$Elapsed Env#:$Env $DEF\" >> \$LOG" >> $SCRIPTX 
	echo "echo >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
 	echo "echo \"$RED_BG$WHITE_FG ADME-BATCH-FAILURE: \$Exceptions [-migrate] RC=[\$rc] Job=$filebase Start-Time:\$sdate End-Time:\$edate \$Elapsed Env#:$Env $DEF\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX 
  	if [ "$bmailchk" -eq "1" ];then echo "$HOMEPATH/adme $Env -bmail $BaseGrpx TAPEOUT \$LOG" >> $SCRIPTX; fi
 	echo "echo \"$filebase.cfg ENDED\" >> $BULOCATION/jobstats/.activity-inc.txt" >> $SCRIPTX
#	echo "grep -v \"^$filebase.cfg\" $BULOCATION/jobstats/.activity-inc.txt > $BULOCATION/jobstats/.activity-inc.tmp" >> $SCRIPTX
#	echo "mv $BULOCATION/jobstats/.activity-inc.tmp $BULOCATION/jobstats/.activity-inc.txt" >> $SCRIPTX
	echo "$HOMEPATH/adme -jobreport history $filebase$cfg last" >> $SCRIPTX 
 	echo "rm /tmp/$filebase$chk" >> $SCRIPTX
 	echo "rm /tmp/$filebase$wc" >> $SCRIPTX
 	echo "rm $TMP_PATH/.admebatch.lok" >> $SCRIPTX
 	echo "exit 1" >> $SCRIPTX 
 	echo "fi" >> $SCRIPTX 

 	echo "edate=\`date +'20%y-%m-%d %H:%M'\`" >> $SCRIPTX
	echo "echo >> \$LOG" >> $SCRIPTX
	echo "echo \"$CYAN_FG ==========================================< JOB - SUMMARY >===========================================$DEF\" >> \$LOG" >> $SCRIPTX
	if [ "$(grep -c "DEMO-VERSION2" $BULOCATION/.admeupgrade.dat)" -eq "1" ]
	then
		echo "echo \"$RED_BG$WHITE_FG This ADMe install is a DEMO-VERSION2-ONLY $DEF\" >> \$LOG" >> $SCRIPTX
	fi
	echo "echo \"\" >> \$LOG" >> $SCRIPTX
	echo "echo \"    \$stage_result2\" >> \$LOG" >> $SCRIPTX
	echo "echo \"\$stage_result3\" >> \$LOG" >> $SCRIPTX
	echo "echo \"$CYAN_FG  Final-Stage-Result:$DEF \$stage_result\" >> \$LOG" >> $SCRIPTX
	echo "echo >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
	echo "echo \"    \$stage_result2\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
	echo "echo \"\$stage_result3\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
	echo "echo \"$CYAN_FG  Final-Stage-Result:$DEF \$stage_result\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX

	echo "if [ \"\$stage_errors\" = \"none\" ]" >> $SCRIPTX
	echo "then" >> $SCRIPTX 
	echo "echo \"$CYAN_FG  Staging-Exceptions:$DEF None\" >> \$LOG" >> $SCRIPTX 
	echo "echo \"$CYAN_FG  Staging-Exceptions:$DEF None\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX 
	echo "else" >> $SCRIPTX
	echo "echo \"$CYAN_FG  Staging-Exceptions:$DEF\" >> \$LOG" >> $SCRIPTX 
	echo "echo \"$CYAN_FG  Staging-Exceptions:$DEF\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX 
	echo "echo \"\$stage_errors\" >> \$LOG" >> $SCRIPTX 
	echo "fi" >> $SCRIPTX

	if [ "$CDPurge" -eq "0" ]
	then
		echo "echo \"$CYAN_FG   Final-Export-Result:$DEF \$tape_result\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
		echo "echo \"$CYAN_FG   Final-Export-Result:$DEF \$tape_result\" >> \$LOG" >> $SCRIPTX

		echo "if [ \"\$tape_errors\" = \"none\" ]" >> $SCRIPTX
		echo "then" >> $SCRIPTX
		echo "echo \"$CYAN_FG     Export-Exceptions:$DEF None\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
		echo "echo \"$CYAN_FG     Export-Exceptions:$DEF None\" >> \$LOG" >> $SCRIPTX
		echo "else" >> $SCRIPTX
		echo "echo \"$CYAN_FG     Export-Exceptions:$DEF \" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
		echo "echo \"$CYAN_FG     Export-Exceptions:$DEF \" >> \$LOG" >> $SCRIPTX
   		echo "echo \"\$tape_errors\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX 
   		echo "echo \"\$tape_errors\" >> \$LOG" >> $SCRIPTX 
		echo "fi" >> $SCRIPTX

		if [ "$Purge" -eq "1" ]
		then
			echo "purge_stats=\$(tail -1 $TMP_PATH/.adm_purge_list.dat)" >> $SCRIPTX
			echo "echo \"$CYAN_FG  Final-Purge-Result:$DEF \$purge_stats\" >> \$LOG" >> $SCRIPTX
			echo "echo \"$CYAN_FG  Final-Purge-Result:$DEF \$purge_stats\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
			echo "if [ \"\$purge_errors\" = \"none\" ]" >> $SCRIPTX
			echo "then" >> $SCRIPTX 
			echo "echo \"$CYAN_FG    Purge-Exceptions:$DEF None\" >> \$LOG" >> $SCRIPTX
			echo "echo \"$CYAN_FG    Purge-Exceptions:$DEF None\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
			echo "else" >> $SCRIPTX
			echo "echo \"$CYAN_FG    Purge-Exceptions: $DEF\" >> \$LOG" >> $SCRIPTX
			echo "echo \"$CYAN_FG    Purge-Exceptions:$DEF\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
   			echo "echo \"\$purge_errors\" >> \$LOG" >> $SCRIPTX 
			echo "echo \"\$purge_errors\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
			echo "fi" >> $SCRIPTX
		fi
	else
		echo "if [ \"\$cloud_success\" = \"none\" -a \"\$cloud_errors\" = \"none\" ];then cloud_success=\"No Eligible Expire Folders Found\"; fi" >> $SCRIPTX
		echo "echo \"$CYAN_FG    Cloud-Purge-Success:\\n$DEF \$cloud_success\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
		echo "echo \"$CYAN_FG    Cloud-Purge-Success:\\n$DEF \$cloud_success\" >> \$LOG" >> $SCRIPTX
#		echo "echo \"$CYAN_FG Cloud-Purge-Exceptions:\\n$DEF \$cloud_exceptions\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
#		echo "echo \"$CYAN_FG Cloud-Purge-Exceptions:\\n$DEF \$cloud_exceptions\" >> \$LOG" >> $SCRIPTX
		echo "echo \"$CYAN_FG     Cloud-Purge-Errors:\\n$DEF \$cloud_errors\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
		echo "echo \"$CYAN_FG     Cloud-Purge-Errors:\\n$DEF \$cloud_errors\" >> \$LOG" >> $SCRIPTX
	fi
	echo "grep "Migration-Sequence-Number=" \$LOG | tail -1 >> \$LOG" >> $SCRIPTX
	echo "echo >> \$LOG" >> $SCRIPTX
 	echo "echo \"$GREEN_BG$WHITE_FG ADME-BATCH-SUCCEEDED:$DEF Start-Time:\$sdate End-Time:\$edate \$Elapsed Env#:$Env $DEF\" >> \$LOG" >> $SCRIPTX
	echo "echo >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
 	echo "echo \"$GREEN_BG$WHITE_FG ADME-BATCH-SUCCEEDED:$DEF Job=$filebase Start-Time:\$sdate End-Time:\$edate \$Elapsed Env#:$Env $DEF\" >> $BULOCATION/log/atoevent.log$envlok" >> $SCRIPTX
   	if [ "$bmailchk" -eq "1" ];then echo "$HOMEPATH/adme $Env -bmail $BaseGrpx TAPEOUT \$LOG" >> $SCRIPTX; fi
 	echo "rm $TMP_PATH/.admebatch.lok >/dev/null 2>&1" >> $SCRIPTX
 	echo "done" >> $SCRIPTX		

 	echo "echo \"$filebase.cfg ENDED\" >> $BULOCATION/jobstats/.activity-inc.txt" >> $SCRIPTX
#	echo "grep -v \"^$filebase.cfg\" $BULOCATION/jobstats/.activity-inc.txt > $BULOCATION/jobstats/.activity-inc.tmp" >> $SCRIPTX
#	echo "mv $BULOCATION/jobstats/.activity-inc.tmp $BULOCATION/jobstats/.activity-inc.txt" >> $SCRIPTX

	echo "$HOMEPATH/adme -jobreport history $filebase$cfg last" >> $SCRIPTX 
   	echo "rm /tmp/$filebase$chk >/dev/null 2>&1" >> $SCRIPTX
   	echo "rm /tmp/$filebase$wc >/dev/null 2>&1" >> $SCRIPTX
}

envupdate_rtn()
{
	if [ "$Debug" -ge "6" ]
        then
                echo "TRACE: Enabled envupdate_rtn()"; set -x
        fi

	Cfg="$1"
	Envnum=$1; car="+"; modify=0
	rm $TMP_PATH/envupdate.* >/dev/null 2>&1
	grep -n "^" $ENVCFG | sed -n "s/:/ /"p > $TMP_PATH/envupdate.tmp
	last=`wc -l $TMP_PATH/envupdate.tmp | awk '{print $1}'`
	while true
	do
		echo "$DEF\n1) Utility Node Info\n2) Export Backup Server Parameters\n3) Staging Server Parameters\n4) ADMe Control Files\n5) ADMe Operational Parameters\n\n0) Manual Edit Session\n"
		if [ "$modify" -eq "0" ]
		then
			echo "$CYAN_FG Enter$WHITE_FG #$CYAN_FG=View/Modify$WHITE_FG P$CYAN_FG=Parse-Check$WHITE_FG R$CYAN_FG=Refresh or [$WHITE_FG Def=Quit $CYAN_FG]: $DEF> \c"; read input
		else
			while true
			do
				echo "$CYAN_FG Enter #=View/Modify$WHITE_FG C$RED_FG=Commit-Change$CYAN_FG or$WHITE_FG Q$CYAN_FG=Quit $DEF> \c"; read input
				if [ "$input" = "" ];then continue; else break; fi
			done
		fi
		if [ "$input" = "" -o "$input" = "Q" -o "$input" = "q" ];then break; fi
		if [ "$input" = "C" -o "$input" = "c" ]
		then
  			sed -n "s/ /+/"p $TMP_PATH/envupdate.tmp | awk -F+ '{print $2}' > $ENVCFG
			echo "\n$RED_BG$WHITE_FG Warning:$DEF $GREEN_FG It's advised to run a parse check after modifying an Environment file$DEF"
			modify=0; continue
		fi
		if [ "$input" = "P" -o "$input" = "p" ]
		then
			parse2_rtn $Envnum
			adme $Cfg -env autoedit 'LINUXSS=DO-NOT-USE'
			echo "\n<Press Enter to Continue>"; read
			continue
		fi
		if [ "$input" = "R" -o "$input" = "r" ]
		then
			init_env_rtn $Envnum
			continue
		fi
		session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
		if [ "$input" = "0" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
			$MYEDITOR $ENVCFG
			continue
		elif [ "$input" = "1" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
			var1=`grep " AVAMAR_UTILNODE_NAME=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var1_="AVAMAR_UTILNODE_NAME"
			var2=`grep " HOMEPATH=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var2_="HOMEPATH"
			var3="end"; title="Utility Node Parameters"
		elif [ "$input" = "2" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
			var1=`grep " BUSERVER_NAME=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var1_="BUSERVER_NAME"
			var2=`grep " BACKUPPRODUCT=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var2_="BACKUPPRODUCT"
			var3=`grep " BACKUPPRODUCTHOMEUNIX=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var3_="BACKUPPRODUCTHOMEUNIX"
			var4=`grep " BACKUPPRODUCTHOMEWIN=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var4_="BACKUPPRODUCTHOMEWIN"
			var5=`grep " TAVAINSTALLPATH=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var5_="TAVAINSTALLPATH"
			var6=`grep " TAVADOMAINNAME=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var6_="TAVADOMAINNAME"
			var7=`grep " ENDOFYEAR=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var7_="ENDOFYEAR"
			var8="end"; title="Tape Backup Parameters" 
		elif [ "$input" = "3" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
			var1=`grep " UNIXSS=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var1_="UNIXSS"
			var2=`grep " UNIXINSTALLPATH=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var2_="UNIXINSTALLPATH"
			var3=`grep " TUNIXSS=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var3_="TUNIXSS"
			var4=`grep " WINDOWSS=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var4_="WINDOWSS"
			var5=`grep " WININSTALLPATH=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var5_="WININSTALLPATH"
			var6=`grep " LINUXSS=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var6_="LINUXSS"
			var7="end"; title="Staging Server Parameters" 
		elif [ "$input" = "4" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
			var1=`grep " TMP_PATH=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var1_="TMP_PATH"
			var2=`grep " CFG=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var2_="CFG"
			var3=`grep " LOG=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var3_="LOG"
			var4=`grep " PSEUDOCLIENT=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var4_="PSEUDOCLIENT"
			var5="end"; title="ADM(e) Control Files" 
		elif [ "$input" = "5" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
			var1=`grep " CMD_mail=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var1_="CMD_mail"
			var2=`grep " MAIL_TO=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var2_="MAIL_TO"
			if [ `echo "$var2" | grep -c " "` -ne "0" ]
			then
				var2_=`echo "$var2" | sed -n "s/ /,/"gp`; var2="$var2_"
			fi
			var3=`grep " MAIL_TO_ERROR=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var3_="MAIL_TO_ERROR"
			if [ `echo "$var3" | grep -c " "` -ne "0" ]
			then
				var3_=`echo "$var3" | sed -n "s/ /,/"gp`; var3="$var3_"
			fi
			var4=`grep " MAIL_FROM=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var4_="MAIL_FROM"
			var5=`grep " USER_COMMENT=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var5_="USER_COMMENT"
			if [ $(echo "$var5" | grep -c " ") -ne 0 ]
			then
				var55=$(echo "$var5" | sed -n "s/ /_/"gp); var5="$var55"		
			fi
			var6=`grep " LOG_SIZE=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var6_="LOG_SIZE"
			var7=`grep " TIMEDELAYSTAGE=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var7_="TIMEDELAYSTAGE"
			var8=`grep " TIMEDELAYTAPE=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var8_="TIMEDELAYTAPE"
			var9=`grep " MAX_RECOVERY_SESSIONS=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var9_="MAX_RECOVERY_SESSIONS"
			var10=`grep " USE_ALLNODES=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var10_="USE_ALLNODES"
			var11=`grep " BYDATEPATHXTN=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var11_="BYDATEPATHXTN"
			var12=`grep " COLORSCHEME=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var12_="COLORSCHEME"
			var13=`grep " MYEDITOR=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var13_="MYEDITOR"
			var14=`grep " BULOCATION=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var14_="BULOCATION"
			var15=`grep " DEFSTAGELOC=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var15_="DEFSTAGELOC"
			var16=`grep " SCRIPT_TIMEOUT=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var16_="SCRIPT_TIMEOUT"
			var17=`grep " ARCHIVEUTIL=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var17_="ARCHIVEUTIL"
			var18=`grep " USE_DATADOMAIN=" $TMP_PATH/envupdate.tmp | tail -1 | awk -F= '{print $2}'`; var18_="USE_DATADOMAIN"
			var19="end"; title="ADMe OPERATIONAL PARAMETERS" 
		else
			echo "\n$RED_FG Input Invalid$DEF"; continue
		fi

		echo "\n$BLUE_BG$WHITE_FG Processing $title:$DEF\n"
		for v in `echo "$var1$car$var1_ $var2$car$var2_ $var3$car$var3_ $var4$car$var4_ $var5$car$var5_ $var6$car$var6_ $var7$car$var7_ $var8$car$var8_ $var9$car$var9_ $var10$car$var10_ $var11$car$var11_ $var12$car$var12_ $var13$car$var13_ $var14$car$var14_ $var15$car$var15_ $var16$car$var16_ $var17$car$var17_ $var18$car$var18_"`
		do
			varx=`echo "$v" | awk -F+ '{print $1}'`; varname=`echo "$v" | awk -F+ '{print $2}'`
			if [ "$varx" = "end" ];then break; fi
			if [ `echo "$varx" | grep -c " "` -ne "0" ]
			then
				varx_=`echo "$varx" | sed -n "s/ /,/"gp`; varx="$varx_"
			fi
			linex=`grep " $varname=" $TMP_PATH/envupdate.tmp | tail -1 | awk '{print $1}'`
			if [ "$varname" = "BACKUPPRODUCT" ];then echo "\n$GREEN_FG avamar arcserv backupexec backupexec2012 Cloud-GW commvault hpdp netbackup netvault networker ppdm tsm$WHITE_FG Def=networker$DEF \n"
			elif [ "$varname" = "BUSERVER_NAME" ];then echo "\n$GREEN_FG Name of the export backup server as it is known in DNS and used by this environment$DEF \n"
			elif [ "$varname" = "COLORSCHEME" ];then echo "\n$GREEN_FG Best Suitable Color BG/FG 1=black/yellow 2=white/black 3=no color 4 or 5=Job-Manager-Block Def=5 $DEF \n"
			elif [ "$varname" = "BACKUPPRODUCTHOMEUNIX" ];then echo "\n$GREEN_FG Path on Unix/Linux staging server to export application binaries or enter not-used $DEF \n"
			elif [ "$varname" = "BACKUPPRODUCTHOMEWIN" ];then echo "\n$GREEN_FG Path on a Windows staging server to export application binaries or enter not-used $DEF \n"
			elif [ "$varname" = "TAVAINSTALLPATH" ];then echo "\n$GREEN_FG Base-Install path to Avamar agent on export backup server or not-used $DEF \n"
			elif [ "$varname" = "ENDOFYEAR" ];then echo "\n$GREEN_FG Reference End of Year tape policy named in Fld-13 0=not used 01-12=Month-ID $DEF \n"
			elif [ "$varname" = "UNIXSS" ];then echo "\n$GREEN_FG Unix/Linux staging server name, include Avamar domain name where it is activated to\n For a VDP appliance set to a value of /VDP only $DEF \n"
			elif [ "$varname" = "UNIXINSTALLPATH" ];then echo "\n$GREEN_FG Base-Install path to Avamar agent on the staging server IE: /usr/local/avamar $DEF \n"
			elif [ "$varname" = "TUNIXSS" ];then echo "\n$GREEN_FG Unix or Linux staging server type: AIX FREEBSD HPUX LINUX MAC SCO SOLARIS $DEF \n"
			elif [ "$varname" = "WINDOWSS" ];then echo "\n$GREEN_FG Windows staging server name, must include Avamar domain name where it is activate to $DEF \n"
			elif [ "$varname" = "LINUXSS" ];then echo "\n$GREEN_FG This variable is no longer used, always set to n/a $DEF \n"
			elif [ "$varname" = "WININSTALLPATH" ];then echo "\n$GREEN_FG Base-Install path to Avamar agent on staging server IE: C:/progra~1/avs $DEF \n"
			elif [ "$varname" = "MAIL_TO" ];then echo "\n$GREEN_FG Mail-List: multiple address must be coma separated $DEF \n"
			elif [ "$varname" = "MAIL_TO_ERROR" ];then echo "\n$GREEN_FG Error-Only Mail-List: multiple address must be coma separated $DEF \n"
			elif [ "$varname" = "MAIL_FROM" ];then echo "\n$GREEN_FG Single address used as the sender address for email alerts, does not need to be valid $DEF \n"
			elif [ "$varname" = "USER_COMMENT" ];then echo "\n$GREEN_FG User defined comment describing this environment files use case$DEF \n"
			elif [ "$varname" = "CMD_mail" ];then echo "\n$GREEN_FG Must be set to /bin/mail or /bin/mailx or /usr/bin/mailx on (SuSE) which are the supported methods $DEF \n"
			elif [ "$varname" = "LOG_SIZE" ];then echo "\n$GREEN_FG Represents the max line count for this environments Event Log $DEF \n"
			elif [ "$varname" = "TIMEDELAYSTAGE" ];then echo "\n$GREEN_FG Time delay bewteen staging progress messages when using this environemnt$DEF \n"
			elif [ "$varname" = "TIMEDELAYTAPE" ];then echo "\n$GREEN_FG Time delay bewteen export backup progress messages when using this environemnt$DEF \n"
			elif [ "$varname" = "USE_ALLNODES" ];then echo "\n$GREEN_FG Are all nodes to be used during the staging process Y/N Def=Y$DEF \n"
			elif [ "$varname" = "BYDATEPATHXTN" ];then echo "\n$GREEN_FG Modify default destination path to include retention type and expiry date Y/N Def=N$DEF \n"
			elif [ "$varname" = "MAX_RECOVERY_SESSIONS" ];then echo "\n$GREEN_FG Identifies the quantity of checkpoints to be maintained by this environment Def=5$DEF \n"
			elif [ "$varname" = "MYEDITOR" ];then echo "\n$GREEN_FG ADMe default editor: VI=/bin/vi EMACS=/usr/bin/emacs or NANO=/usr/bin/nano $DEF \n"
			elif [ "$varname" = "BULOCATION" ];then echo "\n$GREEN_FG Home path where ADMe files are kept - $RED_BG$WHITE_FG DO NOT MODIFY $DEF \n"
			elif [ "$varname" = "DEFSTAGELOC" ];then echo "\n$GREEN_FG Default staging path used by Config Manager when adding a client$DEF \n"
			elif [ "$varname" = "SCRIPT_TIMEOUT" ];then echo "\n$GREEN_FG Avtar timeout value in seconds, long export backups may require more than the default of 36000=10Hrs$DEF \n"
			elif [ "$varname" = "TAVADOMAINNAME" ];then echo "\n$GREEN_FG Avamar domain/export-client name where export server is activated to or not-used $DEF \n"
			elif [ "$varname" = "ARCHIVEUTIL" ];then echo "\n$GREEN_FG Compression tool used with -archive and -metadata options $DEF \n"
			elif [ "$varname" = "USE_DATADOMAIN" ];then echo "\n$GREEN_FG Direct ADMe related log and script BU's to DD versus the GSAN $DEF \n"; fi
			echo "$CYAN_FG Enter new value or press enter for default Q=Quit [$GREEN_FG$varname=$WHITE_FG$varx$CYAN_FG]:$DEF > \c"; read ipvarx
			if [ "$ipvarx" = "Q" -o "$ipvarx" = "q" ];then break; fi
			if [ "$ipvarx" = "" ]
			then
				ipvarx="$varx"
			else
				modify=1
			fi
			if [ "$linex" -eq "1" ]
			then
				echo "$linex $varname=$ipvarx" > $TMP_PATH/envupdate.tmp2
				sed -n "2,$last"p $TMP_PATH/envupdate.tmp >> $TMP_PATH/envupdate.tmp2
			else
				linea=`expr $linex - 1`; lineb=`expr $linex + 1`
				sed -n "1,$linea"p $TMP_PATH/envupdate.tmp > $TMP_PATH/envupdate.tmp2
				echo "$linex $varname=$ipvarx" >> $TMP_PATH/envupdate.tmp2
				sed -n "$lineb,$last"p $TMP_PATH/envupdate.tmp >> $TMP_PATH/envupdate.tmp2
			fi
			mv $TMP_PATH/envupdate.tmp2 $TMP_PATH/envupdate.tmp
		done
	done
}

admeupgrade_rtn()
{
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled admeupgrade_rtn()"; set -x
	fi
	 if [ "$(echo "$(id)" | grep -c "root")" -ne "1" ]
         then
              echo -e "$RED_BG$WHITE_FG WARNING:$DEF You must be root to perform an ADMe upgrade"
              return
        fi

	menu="$1"
	echo
	echo "$BLUE_BG$WHITE_FG NOTE:$DEF The following prereq's must be confirmed prior to proceeding with an ADMe upgrade."
	echo "\n$GREEN_FG 1. Ensure no ADMe jobs or Menu's are open"
	if [ "$menu" = "menu" ]
	then
  		if [ "$(ps -ef | egrep -v "avagent.bin|vi adme|ato|tail|java|grep" | egrep -c "adme|ato|admebatch|admbatch|-select|-tapeout|-migrate")" -le "4" ];then ok="idle"; else ok="active"; fi
	else
  		if [ "$(ps -ef | egrep -v "avagent.bin|vi adme|vi ato|tail|java|grep" | egrep -c "adme|ato|admebatch|admbatch|-select|-tapeout|-migrate")" -le "3" ];then ok="idle"; else ok="active"; fi
	fi
	if [ "$ok" = "idle" ];then echo "\n   $WHITE_FG >>> It appears there are NO active ADMe sessions $DEF"
	else  echo "\n $RED_BG$WHITE_FG WARNING:$DEF$RED_FG It appears there are active ADMe sessions, if you know there are none then continue $DEF"; fi 
#	echo "\n$GREEN_FG The following command was used to verify where a null return indicates no active sessions:\n\n$WHITE_FG ps -ef | egrep -v \"avagent.bin|vi ato|vi adme|tail|java|grep\" | egrep \"adme|ato|admebatch|admbatch|-select|-tapeout|-migrate\" $DEF"
	echo "\n$GREEN_FG 2. Ensure latest ADMe tar file is available, path search order [$WHITE_FG $BULOCATION | /usr/local/avamar/src | /tmp | /root$DEF]"
	echo "\n    $BLUE_BG$WHITE_FG IMPORTANT: $DEF Check frequently for ADMe updates at $CYAN_FG $WEBLINK $DEF"
	echo "\n$CYAN_FG Confirm it is okay to proceed, Enter Y/N [$WHITE_FG Detected-Status=[$ok] Def=N $CYAN_FG] :> $DEF\c"; read confirm
	if [ "$confirm" != "Y" -a "$confirm" != "y" ]
	then
		echo "\n$RED_FG No action taken$DEF"; sleep 1
		return
	fi
	status=0; brkt=")"
	if [ "$(ls -rtl $BULOCATION/adme*.tar 2>/dev/null | wc -l | awk '{print $1}')" -gt "0" ]
        then
                filename="$(ls -rtl $BULOCATION/adme*.tar | awk '{print $NF}')"
        else
                echo "$RED_B$WHITE_FG WARNING: $DEF$RED_FG No ADMe upgrade files located in $BULOCATION ...$DEF"
                exit 1
        fi

	ls -rtl $filename  2>/dev/null | awk '{print "\033[32;1m "$NF" \033[0m"}' | grep -n "^" | sed -n "s/:/) /"p > $TMP_PATH/upgrade_tar.tmp
	install_default=`ls -rtl $filename 2>/dev/null | awk '{print $NF}' | tail -1`
	echo "\n$CYAN_FG Available ADMe Upgrade files;$DEF\n"
	if [ -s $TMP_PATH/upgrade_tar.tmp ];then cat $TMP_PATH/upgrade_tar.tmp; else echo "$RED_FG Unable to locate a valid ADMe upgrade files$DEF"; fi

	echo "\n$CYAN_FG Enter File# to perform upgrade with or press enter to accept default, [$WHITE_FG Def=$install_default] Q$CYAN_FG=Quit:$DEF > \c"
	read filex

	if [ "$filex" = "Q" -o "$filex" = "q" ];then return
  	elif [ "$filex" = "" ];then filex_="$install_default"
  	else
		filex_=`grep "^$filex$brkt" $TMP_PATH/upgrade_tar.tmp | awk '{print $3}'`
	fi
	echo "\n$CYAN_FG Confirm it is okay to proceed with upgrade using file [$WHITE_FG$filex_$CYAN_FG]:$WHITE_FG Y$CYAN_FG=Yes$WHITE_FG N$CYAN_FG=No $DEF> \c"; read confirm
	if [ "$confirm" != "y" -a "$confirm" != "Y" ]
	then
		echo "\n$RED_FG No action taken$DEF"; sleep 1
		return
	fi
	origver=$(grep Version $HOMEPATH/adme | head -1 | awk -F- '{print $2}' | sed -n "s/\"//"p)
        if [ -s $filex_ ]
        then
		echo "\n$CYAN_FG Saving existing ADMe configuration prior to upgrade$DEF"
		backup_rtn backup nodisplay
        	echo "\n$CYAN_FG Proceeding with upgrading ADMe using file name [$WHITE_FG$filex_$CYAN_FG]$DEF"
		if [ "$(echo "$filex_" | grep -c "adme-tar")" -eq "0" ]
		then
			tar Pxf $filex_ >/dev/null 2>&1
		else
			tar -C / -xf $filex_
		fi
		status="$?"
		if [ "$status" -eq "0" ]
		then
			rm $BULOCATION/audit/.checksum  $BULOCATION/.nochecksum $BULOCATION/admeupgrade.log >/dev/null 2>&1
			chmod 770 $BULOCATION/admeupgrade.sh
			$BULOCATION/admeupgrade.sh
#			cat $BULOCATION/admeupgrade.log | sed -r "s:\x1B\[[0-9;]*[mK]::g" >> $BULOCATION/.admeupgrade.log 2>&1
			status="$?"
		fi
	else
        	echo "\n$ERRORX-00: Selected upgrade file [$WHITE_FG$filex_$RED_FG] not found $DEF"
		status=1
	fi
	rm -f $BULOCATION/admeupgrade.sh >/dev/null 2>&1
	rm -f /tmp/admeupgrade.sh >/dev/null 2>&1
	if [ "$status" -ne "0" ]
	then
		echo "\n$RED_BG$WHITE_FG An unexpected non-zero return code [$status] occurred during the upgrade process$DEF"
		backup_default=`ls -rtl $BULOCATION/backups/admebackup*.gz | awk '{print $NF}' | tail -1`
		echo "\n$CYAN_FG Latest rollback file is [$WHITE_FG$backup_default$CYAN_FG]$DEF" 
		echo "\n$CYAN_FG Would you like to rollback back? Enter: Y=Yes N=No Q=Quit$DEF > \c"
		read input
		status=0
		if [ "$input" = "Q" -o "$input" = "q" -o "$input" = "" -o "$input" = "N" -o "$input" = "n" ]
		then
			echo "\n NO action taken...."
		elif [ "$input" = "Y" -o "$input" = "y" ]
		then
			backup_rtn rollback loop
		fi
	else
		if [ "$(grep "^BuildVersion" $HOMEPATH/adme | head -1 | grep -c "setbuildx")" -eq "0" ]
		then
			newver=$(grep "^BuildVersion" $HOMEPATH/adme | head -1 | awk -F= '{print $2}' | sed -n "s/\"//"gp)
		else
			newver=$(grep "^Version" $HOMEPATH/adme | head -1 | awk -F= '{print $2}' | sed -n "s/\"//"gp)
		fi

		today="$(date +'20%y-%m-%d-%H:%M')"
		if [ -s $BULOCATION/.admeupgrade.dat ]
		then
			previousversion="$(tail -1 $BULOCATION/.admeupgrade.dat | awk '{print $NF}')"
			echo
			echo "UPGRADE-DATE: $today $previousversion TO: $newver" | tee -a $BULOCATION/.admeupgrade.dat
		else
			echo
			echo "INSTALL-DATE: $today FROM: n/a  TO: $newver" | tee -a $BULOCATION/.admeupgrade.dat
		fi
		echo "\n$RED_BG$WHITE_FG IMPORTANT: $DEF Check frequently for ADMe updates at $CYAN_FG $WEBLINK $DEF"
		echo "\n$GREEN_BG$WHITE_FG Exiting ADMe, restart ADMe menu to activate new version$DEF"
	fi
	echo "\n<Press Enter to Continue>"; read; return $status
}

log_rtn()
{

	
	envlimit="$MAXENVCOUNT"
	envcntx="1"
	while true
	do
		lcnt="$(wc -l $BULOCATION/log/atoevent.log$x 2>/dev/null | awk '{print $1}')"
		if [ "$lcnt" -eq "" ];then lcnt=0; fi
		echo "Event Log size check... Env#=$x Line-Count=$lcnt                 \r\c"
		if [ "$envcntx" -eq "1" ];then x=""; else x="$envcntx"; fi
		if [ "$envcntx" -gt "$envlimit" ];then break; fi
	
		if [ -s $BULOCATION/log/atoevent.log$x ]
		then
			if [ `wc -l $BULOCATION/log/atoevent.log$x 2>/dev/null | awk '{print $1}'` -gt "$LOG_SIZE" ]
			then
				sed -n "500,99999"p $BULOCATION/log/atoevent.log$x > $TMP_PATH/event.log 2>&1
				mv $TMP_PATH/event.log $BULOCATION/log/atoevent.log$x >/dev/null 2>&1
			fi
		fi
		envcntx="$(expr $envcntx + 1)"
	done
}

length_chk_rtn()
{
	wild="*"
	lcnt=`ls -l $BULOCATION/etc/$Itemx$wild | wc -l | awk '{print $1}'`
	if [ "$lcnt" -eq "1" ]
	then
		Itemx=`ls -l $BULOCATION/etc/$Itemx$wild | awk -F/ '{print $NF}'`
	else
		echo "\n$RED_FG Unable to determine selection to use:$GREEN_FG\n"
		ls -l $BULOCATION/etc/$Itemx$wild | grep "admbatch-" | awk -F/ '{print $NF}'
		echo "\n$CYAN_FG Enter complete selection name to use: \c$DEF"; read Itemx
#		if [ "$Itemx" = "" ];then continue; fi
	fi
}

profile_update_rtn()
{
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled profile_update_rtn()"; set -x
	fi
	car="+"; modify=0; bprfile="$1"
	rm $TMP_PATH/prfupdate.* >/dev/null 2>&1
	grep -n "^" $bprfile | sed -n "s/:/ /"p > $TMP_PATH/prfupdate.tmp
	last=`wc -l $TMP_PATH/prfupdate.tmp | awk '{print $1}'`	
	while true
	do
		var1x_=`grep " Environment_Number:=" $TMP_PATH/prfupdate.tmp | tail -1 | awk -F= '{print $2}'`
		if [ "$var1x_" -eq "1" ];then var1x=""; else var1x="$var1x_"; fi
		var2x=`grep " Base_Group_Name:=" $TMP_PATH/prfupdate.tmp | tail -1 | awk -F= '{print $2}'`
		var3x=`grep "^$var2x," $CFG | tail -1 | awk -F, '{print $15}'`
		
		if [ "$(grep -c "FORMAT-" $bprfile)" -ne "0" ]
		then
			formatx="$(grep "FORMAT-" $bprfile | tail -1 | awk -FFORMAT- '{print $2}' | awk '{print $1}')"
			grpdrv="$(grep "^$var2x," $CFG | tail -1 | awk -F, '{print $10}' | cut -b 1-1)"

			if [ "$formatx" = "C" -o "$formatx" = "D" -o "$formatx" = "c" -o "$formatx" = "d" ]
			then
				echo "$RED_BG$WHITE_FG WARNING: $DEF The configured drive letter to be formatted [Drv-$formatx] is not supported\n"
			elif [ "$formatx" != "$grpdrv" ]
			then
				echo "$RED_BG$WHITE_FG WARNING: $DEF The configured drive letter to be formatted [Drv-$formatx] does not match this jobs staging path [Drv-$grpdrv]\n"
			fi
		fi

		if [ "$var3x" = "WINDOWS" ]
		then
			ssx=`grep "^WINDOWSS=" $BULOCATION/etc/atoenv.cfg$var1x 2>/dev/null | awk -F= '{print $2}' | awk -F/ '{print $NF}'`
		elif [ "$var3x" = "UNIX" ]
		then
			ssx=`grep "^UNIXSS=" $BULOCATION/etc/atoenv.cfg$var1x  2>/dev/null | awk -F= '{print $2}' | awk -F/ '{print $NF}'`
		else
			var3x="$RED_FG UNDEFINED$DEF"
		fi
		buprodx=`grep "^BACKUPPRODUCT=" $BULOCATION/etc/atoenv.cfg$var1x 2>/dev/null | awk -F= '{print $2}' | awk -F/ '{print $NF}'`

		if [ "$input" -eq "1" ];then echo ; fi
		prof_log="$(echo "$bprfile" | sed -n "s/.cfg/.log/"p | sed -n "s/etc/log/"p)"
		prof_nam="$(echo "$bprfile" | awk -F/ '{print $NF}')"


		last_job_status="n/a"
		if [ "$(tail -7 $prof_log 2>/dev/null | egrep -c "BATCH-PROFILE-FAILED")" -ne "0" ];then last_job_status="$RED_BG$WHITE_FG BATCH-JOB-FAILED $DEF"
		elif [ "$(tail -7 $prof_log 2>/dev/null  | egrep -c "ATO-BATCH-FAILURE|ADME-BATCH-FAILURE")" -ne "0" ];then last_job_status="$RED_BG$WHITE_FG STANDARD-JOB-FAILED $DEF"
		elif [ "$(tail -7 $prof_log 2>/dev/null | egrep -c "BATCH-PROFILE-SUCCEEDED")" -ne "0" ];then last_job_status="$GREEN_BG$WHITEF_G BATCH-JOB-SUCCEEDED $DEF"
		elif [ "$(tail -7 $prof_log 2>/dev/null | egrep -c "ATO-BATCH-SUCCEEDED|ADME-BATCH-SUCCEEDED")" -ne "0" ];then last_job_status="$GREEN_BG$WHITEF_G STANDARD-JOB-SUCCEEDED $DEF"
		elif [ "$(tail -7 $prof_log 2>/dev/null | egrep -c "Starting batch policy")" -gt "0" ]
		then
			last_job_name="$(cat $prof_log 2>/dev/null | grep " Starting batch" | tail  -1 | awk '{print $NF}')"
			last_job_status="$last_job_name $DEF"
		else last_job_name="$prof_nam"; fi

		if [ "$last_job_status" = "" ];then last_job_status="n/a"; fi

		lastrunonly="$(grep -n "^BATCHPID=" $prof_log 2>/dev/null | tail -1 | awk -F: '{print $1}')"
		last_data_size="$(sed -n "$lastrunonly,99999"p $prof_log 2>/dev/null | grep "JOB - SUMMARY" | grep "STAGING SUMMARY:" | tail -1 2>/dev/null | sed -r "s:\x1B\[[0-9;]*[mK]::g" | cut -b 4-200 2>/dev/null)"

		if [ "$last_data_size" = "" ];then last_data_size="n/a"; fi

		if [ "$(tail -5 $prof_log 2>/dev/null | egrep -c "BATCH-PROFILE-FAILED|ATO-BATCH-FAILURE|ADME-BATCH-FAILURE|BATCH-PROFILE-SUCCEEDED|ATO-BATCH-SUCCEEDED|ADME-BATCH-SUCCEEDED|killed")" -gt "0" ]
		then
			cur_job_status="$BLUE_BG$WHITE_FG Idle $DEF"
			echo "$CYAN_FG Current-Run-Status:$DEF $cur_job_status"
		elif [ -s $prof_log ]
		then
			cur_job_status="Active"
			echo "$CYAN_FG Current-Run-Status: $CYAN_BG$WHITE_FG$cur_job_status$DEF"
		else echo "$CYAN_FG Current-Run-Status:$DEF n/a"; fi

		echo "$CYAN_FG    Last-Run-Status:$DEF $last_job_status"	
		echo "$CYAN_FG Last-Run-Data-Size:$DEF $last_data_size"	
		cron_stat="$( crontab -u root -l | grep "$prof_nam" | head -1 | awk -F\> '{print $1}')"
		if [ "$(echo "$cron_stat" | grep -c "DISABLED")" -ne "0" ];then echo "$CYAN_FG         CRON-Entry: $YELLOW_FG$cron_stat$DEF\n"
		elif [ "$(echo "$cron_stat" | grep -c "$prof_nam")" -eq "0" ];then echo "$CYAN_FG         CRON-Entry:$DEF n/a\n"
		else echo "$CYAN_FG         CRON-Entry: $GREEN_FG$cron_stat$DEF\n"; fi

		if [ "$ssx" = "a" -o "$ssx" = "not-used" -o "$ssx" = "" ];then ssx="$RED_FG Not-Defined-in-Env-$var1x_ $DEF"; fi
		if [ "$(echo "$var3x" | grep -c "UNDEFINED")" -gt "0" ]
		then
			echo "$CYAN_FG Using Staging-Server-Type:$WHITE_FG BATCH-JOB$CYAN_FG Staging-Server-Name:$WHITE_FG NOT-APPLICABLE$CYAN_FG Export-Application:$WHITE_FG $buprodx$DEF"
		else
			echo "$CYAN_FG Using Staging-Server-Type:$WHITE_FG $var3x$CYAN_FG Staging-Server-Name:$WHITE_FG $ssx$CYAN_FG Export-Application:$WHITE_FG $buprodx$DEF"
		fi
		echo "$DEF\n0) Manual Edit\n1) Interactive Edit\n\n2) View Client Group\n3) Execute-Job\n4) Last-Run-Log\n5) Job-History-Report"
		if [ "$modify" -eq "0" ]
		then
			echo "\n$CYAN_FG Enter #=View/Modify or [$WHITE_FG Def=Quit $CYAN_FG]: $DEF> \c"; read input
		else
			while true
			do
				echo "\n$CYAN_FG Enter #=View/Modify$WHITE_FG C$RED_FG=Commit-Change$CYAN_FG or$WHITE_FG Q$CYAN_FG=Quit $DEF> \c"; read input
				if [ "$input" = "" ];then continue; else break; fi
			done
		fi
		if [ "$input" = "" -o "$input" = "Q" -o "$input" = "q" ];then break; fi
		if [ "$input" = "C" -o "$input" = "c" ]
		then
  			sed -n "s/ /+/"p $TMP_PATH/prfupdate.tmp | awk -F+ '{print $2}' > $bprfile
			modify=0; continue
		fi
		if [ "$input" = "0" ]
		then
			$MYEDITOR $bprfile 
			continue
		elif [ "$input" = "1" ]
		then
			if [ "$(grep -c "Environment_Number:=" $TMP_PATH/prfupdate.tmp)" -eq "0" ]
			then
				echo "\n$BLUE_BG$WHITE_FG NOTE:$DEF This option not available for Batch policies\n"; continue 
			fi
			var1=`grep " Environment_Number:=" $TMP_PATH/prfupdate.tmp | tail -1 | awk -F= '{print $2}'`; var1_="Environment_Number"
			if [ `echo "$var1" | grep -c " "` -gt "0" ]
			then
				tvar="$var1"; var1=`echo "$tvar" | sed -n "s/ /^/"gp`
			fi
			var2=`grep " Base_Group_Name:=" $TMP_PATH/prfupdate.tmp | tail -1 | awk -F= '{print $2}'`; var2_="Base_Group_Name"
			if [ `echo "$var2" | grep -c " "` -gt "0" ]
                        then
                                tvar="$var2"; var2=`echo "$tvar" | sed -n "s/ /^/"gp`
                        fi
			var3=`grep " Sub_Group_Numbers:=" $TMP_PATH/prfupdate.tmp | tail -1 | awk -F= '{print $2}'`; var3_="Sub_Group_Numbers"
			if [ `echo "$var3" | grep -c " "` -gt "0" ]
                        then
                                tvar="$var3"; var3=`echo "$tvar" | sed -n "s/ /^/"gp`
                        fi
			var4=`grep " Select_Flags:=" $TMP_PATH/prfupdate.tmp | tail -1 | awk -F: '{print $2}' | cut -b 2-99`; var4_="Select_Flags"
			if [ `echo "$var4" | grep -c " "` -gt "0" ]
                        then
                                tvar="$var4"; var4=`echo "$tvar" | sed -n "s/ /^/"gp`
                        fi
			var5=`grep " View_Flags:=" $TMP_PATH/prfupdate.tmp | tail -1 | awk -F= '{print $2}'`; var5_="View_Flags"
			if [ `echo "$var5" | grep -c " "` -gt "0" ]
                        then
                                tvar="$var5"; var5=`echo "$tvar" | sed -n "s/ /^/"gp`
                        fi
#ADAM
#			var6=`egrep " Tapeout_Flags:=| Migration_Flags:=" $TMP_PATH/prfupdate.tmp | tail -1 | awk -F= '{print $2}' | cut -b 1-999`; var6_="Migration_Flags"
			var6=`egrep " Tapeout_Flags:=| Migration_Flags:=" $TMP_PATH/prfupdate.tmp | tail -1 | awk -F:= '{print $2}' | cut -b 1-999`; var6_="Migration_Flags"
			if [ `echo "$var6" | grep -c " "` -gt "0" ]
                        then
                                tvar="$var6"; var6=`echo "$tvar" | sed -n "s/ /^/"gp`
                        fi
			bprfile_=`echo $bprfile | awk -F/ '{print $NF}'`; var7="end"; title="Job Policy - $bprfile_"
		elif [ "$input" = "2" ]
		then
			if [ "$(grep -c "Environment_Number:=" $TMP_PATH/prfupdate.tmp)" -eq "0" ]
			then
				echo "\n$BLUE_BG$WHITE_FG NOTE:$DEF This option not available for Batch profiles\n"; continue 
			fi

			grpx_=`grep " Base_Group_Name:=" $TMP_PATH/prfupdate.tmp | tail -1 | awk -F= '{print $2}'`
			if [ "$(grep " Migration_Flags:=" $TMP_PATH/prfupdate.tmp | tail -1 | grep -c "-server")" -eq "0" ]
			then
				clients="$(egrep "^$grpx_," $CFG | awk -F, '{print "\033[36;1m Group:\033[0m "$1"\033[36;1m Stage-Path:\033[0m "$10"\033[36;1m Export-Policy:\033[0m "$12"\033[36;1m Dom/Client:\033[0m "$4"/"$5"\033[36;1m \033[0m"}')"
				clients_dis="$(egrep "^#DISABLED $grpx_," $CFG | awk -F, '{print "\033[36;1m Group:\033[31;1m "$1"\033[36;1m Stage-Path:\033[0m "$10"\033[36;1m Expor-Policy:\033[0m "$12"\033[36;1m Dom/Client:\033[31;1m "$4"/"$5"\033[0m"}')"
			else
				clients="$(egrep "^$grpx_," $CFG | awk -F, '{print "\033[36;1m Group:\033[0m "$1"\033[36;1m Stage-Path:\033[0m "$10"\033[36;1m Export-Policy:\033[0m "$14"\033[36;1m Dom/Client:\033[0m "$4"/"$5"\033[36;1m \033[0m"}')"
				clients_dis="$(egrep "^#DISABLED $grpx_," $CFG | awk -F, '{print "\033[36;1m Group:\033[31;1m "$1"\033[36;1m Stage-Path:\033[0m "$10"\033[36;1m Expor-Policy:\033[0m "$14"\033[36;1m Dom/Client:\033[31;1m "$4"/"$5"\033[0m"}')"
			fi
			echo "\n$GREEN_FG$clients"
			if [ "$clients_dis" != "" ];then echo "$RED_FG$clients_dis"; fi
			echo "\n$DEF <Press Enter to Continue>"; read
			continue
		elif [ "$input" = "3" ]
		then
			Itemx="$(echo "$bprfile" | awk -F/ '{print $NF}')"
			execute_now_rtn $Itemx
			break
		elif [ "$input" = "4" ]
		then
			if [ "$(grep -c "Environment_Number:=" $TMP_PATH/prfupdate.tmp)" -eq "0" ]
			then
				echo "\n$BLUE_BG$WHITE_FG NOTE:$DEF This option not available for Batch profiles\n"; continue 
			fi
			last_run_rtn $prof_log
			echo; continue
		elif [ "$input" = "5" ]
		then
			if [ "$(grep -c "Environment_Number:=" $TMP_PATH/prfupdate.tmp)" -eq "0" ]
			then
				echo "\n$BLUE_BG$WHITE_FG NOTE:$DEF This option not available for Batch profiles\n"; continue 
			fi
			history_rtn $(echo "$prof_log" | awk -F/ '{print $NF}')
			input=""
			echo; break
		else
			echo "\n$RED_FG Input Invalid$DEF"; sleep 1; continue
		fi
		echo "\n$BLUE_BG$WHITE_FG Processing $title$DEF\n"
		for v in `echo -E "$var1$car$var1_ $var2$car$var2_ $var3$car$var3_ $var4$car$var4_ $var5$car$var5_ $var6$car$var6_ $var7$car$var7_ $var8$car$var8_ "`
		do
				varx=`echo "$v" | awk -F+ '{print $1}'`; varname=`echo "$v" | awk -F+ '{print $2}'`
			if [ "$varx" = "end" ];then break; fi
			linex=`grep " $varname:=" $TMP_PATH/prfupdate.tmp | tail -1 | awk '{print $1}'`
			if [ `echo "$varx" | grep -c "\^"` -gt "0" ]
			then
				varx_=`echo "$varx" | sed -n "s/\^/ /"gp`
			else
				varx_="$varx"
			fi
   			echo "$CYAN_FG Enter new value or press enter for default Q=Quit [$GREEN_FG$varname=$WHITE_FG`echo -E "$varx_"`$CYAN_FG]:$DEF > \c"; read ipvarx_
			if [ `echo "$ipvarx_" | grep -c "-"` -gt "0" ];then ipvarx=`echo "$ipvarx_" | sed -n "s/-/+/"gp`; else ipvarx="$ipvarx_"; fi	
			if [ "$ipvarx" = "Q" -o "$ipvarx" = "q" ];then break; fi
			if [ "$ipvarx" = "" ]; then ipvarx="$varx_"; else modify=1; fi
			ipvarx_="$ipvarx"
 			if [ `echo "$ipvarx_" | grep -c "+"` -gt "0" ];then ipvarx=`echo -E "$ipvarx_" | sed -n "s/+/-/"gp`; else ipvarx="$ipvarx_"; fi	

			if [ "$linex" -eq "1" ]
			then
				echo "$linex $varname:=$ipvarx" > $TMP_PATH/prfupdate.tmp2
				sed -n "2,$last"p $TMP_PATH/prfupdate.tmp >> $TMP_PATH/prfupdate.tmp2
			else
				linea=`expr $linex - 1`; lineb=`expr $linex + 1`
				sed -n "1,$linea"p $TMP_PATH/prfupdate.tmp > $TMP_PATH/prfupdate.tmp2
				echo "$linex $varname:=$ipvarx" >> $TMP_PATH/prfupdate.tmp2
				sed -n "$lineb,$last"p $TMP_PATH/prfupdate.tmp >> $TMP_PATH/prfupdate.tmp2
			fi
			mv $TMP_PATH/prfupdate.tmp2 $TMP_PATH/prfupdate.tmp
		done
	done
}

health_rtn()
{
if [ "$Debug" -ge "6" ]
        then
                echo "TRACE: Enabled health_rtn()"; set -x
        fi

	display=$1; datex="`date +'%m-%d-%y-%H-%M-%S'`"; hostx="`hostname`"; linea=1
	mkdir -p $BULOCATION/health >/dev/null 2>&1
	filex="$BULOCATION/health/atohealth-check.txt"
	filex2="$BULOCATION/health/atohealth-check.txt2"
	rm $filex >/dev/null 2>&1
	echo ">>> Performing ADMe Health Check for HOSTNAME: $hostx DATE: $datex" | tee -a $filex
#	if [ -s $BULOCATION/customize/envcount.txt ];then envlimit="$(head -1 $BULOCATION/customize/envcount.txt | awk '{print $1}')"; else envlimit=20; fi
	envlimit="$MAXENVCOUNT"
	ENVCFG_="$ENVCFG"; envcntx=1
	while true
	do
		if [ "$envcntx" -eq "1" ];then y=""; else y="$envcntx"; fi
		if [ "$envcntx" -gt "$envlimit" ];then break; fi
		echo "$GREEN_FG Verifying availability and parsing environment files, please wait [$WHITE_FG file-$envcntx $GREEN_FG] $DEF \r\c"
		ENVCFG="$ENVCFG_$y"
		envcntx="$(expr $envcntx + 1)"

		if [ -s $ENVCFG ]
		then
			Cfg=$y
			if [ "$Cfg" -eq "20" ];then continue; fi
			if [ "$display" = "display" ]
			then
				cat $ENVCFG 2>/dev/null | tee -a $filex
                                echo "" | tee -a $filex 
				parse2_rtn $y | tee -a $filex
			else 
				cat $ENVCFG >> $filex 2>/dev/null
				echo "" >> $filex
				parse2_rtn $y  >> $filex
			fi
			lineb=`wc -l $filex | awk '{print $1}'`
			status=`sed -n "$linea,$lineb"p $filex | grep "Parse Failure:"`
			if [ "$status" != "" ]
			then
				echo "\n$ERRORX-00 Environment File Name: [$WHITE_FG atoenv.cfg$y ]$RED_FG failed to parse correctly$DEF\n"
				echo "$status$DEF"
			fi
		else
			continue
		fi
		linea=`expr $lineb + 1`
	done
	ENVCFG="$ENVCFG_"
	echo "$GREEN_FG Verifying availability and parsing client configuration file, please wait... $DEF \r\c"
	if [ "$display" = "display" ]
        then
		$HOMEPATH/adme -cfg parse noclear | tee -a $filex 
	else
		$HOMEPATH/adme -cfg parse noclear >> $filex
	fi
	status=`sed -n "$linea,9999"p $filex | grep "Parse Failure:"`
	if [ "$status" != "" ]
	then
		echo "\n\n$ERRORX-00 Client Configuration File Name: [$WHITE_FG admeclient.cfg$RED_FG ] failed to parse correctly$DEF"
		echo "$status$DEF"
	fi

	echo "\nWeb-UI-Status: " >> $filex
	gui_rtn status >> $filex
	
	echo "\n>>> COMPLETION STATUS OF THE LAST BATCH JOB EXECUTION:" | tee -a $filex
	batchlogs=`ls -rtl $BULOCATION/log/admbatch-*.log | awk '{print $NF}'`
	for x in `echo "$batchlogs"`
	do
		if [ -s $x ]
		then
			linex=`tail -1 $x`; filename=`echo "$x" | awk -F/ '{print $NF}'`
			if [ `echo "$linex" | grep -c "FAILURE:"` -gt "0" ]
			then
				echo "CHECK-LAST-STATUS-JOB-LOG:$GREEN_FG $filename$DEF" | tee -a $filex
				echo "$linex" >> $filex
			else
				echo "CHECK-LAST-STATUS-JOB-LOG:$GREEN_FG $filename$DEF" >> $filex 
				echo "$linex" >> $filex
			fi
		fi
	done
#	echo "Credentials:\n" >>  $filex;  cat $BULOCATION/... >> $filex; cat $BULOCATION/.... >> $filex
	/usr/local/avamar/bin/adme -env summary noprompt  >> $filex 2>&1
	if [ "$1" != "noprompt" ]
	then
		while true
		do
			echo "\n\n$CYAN_FG Would you like to review the complete health check results? Y=Yes, Q=Quit :$DEF> \c"; read input
			if [ "$input" = "N" -o "$input" = "n" -o "$input" = "Q" -o "$input" = "q" ]; then return	
			elif [ "$input" = "" ];then continue; fi
			more $filex 
		done
	else
		sed -r "s:\x1B\[[0-9;]*[mK]::g" $filex > $filex2 2>&1; mv $filex2 $filex 2>/dev/null
		echo "\n$GREEN_FG Results saved in: $filex $DEF\n"
	fi
}

filelist_rtn()
{
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled filelist_rtn()"; set -x
	fi
	while true
	do
		echo "$DEF\n1) Environment Files\n2) Client Configuration Files\n3) Batch Jobs\n4) Batch Logs\n5) Event Logs\n6) Batch Script & Lock Temp Files\n7) Backups\n8) Grab Files\n9) Environment Temp Files\n10) Audit File\n11) Job Stats\n12) Stats\n13) Web-UI\n\n0) All Files\n"
		echo "$CYAN_FG Enter File-Type# to display or [$WHITE_FG Def=Quit $CYAN_FG]: $DEF> \c"; read input
		if [ "$input" = "" -o "$input" = "Q" -o "$input" = "q" ];then break; fi
		if [ "$input" = "1" -o "$input" = "0" ]
		then
			echo "$CYAN_FG Environment Files$GREEN_FG"
			ls -l $BULOCATION/etc/atoenv.cfg* 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}'
		fi
		if [ "$input" = "2" -o "$input" = "0" ]
		then
			echo "$CYAN_FG Client Configuration Files$GREEN_FG"
			ls -l $BULOCATION/etc/admeclient.cfg* 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}'
		fi
		if [ "$input" = "3" -o "$input" = "0" ]
		then
			echo "$CYAN_FG Batch Jobs$GREEN_FG"
			ls -l $BULOCATION/etc/admbatch*.cfg 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}'
		fi
		if [ "$input" = "4" -o "$input" = "0" ]
                then
			echo "$CYAN_FG Batch Logs$GREEN_FG"
			ls -l $BULOCATION/log/admbatch*.log 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}'
		fi
		if [ "$input" = "5" -o "$input" = "0" ]
                then
			echo "$CYAN_FG Event Logs$GREEN_FG"
			ls -l $BULOCATION/log/atoevent.log* 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}'
		fi
		if [ "$input" = "6" -o "$input" = "0" ]
                then
			echo "$CYAN_FG Batch Script/Lock Temp Files$GREEN_FG"
			ls -l /tmp/admbatch* 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}'
		fi
		if [ "$input" = "7" -o "$input" = "0" ]
                then
			echo "$CYAN_FG Backup Files$GREEN_FG"
			ls -rtl $BULOCATION/backups/admebackup* 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}'
		fi
		if [ "$input" = "8" -o "$input" = "0" ]
                then
			echo "$CYAN_FG Grab Files$GREEN_FG"
			ls -rtl $BULOCATION/grabs/admegrab* 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}'
		fi
		if [ "$input" = "9" -o "$input" = "0" ]
                then
			echo "$CYAN_FG Environment Temp Files$GREEN_FG"
			ls -l $BULOCATION/tmp/atocfg* 2>/dev/null
		fi
		if [ "$input" = "10" -o "$input" = "0" ]
                then
			echo "$CYAN_FG Audit File$GREEN_FG"
			ls -l $BULOCATION/audit/.adme-audit.csv 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}' 
		fi
		if [ "$input" = "11" -o "$input" = "0" ]
                then
			echo "$CYAN_FG JobStat Files$GREEN_FG"
			ls -l $BULOCATION/jobstats/* 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}' 
		fi
		if [ "$input" = "12" -o "$input" = "0" ]
                then
			echo "$CYAN_FG Stat Files$GREEN_FG"
			ls -l $BULOCATION/stats/* 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}' 
		fi
		if [ "$input" = "13" -o "$input" = "0" ]
                then
			echo "$CYAN_FG Stat Files$GREEN_FG"
			ls -l $BULOCATION/log/webui* 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}' 
			ls -l $BULOCATION/log/nohup* 2>/dev/null | awk '{print $5,$6,$7,$8,$9,$10}' 
		fi
		
	done
}

remove_codes()
{
        filex="$1"; xtnx="$2"
	blogs=`ls -rtl $filex | awk '{print $NF}'`
	for b in `echo "$blogs"`
	do
		envnum=""
		if [ `echo "$b" | grep -c "atoevent.log"` -eq "1" ]
		then
			envnum=`echo "$b" | awk -F. '{print $2}' | sed -n "s/log//"p` 
		fi
		bx=`echo "$b" | awk -F. '{print $1}'`
		cat $b | sed -r "s:\x1B\[[0-9;]*[mK]::g" > $bx$xtnx$envnum 2>&1
	done
}

mail_file_rtn()
{
        ftype="$1"; fnum="$2"; destaddr=""; s="s"

	if [ "$bumail_flg" -ne "1" ]
	then
		if [ "$Prompt" = "nomail" ];then return
		elif [ "$Prompt" != "noprompt" ]
		then
        		echo "\n$CYAN_FG Would you like to email this $ftype file? Enter Y/N [$WHITE_FG Def=N $CYAN_FG] :> $DEF\c"; read destaddr
		fi
	fi
	if [ "$Prompt" = "noprompt" ]
	then
		destaddr="y"; bumail_flg="1"
	fi

        if [ "$destaddr" = "Y" -o "$destaddr" = "y" ]
        then
		mailadr=$(grep "^MAIL_TO=" $ENVCFG | tail -1 | awk -F= '{print $2}')
		if [ "$ftype" = "grabs" ];then mailadr="$mailadr"; fi

		if [ "$bumail_flg" -eq "1" ]
		then
			destaddr="$bumail"
		elif [ "$Prompt" != "noprompt" ]
		then
                	echo "\n$CYAN_FG Enter destination email address(s) or press enter to accept default [$WHITE_FG $mailadr $CYAN_FG]:> \c$DEF"; read destaddr
                	if [ "$destaddr" = "" ];then destaddr="$mailadr"; fi
		fi
                if [ "$destaddr" = "" ];then destaddr="$mailadr"; fi
		if [ "$destaddr" != "" ]
		then
			if [ "$(echo "$ftype" | grep -c "Env-Summary-Report")" -eq "1" ]
			then
				filex="$fnum"; ftype="Env-Summary-Report"
				echo "This report provides a breakdown of job allocations to the available staging thread(s) along with pertient last-run statistics" > $TMP_PATH/userinstructions.txt
			elif [ "$(echo "$ftype" | grep -c "ADMe-Stats-CSV")" -eq "1" ]
			then
				filex="$fnum"; ftype="ADMe-Stats-CSV"
				echo "User Instructions:\n\n1. Save the attachments to a folder named C:\\ADME\n2. Open the spreadsheet and click on the green Import Button to import the csv files" > $TMP_PATH/userinstructions.txt
			elif [ "$(echo "$ftype" | grep -c "ADMe-Audit-CSV")" -eq "1" ]
			then
				filex="$fnum"; ftype="ADMe-Audit-CSV"
				echo "User Instructions:\n\n1. Save the attachments to a folder named C:\\ADME\n2. Open the spreadsheet and click on the green Import Button to import the csv files" > $TMP_PATH/userinstructions.txt
			elif [ "$(echo "$ftype" | grep -c "grabs")" -eq "1" ]
			then
				ftype="ADMe-GRAB"
				echo "Grab files are used for problem diagnosis and should be attached to a Dell EMC Support Case when applicable" > $TMP_PATH/userinstructions.txt
				if [ -s $fnum ];then filex="$fnum"
				elif [ "$fnum" -ge "1" ];then filex="$BULOCATION/grabs/$(ls -rtl $BULOCATION/grabs/admegrab-*.* | head -$fnum | tail -1 | awk -F/ '{print $NF}')"; fi
			elif [ "$(echo "$ftype" | grep -c "backups")" -eq "1" ]
			then
				echo "Backup files are used to protect an ADMe setup & configuration, rollbacks from it can be performed when required.\nThis file should be protected." > $TMP_PATH/userinstructions.txt
				ftype="ADMe-BACKUP"
				if [ -s $fnum ];then filex="$fnum"
				elif [ "$fnum" -ge "1" ];then filex="$BULOCATION/backups/$(ls -rtl $BULOCATION/backups/admebackup-*.* | head -$fnum | tail -1 | awk -F/ '{print $NF}')"; fi
			fi

			if [ ! -s /etc/SuSE-release -a ! -s /usr/bin/mailx ]
			then
                		mutt $destaddr -s "ADMe $ftype from $(hostname -f)" -a $filex </dev/null
			else
				if [ "$ftype" != "Env-Summary-Report" ]
				then
					$CMD_mail -s "ADMe $ftype from $(hostname -f)" -a $filex -r $MAIL_FROM $destaddr < $TMP_PATH/userinstructions.txt
				else
					$CMD_mail -s "ADMe $ftype from $(hostname -f)" -a $fnum -r $MAIL_FROM $destaddr < $TMP_PATH/userinstructions.txt
				fi
			fi
			echo "\n$CYAN_FG File Sent:$GREEN_FG $filex$CYAN_FG To:$GREEN_FG $destaddr $DEF"
		fi
        fi
}

menu_lock_rtn()
{
	echo
	while true
	do
		if [ ! -f $BULOCATION/customize/menulock.txt ];then status="Enabled"; else status="Disabled"; fi
		echo "\n$CYAN_FG Menu-Lock Enforcement Status: [$WHITE_FG$MENULOCK$CYAN_FG] Enter$WHITE_FG D$CYAN_FG=Disable$WHITE_FG E$CYAN_FG=Enable$WHITE_FG Def=Quit$CYAN_FG :$DEF> \c"; read input
		if [ "$input" = "" -o "$input" = "Q" -o "$input" = "q" ]
		then
			break
		elif [ "$input" = "E" -o "$input" = "e" ]
		then
			
			rm $BULOCATION/customize/menulock.txt >/dev/null 2>&1
		elif [ "$input" = "D" -o "$input" = "d" ]
		then
			touch $BULOCATION/customize/menulock.txt >/dev/null 2>&1
		fi
	done
}

nocalc_rtn()
{
	echo "\n$GREEN_FG Inhibiting calculation of stat counters when working with large client counts helps speed up the UI$DEF"
	while true
	do
		if [ "$CMINHIBITCOUNTERS" = "true" ]
		then
			status="Yes"; Nocalc="1"
		elif [ "$CMINHIBITCOUNTERS" = "false" ]
		then
			status="No"; Nocalc="0"
		fi

		echo "\n$CYAN_FG Inhibit calculation of stat counters [$WHITE_FG$status$CYAN_FG]: Enter$WHITE_FG N$CYAN_FG=Inhibit$WHITE_FG Y$CYAN_FG=Inhibit$WHITE_FG Def=Quit$CYAN_FG :$DEF> \c"; read input
		if [ "$input" = "" -o "$input" = "Q" -o "$input" = "q" ]
		then
			break
		elif [ "$input" = "Y" -o "$input" = "y" ]
		then
			grep -v "^CMINHIBITCOUNTERS=" $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.tmp 
			echo "CMINHIBITCOUNTERS=true" >> $BULOCATION/customize/adme.cfg.tmp; CMINHIBITCOUNTERS="true"
			mv $BULOCATION/customize/adme.cfg.tmp $BULOCATION/customize/adme.cfg >/dev/null 2>&1
			Nocalc="1"	
		elif [ "$input" = "N" -o "$input" = "n" ]
		then
			grep -v "^CMINHIBITCOUNTERS=" $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.tmp 
			echo "CMINHIBITCOUNTERS=false" >> $BULOCATION/customize/adme.cfg.tmp; CMINHIBITCOUNTERS="false"
			mv $BULOCATION/customize/adme.cfg.tmp $BULOCATION/customize/adme.cfg >/dev/null 2>&1
			Nocalc="0"	
		fi
	done
}

maint_rtn()
{
	echo
	while true
	do
		echo "\n$CYAN_FG Maintenance Alert Status: [$WHITE_FG$MAINTDISPLAY$CYAN_FG] Enter$WHITE_FG D$CYAN_FG=Disable$WHITE_FG E$CYAN_FG=Enable$WHITE_FG Def=Quit$CYAN_FG :$DEF> \c"; read input
		if [ "$input" = "" -o "$input" = "Q" -o "$input" = "q" ]
		then
			break
		elif [ "$input" = "E" -o "$input" = "e" ]
		then
			grep -v "^MAINTDISPLAY=" $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.tmp
			echo "MAINTDISPLAY=true" >> $BULOCATION/customize/adme.cfg.tmp; MAINTDISPLAY="true"
			mv $BULOCATION/customize/adme.cfg.tmp $BULOCATION/customize/adme.cfg
		elif [ "$input" = "D" -o "$input" = "d" ]
		then
			grep -v "^MAINTDISPLAY=" $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.tmp
			echo "MAINTDISPLAY=false" >> $BULOCATION/customize/adme.cfg.tmp; MAINTDISPLAY="false"
			mv $BULOCATION/customize/adme.cfg.tmp $BULOCATION/customize/adme.cfg
		fi
	done
}

backup_rtn()
{
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled backup_rtn()"; set -x
	fi
	action="$1"; loop=$2; brkt=")"
	if [ "$action" = "grab" ];then filename="$BULOCATION/grabs/admegrab*.gz"
	elif [ "$action" = "backup" -o "$action" = "rollback" ];then filename="$BULOCATION/backups/admebackup*.gz"
	else
		filename="$BULOCATION/backups/admebackup*.gz"
	fi
	if [ "$action" = "rollback" ]
	then
		ls -rtl $filename  2>/dev/null | awk '{print "\033[32;1m "$NF" \033[0m"}' | grep -n "^" | sed -n "s/:/) /"p > $TMP_PATH/backup_tar.tmp
		backup_default=`ls -rtl $filename 2>/dev/null | awk '{print $NF}' | tail -1`
		echo "\n$CYAN_FG Available ADMe $action files;$DEF\n"
		if [ -s $TMP_PATH/backup_tar.tmp ];then cat $TMP_PATH/backup_tar.tmp; else echo "$RED_FG There are no existing ADMe $action files$DEF"; fi
	fi
	orig_action="$action"
 	while true
 	do
		if [ "$action" = "delete" -o "$action" = "backup" -o "$action" = "grab" ]
		then
			if [ "$action" = "grab" ];then filename="$BULOCATION/grabs/admegrab*.gz"
			elif [ "$action" = "backup" -o "$action" = "rollback" ];then filename="$BULOCATION/backups/admebackup*.gz"
			else
				filename="$BULOCATION/backups/admebackup*.gz"
			fi
			ls -rtl $filename  2>/dev/null | awk '{print "\033[32;1m "$NF" \033[0m"}' | grep -n "^" | sed -n "s/:/) /"p > $TMP_PATH/backup_tar.tmp
			backup_default=`ls -rtl $filename 2>/dev/null | awk '{print $NF}' | tail -1`
			echo "\n$CYAN_FG Available ADMe $action files;$DEF\n"
			if [ "$loop" != "nodisplay" ]
			then
				if [ -s $TMP_PATH/backup_tar.tmp ];then cat $TMP_PATH/backup_tar.tmp; else echo "$RED_FG There are no existing ADMe $action files$DEF"; fi
			fi
		fi
		if [ "$loop" = "loop" ]
		then
			if [ "$action" != "grab" ]
			then
				echo "\n$CYAN_FG Enter:>$WHITE_FG B$CYAN_FG=Backup$WHITE_FG D$CYAN_FG=Delete$WHITE_FG M$CYAN_FG=Email$WHITE_FG R$CYAN_FG=RollBack$WHITE_FG Q$CYAN_FG=Quit :$DEF > \c"; read input
				if [ "$input" != "B" -a "$input" != "b" -a "$input" != "D" -a "$input" != "d" -a "$input" != "R" -a "$input" != "r" -a "$input" != "Q" -a "$input" != "q" -a "$input" != "M" -a "$input" != "m" ]
				then
					orig_action="backup"
					if [ "$input" = "" ];then break; fi
					echo "\n$RED_FG Input Invalid$DEF"; sleep 1; continue
				fi
			elif [ "$action" = "grab" ]
			then
				echo "\n$CYAN_FG Enter:>$WHITE_FG G$CYAN_FG=Grab$WHITE_FG D$CYAN_FG=Delete$WHITE_FG M$CYAN_FG=Email$WHITE_FG Q$CYAN_FG=Quit [$WHITE_FG Def=Quit $CYAN_FG]:$DEF > \c"; read input
				if [ "$input" != "G" -a "$input" != "g" -a "$input" != "D" -a "$input" != "d" -a "$input" != "Q" -a "$input" != "q" -a "$input" != "M" -a "$input" != "m" ]
				then
					orig_action="grab"
					if [ "$input" = "" ];then break; fi
					echo "\n$RED_FG Input Invalid$DEF"; sleep 1; continue
				fi
			fi
			if [ "$input" = "" -o "$input" = "q" -o "$input" = "Q" ];then break
			elif [ "$input" = "B" -o "$input" = "b" ];then action="backup"
			elif [ "$input" = "R" -o "$input" = "r" ];then action="rollback"
			elif [ "$input" = "G" -o "$input" = "g" ];then action="grab"
			elif [ "$input" = "D" -o "$input" = "d" ];then action="delete"
			elif [ "$input" = "M" -o "$input" = "m" ];then action="email"
			else
				echo "\n$RED_FG Input Invalid$DEF"; sleep 1; continue
			fi
		fi
		if [ "$action" = "rollback" -o "$action" = "-rollback" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
 			while true
 			do
				echo "\n$CYAN_FG Enter File# to ROLLBACK from list displayed or$WHITE_FG Q$CYAN_FG=Quit [$WHITE_FG Def=Quit $CYAN_FG]: >$DEF \c"; read filex
				if [ "$filex" = "Q" -o "$filex" = "q" -o "$filex" = "" ];then break; fi
				if [ "$filex" -lt "1" -o "filex" -gt "999" ]
				then
					echo "\n$RED_FG Input Invalid$DEF"; sleep 1; continue
				fi
				filex_=`grep "^$filex$brkt" $TMP_PATH/backup_tar.tmp | awk '{print $3}'`
				echo "$DEF\n1) Environment File\n2) Client Configuration File\n3) Job Policies\n4) Job Logs\n5) Event Logs\n6) ADMe Script\n0) All Files\n"
				echo "\n$CYAN_FG Enter file selection# to ROLLBACK Q=Quit [$WHITE_FG Def=Quit $CYAN_FG]: >$DEF \c"; read rolex
				if [ "$rolex" = "Q" -o "$rolex" = "q" -o "$rolex" = "" ];then break; fi
				if [ -s $filex_ ]
				then
					if [ "$rolex" = "1" ]
					then
						echo "\n$CYAN_FG Enter environemnt number to use 1-20 [$WHITE_FG Def=1$CYAN_FG ]:$DEF >\c"; read envx
						if [ "$envx" = "1" ];then envx=""; fi
						tar Pxfz $filex_ $BULOCATION/etc/atoenv.cfg$envx >/dev/null 2>&1
					elif [ "$rolex" = "2" ];then tar Pxfz $filex_ $BULOCATION/etc/admeclient.cfg >/dev/null 2>&1
					elif [ "$rolex" = "3" ];then tar Pxfz $filex_ $BULOCATION/etc/admbatch-*.cfg >/dev/null 2>&1
					elif [ "$rolex" = "4" ];then tar Pxfz $filex_ $BULOCATION/log/admbatch-*.log >/dev/null 2>&1
					elif [ "$rolex" = "5" ]
                                        then
						echo "\n$CYAN_FG Enter environemnt number to use 1-XX [$WHITE_FG Def=1$CYAN_FG ]:$DEF >\c"; read envx
						if [ "$envx" = "1" ];then envx=""; fi
						tar Pxfz $filex_ $BULOCATION/log/atoevent.log$envx >/dev/null 2>&1
					elif [ "$rolex" = "6" ];then tar Pxfz $filex_ /usr/local/avamar/bin/adme >/dev/null 2>&1
					elif [ "$rolex" = "0" ];then tar Pxfz $filex_ >/dev/null 2>&1
					else
						echo "\n$RED_FG Input Invalid$DEF"; sleep 1; continue
					fi
					status=$?
					if [ "$status" -ne "0" ]
					then
						echo  "\n$ERRORX-00: Non zero RC=[$WHITE_FG$status$RED_FG] during rollback using file [$WHITE_FG$filex$RED_FG]$DEF"
						continue
					else
						echo "\n$CYAN_FG Rollback from backup file [$WHITE_FG$filex_$CYAN_FG] completed successfuly$DEF"
						echo "\n$RED_FG WARNING:  After performing a rollbackup you must exit ADMe and restart it$DEF"
						break	
					fi
				else
					echo  "\n$ERRORX-00: Selected rollback file [$WHITE_FG$filex_$RED_FG] not found"
				fi
 			done
 			if [ "$loop" != "loop" ];then break; fi
		elif [ "$action" = "delete" ]
		then
			echo "\n$CYAN_FG Enter File# to DELETE from list displayed or Q=Quit [$WHITE_FG Def=1 $CYAN_FG]: >$DEF \c"; read filex
			if [ "$filex" = "Q" -o "$filex" = "q" ];then break; fi
			if [ "$filex" = "" ]; then filex=1; fi
			if [ "$filex" -lt "1" -o "$filex" -gt "999" ]
			then
				echo "\n$RED_FG Input Invalid$DEF"; sleep 1; continue
			fi
			filex_=`grep "^$filex$brkt" $TMP_PATH/backup_tar.tmp | awk '{print $3}'`
			rm -f $filex_ >/dev/null 2>&1
			echo "\n$CYAN_FG File Deleted:$GREEN_FG $filex_ $DEF" 
			action="$orig_action"
		elif [ "$action" = "email" ]
		then
			echo "\n$CYAN_FG Enter File# to EMAIL from list displayed or Q=Quit [$WHITE_FG Def=1 $CYAN_FG]: >$DEF \c"; read filex
			if [ "$filex" = "Q" -o "$filex" = "q" ];then break; fi
			if [ "$filex" = "" ]; then filex=1; fi
			if [ "$filex" -lt "1" -o "$filex" -gt "999" ]
			then
				echo "\n$RED_FG Input Invalid$DEF"; sleep 1; continue
			fi
			filex_=`grep "^$filex$brkt" $TMP_PATH/backup_tar.tmp | awk '{print $3}'`
			if [ $(echo "$filex_" | grep -c "admebackup") -eq "1" ];then ftype_="backups"; else ftype_="grabs"; fi
			mail_file_rtn $ftype_ $filex
			action="$orig_action"
		elif [ "$action" = "backup" -o "$action" = "-backup" ]
		then
			backupfiles="$BULOCATION/etc $BULOCATION/jobstats/*.csv $BULOCATION/log/a* $BULOCATION/customize $BULOCATION/tmp/ato* /tmp/atotrace* $HOMEPATH/adme $HOMEPATH/atopnpc /nsr/res/*.res /usr/openv/netbackup/bpstart_notify  /usr/openv/netbackup/bpend_notify* $BULOCATION/*.txt $BULOCATION/audit "
        		datex="`date +'%m-%d-%y-%H-%M-%S'`"; hostx="`hostname`"
			mkdir -p $BULOCATION/backups >/dev/null 2>&1
        		tar Pcf $BULOCATION/backups/admebackup-$hostx-$datex.tar $backupfiles >/dev/null 2>&1
        		gzip -9 -f $BULOCATION/backups/admebackup-$hostx-$datex.tar >/dev/null 2>&1
			echo "\n$CYAN_FG New Backup File Created:$GREEN_FG $BULOCATION/backups/admebackup-$hostx-$datex.tar.gz$DEF"
			mail_file_rtn backups 999
			bufile="$(ls -rtl $BULOCATION/backups | tail -1 | awk '{print $NF}')"
			$HOMEPATH/avtar -c --nocache --acnt=/ADME/ADMEbackups --label=ADME-Backup --expires=365 $AVTAR_credential $Use_DD $BULOCATION/backups/$bufile > /dev/null 2>&1
			if [ "$?" -eq "0" ];then echo "\n$CYAN_FG Backup file has been saved to Avamar account:$GREEN_FG /ADME/ADMEbackups$DEF for 365 days$DEF"; else echo "\n$ERRORX: Backup file has failed to save to Avamar account:$WHITE_FG /ADME/ADMEbackups$RED_FG for 365 days$DEF"; fi
			if [ "$loop" != "loop" ];then break; fi
		elif [ "$action" = "grab" -o "$action" = "-grab" ]
		then
			echo "\nPerforming health check, Please Wait..."
#			health_rtn noprompt >/dev/null 2>&1
			health_rtn noprompt 
			remove_codes "$BULOCATION/log/admbatch-*.log" ".Log"
			remove_codes $BULOCATION/log"/atoevent.log*" ".Log"
			grabfiles="/usr/local/avamar/bin/adme /usr/local/avamar/bin/atopnpc $BULOCATION/customize $BULOCATION/scripts $BULOCATION/stats $BULOCATION/jobstats $BULOCATION/etc $BULOCATION/log/*.L* $BULOCATION/tmp/ato* /tmp/atotrace* $BULOCATION/health $BULOCATION/jobstats/* $BULOCATION/stats/* $BULOCATION/log/webui* $BULOCATION/log/nohup* /var/spool/cron/admin /var/spool/cron/tabs/root /nsr/res/*.res /nsr/logs/savepnpc.log /usr/local/avamar/etc/usersettings.cfg /root/.avamardata/var/mc/cli_data/prefs/mcclimcs.xml /usr/openv/netbackup/bpstart_notify /usr/openv/netbackup/bpend_notify* /usr/local/avamar/var/probe.xml $BULOCATION/.admeupgrade.dat $BULOCATION/*.txt /nsr/tmp/nwutil-* /etc/hosts /etc/mail.rc $BULOCATION/audit/.adme-audit.csv $BULOCATION/audit/.checksum"
        		datex="`date +'%m-%d-%y-%H-%M-%S'`"; hostx="`hostname`"
			mkdir -p $BULOCATION/grabs >/dev/null 2>&1
        		tar cf $BULOCATION/grabs/admegrab-$hostx-$datex.tar $grabfiles >/dev/null 2>&1
       			gzip -9 -f $BULOCATION/grabs/admegrab-$hostx-$datex.tar  >/dev/null 2>&1
			rm -rf $BULOCATION/log/admbatch-*.Log >/dev/null 2>&1
			rm -rf $BULOCATION/log/atoevent.Log* >/dev/null 2>&1
			echo "\n$CYAN_FG New Grab File Created:$GREEN_FG $BULOCATION/grabs/admegrab-$hostx-$datex.tar.gz$DEF"
			mail_file_rtn grabs 999
			if [ "$loop" != "loop" ];then break; fi
		fi
  	done
	rm -f $TMP_PATH/backup_tar.tmp >/dev/null 2>&1
}

setpermissions_rtn()
{
	chmod 760 -R $BULOCATION; chown root:root -R $BULOCATION >/dev/null 2>&1
	chmod 640 -R $BULOCATION/audit/*  >/dev/null 2>&1; chown root:root -R $BULOCATION/audit/* >/dev/null 2>&1
	chmod 660 -R $BULOCATION/backups/*  >/dev/null 2>&1; chown admin:admin -R $BULOCATION/backups/* >/dev/null 2>&1 
	chmod 660 -R $BULOCATION/grabs/*  >/dev/null 2>&1; chown admin:admin -R $BULOCATION/grabs/* >/dev/null 2>&1
	chmod 770 -R $BULOCATION/tools/*  >/dev/null 2>&1; chown admin:admin -R $BULOCATION/tools/* >/dev/null 2>&1
	chmod 660 -R $BULOCATION/etc/atoenv*  >/dev/null 2>&1; chown admin:admin -R $BULOCATION/tools/* >/dev/null 2>&1
	chmod 700 $BULOCATION/adme.war  >/dev/null 2>&1; chown root:admin $BULOCATION/adme.war >/dev/null 2>&1
	chmod 500 /usr/local/avamar/bin/adme  >/dev/null 2>&1; chown root:admin /usr/local/avamar/bin/adme >/dev/null 2>&1
	chmod 550 /usr/local/avamar/bin/nwutil  >/dev/null 2>&1; chown admin:admin /usr/local/avamar/bin/nwutil >/dev/null 2>&1
	chmod 550 /usr/local/avamar/bin/atopnpc  >/dev/null 2>&1; chown admin:admin /usr/local/avamar/bin/atopnpc >/dev/null 2>&1
#	chmod 770 -R $BULOCATION > /dev/null 2>&1 
	chmod 660 -R $BULOCATION/audit > /dev/null 2>&1 
	chmod 440 -R $BULOCATION/audit/*.txt > /dev/null 2>&1 
	chmod 440 -R $BULOCATION/audit/.checksum $BULOCATION/audit/... $BULOCATION/audit/.adme-audit.csv > /dev/null 2>&1 
	chmod 770 -R $BULOCATION/customize > /dev/null 2>&1 
	chown admin:admin -R $BULOCATION > /dev/null 2>&1 
}

setup_rtn()
{
	if [ "$(grep -c "^INSTALL-DATE:" $BULOCATION/.admeupgrade.dat)" -ne "0" ]
	then
		a4="$(grep "^INSTALL-DATE:" $BULOCATION/.admeupgrade.dat | head -1 | awk '{print $2}' | md5sum)"
		if [ "$(egrep -c "TRAI|DEPL" $BULOCATION/.admeupgrade.dat)" -ne "0" ]
		then
			egrep -v "TRAI|DEPL" $BULOCATION/.admeupgrade.dat > $BULOCATION/.admeupgrade.dat2
			mv $BULOCATION/.admeupgrade.dat2 $BULOCATION/.admeupgrade.dat 
			echo "$(date +"%Y-%m-%d-%H:%M") $a4" >> $BULOCATION/.admeupgrade.dat
		elif [ "$(grep -c "$a4" $BULOCATION/.admeupgrade.dat)" -eq "0" ]
		then
			a6="1"	
		else
			a6="0"
		fi
	fi

	if [ "$(grep -c "$a4" $BULOCATION/.admeupgrade.dat)" -eq "0" -o "$a6" -eq "1" ]
	then
		if [ "$(grep -c "$a1$a2$a3" $BULOCATION/.admeupgrade.dat)" -eq "0" -a "$(grep -c "DEMO-VERSION2-ONLY" $BULOCATION/.admeupgrade.dat)" -eq "0" ]
		then
		rowx="$(stty --all | grep "rows" | awk '{print $5,$7}' | sed -n "s/;//"gp| awk '{print $1}')"
			tput cup $rowx 20; echo "\n$inst$inst2$inst3: $Asciesc "; read i
			tput cup $(expr $rowx - 2) 0; echo "                                                                           "
			a4="$(grep "^INSTALL-DATE:" $BULOCATION/.admeupgrade.dat | head -1 | awk '{print $2}' | md5sum)"
			if [ "$i" = "$a1$a2$a3" ];then echo "$(date +"%Y-%m-%d-%H:%M") $a4" >> $BULOCATION/.admeupgrade.dat
			elif [ "$i" = "DEMO-VERSION2-ONLY" ]
			then 
				if [ ! -f $BULOCATION/audit/.expired ];then echo "$(date +"%Y-%m-%d-%H:%M")-$i:" >> $BULOCATION/.admeupgrade.dat
				else echo "\n$RED_BG$WHITE_FG Demo-Expiry-Period has been reached $DEF\n"; exit 1; fi
			else
				echo "\n$BLUE_BG$WHITE_FG $ms $DEF\n"; exit 1
			fi
		fi
	fi

	if [ "$(grep -c "DEMO-VERSION2-ONLY" $BULOCATION/.admeupgrade.dat)" -gt "0" ]
	then 
		a_01="$(grep "DEMO-VERSION2-ONLY" $BULOCATION/.admeupgrade.dat | head -1 | awk -F: '{print $1}' | cut -b 1-10)"
		date1="$(date -d "$a_01" +"%s")"
		date2="$(date +"%Y-%m-%d")"; date2="$(date -d "$date2" +"%s")"
		a_04="$(expr $date2 - $date1)"; a_04="$(expr $a_04 / 86400)"
		if [ "$a_04" -lt "$Exp" ];then echo "\n$RED_BG$WHITEFG This ADMe install is a DEMO-VERSION2-ONLY$DEF"
		else
			egrep -v "DEMO-VERS" $BULOCATION/.admeupgrade.dat > $BULOCATION/.admeupgrade.dat2
			mv $BULOCATION/.admeupgrade.dat2 $BULOCATION/.admeupgrade.dat 
			touch $BULOCATION/audit/.expired >/dev/null 2>&1
			echo "\n$RED_BG$WHITEFG This ADMe install is a DEMO-VERSION2 - EXPIRED$DEF"; exit
		fi
	fi

	CHK_password="$(grep "^--password=" /usr/local/avamar/etc/usersettings.cfg | awk -F= '{print $2}')"
	if [ `echo $CHK_password | grep -c "\""` -eq 1 ]
	then
        	CHK_password_="$(echo $CHK_password | sed -n "s/\"//"gp)"; CHK_password="$CHK_password_"
	fi

	CHK_user="$(grep "^--id=" /usr/local/avamar/etc/usersettings.cfg | awk -F= '{print $2}')"
	if [ `echo $CHK_user | grep -c "\""` -eq 1 ]
	then
        	CHK_user="$(echo $CHK_user | sed -n "s/\"//"gp)"; CHK_user="$CHK_user"
	fi

	MCS_mcsaddr="$AVAMAR_UTILNODE_NAME"
	pwtape="$(echo "admestat" | md5sum | cut -b 1-10,15-20)"; pwtape=".Z$pwtape"
	if [ -s $BULOCATION/audit/... ];then pwrestore="$(cat $BULOCATION/audit/...| grep "^1=" | awk -F= '{print $2}' | cut -b 4-99)"; fi
	pseudo_domain="$(echo "$snapupoutput" | awk -F/ '{print $2}')"
	MCS_credential="--mcsaddr=$MCS_mcsaddr --mcsuserid=$ckit$ckit2 --mcspasswd=$pw"

	AVTAR_credential="--hfsaddr=$MCS_mcsaddr --id=$ckit$ckit2 --password=$pw"
	TAPE_credential="--hfsaddr=$MCS_mcsaddr --id=admestat@/$pseudo_domain --password=$pwtape"
	RESTORE_u="admerestore@/"; RESTORE_pw="$pwrestore"
	AVMAINT_credential="--id=$CHK_user@avamar --ap=$CHK_password --hfsaddr=$AVAMAR_UTILNODE_NAME"
	if [ ! -s $BULOCATION/audit/.checksum ]
        then
                md5="$(md5sum /usr/local/avamar/bin/adme)"; echo "$md5 $today" > $BULOCATION/audit/.checksum 2>&1
        else
                if [ ! -f $BULOCATION/.nochecksum ]
                then
                        lastcheck="$(grep -v "^checksum"  $BULOCATION/audit/.checksum |awk '{print $1}')"
                        thischeck="$(md5sum /usr/local/avamar/bin/adme | awk '{print $1}')"
                        if [ "$lastcheck" != "$thischeck" ]
                        then
                                if [ "$(wc -l $BULOCATION/audit/.checksum | awk '{print $1}')" -gt "3" ]
                                then
                                        tail -1 $BULOCATION/audit/.checksum
                                        exit 1
                                fi
                                echo "checksum failed $today [$(wc -l $BULOCATION/audit/.checksum | awk '{print $1}')]" >> $BULOCATION/audit/.checksum
                                tail -5 $BULOCATION/audit/.checksum
                        fi
                else
                        grep -v "checksum failed" $BULOCATION/audit/.checksum > $BULOCATION/audit/.checksum.clear
                        mv $BULOCATION/audit/.checksum.clear $BULOCATION/audit/.checksum >/dev/null 2>&1
                fi
        fi
}

security_rtn()
{

	echo
	session_lock_rtn2 block; if [ "$?" -eq "1" ];then return; fi

	while true
	do
		status="$SECURTITYMODE"
		if [ "$Security_Refresh" -ne "1" ]
		then
			echo "\n$CYAN_FG Credential-Refresh [$WHITE_FG$SECURITYMODE$CYAN_FG]: Enter$WHITE_FG E$CYAN_FG=Enhanced$WHITE_FG R$CYAN_FG=Refresh$WHITE_FG Def=Quit$CYAN_FG :$DEF> \c"; read input
		else
			input="R"
		fi

		if [ "$input" = "" -o "$input" = "Q" -o "$input" = "q" ]
		then
			break
#		elif [ "$input" = "L" -o "$input" = "l" ]
#		then
#			grep -v "^SECURITYMODE=" $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.tmp
#			echo "SECURITYMODE=low" >> $BULOCATION/customize/adme.cfg.tmp; SECURITYMODE="low"
#			mv $BULOCATION/customize/adme.cfg.tmp $BULOCATION/customize/adme.cfg >/dev/null
#		elif [ "$input" = "M" -o "$input" = "m" ]
#		then
#			grep -v "^SECURITYMODE=" $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.tmp
#			echo "SECURITYMODE=medium" >> $BULOCATION/customize/adme.cfg.tmp; SECURITYMODE="medium"
#			mv $BULOCATION/customize/adme.cfg.tmp $BULOCATION/customize/adme.cfg >/dev/null
		elif [ "$input" = "E" -o "$input" = "e" ]
		then
			grep -v "^SECURITYMODE=" $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.tmp
			echo "SECURITYMODE=enhanced" >> $BULOCATION/customize/adme.cfg.tmp; SECURITYMODE="enhanced"
			mv $BULOCATION/customize/adme.cfg.tmp $BULOCATION/customize/adme.cfg >/dev/null
		elif [ "$input" = "R" -o "$input" = "r" ]
		then
			echo
			echo "$BLUE_BG$WHITE_FG NOTE:$DEF This process may impact currently active ADMe sessions.$DEF"
			if [ "$(ps -ef | egrep -v "avagent.bin|vi ato|vi adme|tail|java|grep" | egrep -c "adme|ato|admbatch|-select|-tapeout|-migrate")" -le "3" ]
			then
				ok="idle"
				echo "\n$GREEN_FG >>> It appears there's NO currently active ADMe sessions $DEF"
			else
				echo "\n$RED_BG$WHITE_FG WARNING:$DEF$RED_FG It appears there may be active ADMe sessions $DEF"
				ok="active"
			fi

			echo "\nThe following command was used to determine whether active ADMe sessions exist, a null return indicates no active sessions:\n\n$WHITE_FG ps -ef | egrep -v \"avagent.bin|vi ato|vi adme|tail|java|grep\" | egrep \"adme|ato|admbatch|-select|-tapeout|-migrate\" $DEF"
			if [ "$Security_Refresh" -ne "1" ]
                	then
				echo "\n$CYAN_FG Confirm it is okay to continue. Enter Y/N [$WHITE_FG Detected-Status=[$ok] Def=N $CYAN_FG] :> $DEF\c"; read confirm
			else
				confirm="y"
			fi
			if [ "$confirm" != "Y" -a "$confirm" != "y" ];then return; fi
			echo "\n$CYAN_FG Please wait while ADMe credentials are refreshed ... $DEF"
			rm -f $BULOCATION/... $BULOCATION/.... >/dev/null 2>&1

			if [ "$Envxsecure" -eq "1" ];then envfiles="$BULOCATION/etc/atoenv.cfg"
			elif [ "$Envxsecure" -gt "1" ];then envfiles="$BULOCATION/etc/atoenv.cfg$Envxsecure"
			else envfiles="$(ls -l $BULOCATION/etc/atoenv.cfg* | awk '{print $NF}')"; fi
			for x in $envfiles
			do
#				echo "Processing encrypted password for environment $x"
				grep -v "^PWX=" $x > $TMP_PATH/nowpwx.tmp
				mv $TMP_PATH/nowpwx.tmp $x
			done
			if [ "$Envxsecure" -ge "1" ]
			then
				echo "Reset of encrypted credentials completed"
				break
			fi

			pseudo_domain="$(grep "^PSEUDOCLIENT=" $BULOCATION/etc/atoenv.cfg | awk -F/ '{print $2}')"
			seed1="$(date +"%s" | md5sum | cut -b 3-5)"
			seed2="$(date +"%s" | md5sum | cut -b 5-7)"
			rm $BULOCATION/audit/... >/dev/null 2>&1; 
			pwrestore="$(date '+%s' | md5sum | awk '{print $1}'|cut -b 1-10,15-20)"; pwrestore=".Z$pwrestore"
			echo "1=$seed1$pwrestore" > $BULOCATION/audit/... 2>/dev/null
			pw="$(/usr/local/avamar/bin/avtar --$z=$pwrestore)"; echo "2=$seed2$pw" >> $BULOCATION/audit/... 2>/dev/null

			if [ ! -f $BULOCATION/.atousersremoved ]
			then
#				echo "debug1 - removing deprecated userids"
				$HOMEPATH/mccli user delete --authenticator=axion --client-domain=/ --name=atoonly --mcsuserid=$CHK_user --mcspasswd=$CHK_password >/dev/null 2>&1
				$HOMEPATH/mccli user delete --authenticator=axion --client-domain=/ --name=atorestore --mcsuserid=$CHK_user --mcspasswd=$CHK_password >/dev/null 2>&1
				$HOMEPATH/mccli user delete --authenticator=axion --client-domain=/ --name=e59a45c81f2b1da3 --mcsuserid=$CHK_user --mcspasswd=$CHK_password >/dev/null 2>&1
				$HOMEPATH/mccli user delete --authenticator=axion --client-domain=/$pseudo_domain --name=atotape --mcsuserid=$CHK_user --mcspasswd=$CHK_password >/dev/null 2>&1
				touch $BULOCATION/.atousersremoved >/dev/null 2>&1
			fi

			$HOMEPATH/mccli user delete --authenticator=axion --client-domain=/ --name=admeadmin --mcsuserid=$CHK_user --mcspasswd=$CHK_password >/dev/null 2>&1
			$HOMEPATH/mccli user delete --authenticator=axion --client-domain=/$pseudo_domain --name=admestat --mcsuserid=$CHK_user --mcspasswd=$CHK_password >/dev/null 2>&1
			$HOMEPATH/mccli user delete --authenticator=axion --client-domain=/ --name=admerestore --mcsuserid=$CHK_user --mcspasswd=$CHK_password >/dev/null 2>&1

			$HOMEPATH/mccli user add --client-domain=/ --name=admeadmin --password=$pw --password-confirm=$pw --role=Administrator --authenticator=axion --mcsuserid=$CHK_user --mcspasswd=$CHK_password >/dev/null 2>&1
			$HOMEPATH/mccli user add --client-domain=/$pseudo_domain --name=admestat --password=$pwtape --password-confirm=$pwtape --role=Administrator --authenticator=axion --mcsuserid=$CHK_user --mcspasswd=$CHK_password >/dev/null 2>&1
			$HOMEPATH/mccli user add --client-domain=/ --name=admerestore --password=$pwrestore --password-confirm=$pwrestore --role=Administrator --authenticator=axion --mcsuserid=$CHK_user --mcspasswd=$CHK_password >/dev/null 2>&1
			MCS_mcsaddr="$(hostname)"
			echo "\n$GREEN_FG Refresh complete. $DEF"
			if [ "$Security_Refresh" -eq "1" ];then exit; else Security_Refresh="0"; fi
		fi
	done
}

vmimage_edit_rtn()
{
	echo "\n$GREEN_FG NOTE: Multiple entries must all be on a single line and separated using | character"
	if [ ! -f $BULOCATION/customize/vmimage_domains.txt ];then echo "VirtualMachines" > $BULOCATION/customize/vmimage_domains.txt; fi
	while true
	do
		echo
		if [ -s $BULOCATION/customize/vmimage_domains.txt -a "$(grep -c "^SKIP" $BULOCATION/customize/vmimage_domains.txt)" -eq "0" ]
		then
			echo "$CYAN_FG Vmimage client name discovery is currenely [$WHITE_FG ENABLED $CYAN_FG]\n$GREEN_FG"; cat $BULOCATION/customize/vmimage_domains.txt
		elif [ -s $BULOCATION/customize/vmimage_domains.txt -a "$(grep -c "^SKIP" $BULOCATION/customize/vmimage_domains.txt)" -eq "1" ] 
		then
			echo "$CYAN_FG Vmimage client name discovery is currenely [$WHITE_FG DISABLED $CYAN_FG]\n$RED_FG"; cat $BULOCATION/customize/vmimage_domains.txt
		fi
		echo "\n$CYAN_FG Above domains will be scanned for vmimage client discovery: Enter U=Update D=Disable E=Enable$WHITE_FG Def=Quit$CYAN_FG :$DEF> \c"; read input
		if [ "$input" = "" -o "$input" = "Q" -o "$input" = "q" ]
		then
			break
		elif [ "$input" = "d" -o "$input" = "D" ]
		then
			current="$(head -1 $BULOCATION/customize/vmimage_domains.txt 2>/dev/null)"
			if [ "$(egrep -c "^SKIP" $BULOCATION/customize/vmimage_domains.txt)" -eq "0" ];then echo "SKIP|$current" > $BULOCATION/customize/vmimage_domains.txt; fi
		elif [ "$input" = "e" -o "$input" = "E" ]
		then
			current="$(head -1 $BULOCATION/customize/vmimage_domains.txt 2>/dev/null)"
			if [ "$(egrep -c "^SKIP" $BULOCATION/customize/vmimage_domains.txt)" -eq "1" ];then echo "$current" | sed -n "s/SKIP|//"p > $BULOCATION/customize/vmimage_domains.txt; fi
		elif [ "$input" = "u" -o "$input" = "U" ]
		then
			$MYEDITOR $BULOCATION/customize/vmimage_domains.txt
		fi
	done
}

init_env_rtn()
{
	Cfg="$1"
	if [ "$2" != "noclear" ];then clear; fi
	ENVCFG="$BULOCATION/etc/atoenv.cfg$Cfg"
	echo "==============< Environment Configuration >=============="	
	echo "$BLUE_BG Environment Filename: $ENVCFG$DEF"
	echo "=========================================================\n"	
   	linemax=`wc -l $ENVCFG | awk '{print $1}'`; linex=0
	while true
	do
		if [ "$linex" -lt "$linemax" ]; then linex=`expr $linex + 1`; else break; fi
		line=`sed -n "$linex,$linex"p $ENVCFG`
		if [ "$(echo "$line" | egrep -c "AVAMIGRATE|PWX")" -eq "1" ];then continue; fi
		if [ `echo "$line" | grep -c "^# "` -eq "0" ]
		then
			fld1=`echo $line | awk -F= '{print $1}'`; fld2=`echo $line | awk -F= '{print $2}'`
			fld1_str=`echo "$fld1:                         " | cut -b 1-23`	
			echo "$CYAN_FG$fld1_str$DEF$fld2" 
		else
			echo "$BLUE_BG$WHITE_FG$line$DEF" 
		fi
	done
	echo "\n=========================================================\n"	
}

getitem_rtn()
{
	if [ "$2" != "" ]
	then
		linex=`grep -n " $1$bk " $TMP_PATH/$2 2>/dev/null | head -1`; flag=0
	else
		linex=`grep -n " $1$bk " $TMP_PATH/clientlist.tmp 2>/dev/null | head -1`; flag=0
	fi
	for ix in `echo $linex`
	do
		if [ "$flag" -eq "1" ]
		then
			Itemx="$ix"; break
		else
			if [ "$ix" = "$1)" ]; then flag=1; fi
		fi
	done
}

parse2_rtn()
{

	Cfg="$1"
	if [ "$Cfg" -eq "" ]; then Cfg=1; fi
	fline=0; eflag=0; wflag=0; col=": "
	lline=`wc -l $ENVCFG | awk '{print $1}'`
	echo "\n=========================================================="
	echo "$BLUE_BG          Validating environment $Cfg, please wait...        $DEF" 
	echo "=========================================================="
 	if [ "$Cfg" -eq "1" ]
	then
		Cfg=""; Cfgdisplay=1
	else
		Cfgdisplay="$Cfg"
	fi
set -
	if [ `cat $ENVCFG | sed -n "s/\\\\\/+/"gp | wc -l | awk '{print $1}'` -gt "0" ]
	then
		echo "Errmsg2$RED_FG At least one backslash has been detected in this environemnt file# $Cfg. $DEF" 
                echo "$RED_FG     Must use forward slashes / when defining Windows path names.$DEF"; eflag=`expr $eflag + 1`
	fi

	Envlist="AVAMAR_UTILNODE_NAME HOMEPATH BUSERVER_NAME BACKUPPRODUCT BACKUPPRODUCTHOMEUNIX BACKUPPRODUCTHOMEWIN TAVAINSTALLPATH TAVADOMAINNAME ENDOFYEAR UNIXSS UNIXINSTALLPATH TUNIXSS WINDOWSS WININSTALLPATH LINUXSS CFG LOG TMP_PATH PSEUDOCLIENT CMD_mail MAIL_TO MAIL_TO_ERROR MAIL_FROM LOG_SIZE USER_COMMENT TIMEDELAYSTAGE TIMEDELAYTAPE USE_ALLNODES MAX_RECOVERY_SESSIONS COLORSCHEME MYEDITOR BULOCATION SCRIPT_TIMEOUT BYDATEPATHXTN DEFSTAGELOC ARCHIVEUTIL USE_DATADOMAIN "
	for v in `echo "$Envlist"`
	do
		if [ `grep -c "^$v=" $ENVCFG` -ne "1" ]
		then
			echo "Errmsg1$RED_FG A required environment file variable is missing [$WHITE_FG $v $RED_FG] $DEF"; eflag=`expr $eflag + 1`
		else
			continue
		fi
	done

	while true
	do
		fline=`expr $fline + 1`
		if [ "$fline" -le "$lline" ]
		then
			line=`sed -n "$fline,$fline"p $ENVCFG`
			if [ `echo "$line" | grep -c "^#"` -ne "0" ];then continue; fi
			f1=`echo "$line" | awk -F= '{print $2}'`
			if [ `echo "$line" | awk -F= '{print $1}'` = "BUSERVER_NAME" ]
			then
				buserver_name="$f1"
				if [ "$f1" = "" -o "$f1" = "n/a" ]
				then
					echo "\n$line"
					echo "Errmsg1$RED_FG No export backup server hostname specified$DEF"; eflag=`expr $eflag + 1`
				else
					ping -c 1 $f1 >/dev/null 2>&1
					if [ "$?" -ne "0" ]
					then
						echo "\n$line"
						echo "Errmsg1A$RED_FG Migration backup server [$WHITE_FG $f1 $RED_FG] not available$DEF"; eflag=`expr $eflag + 1`
					fi
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "BACKUPPRODUCT" ]
			then
				if [ "$f1" != "networker" -a "$f1" != "networker_save" -a "$f1" != "avamar" -a "$f1" != "networker_adv2" -a "$f1" != "netbackup" -a "$f1" != "netvault" -a "$f1" != "tsm" -a "$f1" != "hpdp" -a "$f1" != "arcserv" -a "$f1" != "brightstore" -a "$f1" != "backupexec" -a "$f1" != "backupexec2012" -a "$f1" != "commvault" -a "$f1" != "Cloud-GW" -a "$f1" != "ppdm" ]
				then
					echo "\n$line"
					echo "Errmsg2$RED_FG Unsupported export backup product specified [$WHITE_FG $f1 $RED_FG], supported products are arcserv, brightstore, hpdp, networker, tsm, netbackup, netvault, commvault$DEF"; eflag=`expr $eflag + 1`
				fi
				if [ "$f1" = "networker" ];then bup="networker"; else bup="$f1"; fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "BACKUPPRODUCTHOMEUNIX" ]
			then
				if [ "$f1" = "n/a" -a "$f1" != "not-used" ]
				then
					echo "\n$line"
					echo "Errmsg2$RED_FG Must specifiy install path of Migration Backup solution on UNIX staging server [$WHITE_FG $f1 $RED_FG] $DEF"; eflag=`expr $eflag + 1`
					echo "$RED_FG     If not required acknowledge by modifying$WHITE_FG n/a$RED_FG to$WHITE_FG not-used$DEF"
				elif [ "$f1" != "/usr/sbin" -a "$bup" =  "networker" ]
				then
					echo "\n$line"
					echo "Errmsg2$RED_FG The $bup binary path on Unix/Linux should be equal to$WHITE_FG /usr/sbin$RED_FG"; eflag=`expr $eflag + 1`
  					echo "     Ignore this message if your path is defined correctly.$DEF"
				elif [ "$f1" = "/usr/sbin" -a "$bup" != "networker" ]
				then
					echo "\n$line"
                                        echo "msg2$CYAN_FG A non-standard $bup binary path for Unix/Linux is defined"; wflag=`expr $wflag + 1`
					echo "     Ignore this message if your path is defined correctly.$DEF"
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "BACKUPPRODUCTHOMEWIN" ] 
			then
				if [ "$f1" = "n/a" ] 
				then
					echo "\n$line"
					echo "Errmsg2$RED_FG Must specifiy install path of Migration Backup solution on WINDOWS staging server [$WHITE_FG $f1 $RED_FG]$DEF"; eflag=`expr $eflag + 1`
					echo "$RED_FG     If not required acknowledge by modifying$WHITE_FG n/a$RED_FG to$WHITE_FG not-used$DEF"
				elif [ `echo "$f1" | egrep -c ":/Program|:/program"` -gt "0" ]
				then
					echo "\n$line"
                                        echo "Errmsg2$RED_FG Must use Windows short filename format 8.3 when defining Windows path names.$DEF"; eflag=`expr $eflag + 1`
				elif [ `echo "$f1" | egrep -c "C:/progra~1/EMCNET~1/nsr/bin"` -ne "1" -a "$bup" = "networker" ]
				then
					echo "\n$line"
                                        echo "msg2$CYAN_FG A non-standard $bup binary path for Windows is defined: Def=$WHITE_FG C:/progra~1/EMCNET~1/nsr/bin $CYAN_FG"; wflag=`expr $wflag + 1`
					echo "     Ignore this message if your path is defined correctly.$DEF"
				elif [ `echo "$f1" | egrep -c "C:/progra~1/EMCNET~1/nsr/bin"` -eq "1" -a "$bup" != "networker" ]
				then
					echo "\n$line"
                                        echo "msg2$CYAN_FG A non-standard $bup binary path for Windows is defined"; wflag=`expr $wflag + 1`
					echo "     Ignore this message if your path is defined correctly.$DEF"
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "TAVAINSTALLPATH" ] 
			then
				tinstallpath="$line"
				if [ "$f1" = "n/a" ]
				then
					echo "\n$line"
					echo "Errmsg2$RED_FG Specify install path of Avamar agent on the Migration Backup Server, a prerequisite for using the -server option.$DEF"; eflag=`expr $eflag + 1`
					echo "$RED_FG     If not required acknowledge by modifying$WHITE_FG n/a$RED_FG to$WHITE_FG not-used$DEF"
				elif [ "$f1" = "not-used" ];then continue
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "TAVADOMAINNAME" ] 
			then
				if [ "$f1" = "not-used" ];then continue
				elif [ "$f1" = "n/a" ]
				then
					echo "\n$line"
					echo "Errmsg2a$RED_FG Specify where the Migration Backup Server client resides domain/clietn-nameX, a prerequisite for using the -server option.$DEF"
					echo "$RED_FG     If not required acknowledge by modifying$WHITE_FG n/a$RED_FG to$WHITE_FG not-used$DEF"; eflag=`expr $eflag + 1`
				else	
					dx="$f1"; slash=`echo "$dx" | cut -b 1`; pslash=`echo "$tinstallpath" | cut -b 1`; tpath=`echo "$tinstallpath" | awk -F= '{print $2}' | cut -b 1-1`
 					getclient=`$HOMEPATH/mccli client show $MCS_credential --name=$f1/$buserver_name | grep "^Client Name" | awk '{print $NF}'` 
#					then
#						echo "\n$tinstallpath"
#						echo "Errmsg2$RED_FG Path incompatible with export backup server [$WHITE_FG $buserver_name $RED_FG] plug-in type of Windows.$DEF"; eflag=`expr $eflag + 1`
#					then
#						echo "\n$tinstallpath"
#						echo "Errmsg2$RED_FG Path incompatible with export backup server [$WHITE_FG $buserver_name $RED_FG] plug-in type of Unix/Linux.$DEF"; eflag=`expr $eflag + 1`
#					fi
#read
#set -
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "AVAMAR_UTILNODE_NAME" ] 
			then
				if [ "$f1" = "" -o "$f1" = "n/a" ]
				then
					echo "\n$line"
					echo "Errmsg3$RED_FG Must specify Avamar utility node hostname $DEF"; eflag=`expr $eflag + 1`
				elif [ -f /usr/local/avamar/bin/mccli ]
				then
					utilx=`hostname`
					utill=`hostname -f`
					if [ "$utilx" != "$f1" -a "$utill" != "$f1" ]
					then
						echo "\n$line"
						echo "Errmsg3A$RED_FG Invalid UTILITY node hostname specified [$WHITE_FG $f1 $RED_FG] $DEF"; eflag=`expr $eflag + 1`
					fi
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "HOMEPATH" ] 

			then
				if [ "$f1" = ""  -o "$f1" = "n/a" ]
				then
					echo "\n$line"
					echo "Errmsg4A$RED_FG adme homepath must be defined def=/usr/local/avamar/bin$DEF"; eflag=`expr $eflag + 1`
				elif [ "$f1" != "/usr/local/avamar/bin" ]
				then
					echo "\n$line"
					echo "msg4$CYAN_FG adme homepath not the default of /usr/local/avamar/bin $DEF"; wflag=`expr $wflag + 1`
				fi
 			elif [ `echo "$line" | awk -F= '{print $1}'` = "CFG" ] 
			then
				if [ "$f1" != "$BULOCATION/etc/admeclient.cfg" ]
				then
					echo "\n$line"
					echo "Errmsg05A$RED_FG A non-standard client file is defined for Env-[$WHITE_FG$Cfgdisplay$RED_FG], [$WHITE_FG Def=$BULOCATION/etc/admeclient.cfg $RED_FG]$DEF"; eflag=`expr $eflag + 1`
				fi	
			elif [ `echo "$line" | awk -F= '{print $1}'` = "LOG" ] 
			then
				if [ "$f1" != "$BULOCATION/log/atoevent.log$Cfg" ]
				then
					echo "\n$line"
					echo "Errmsg05B$RED_FG A non-standard event log file is defined for Env-[$WHITE_FG$Cfgdisplay$RED_FG], [$WHITE_FG Def=$BULOCATION/log/atoevent.log$Cfg $RED_FG]$DEF"; eflag=`expr $eflag + 1`
				fi	
			elif [ `echo "$line" | awk -F= '{print $1}'` = "TMP_PATH" ] 
			then
				if [ "$f1" != "$BULOCATION/tmp/atocfg$Cfg" ]
				then
					echo "\n$line"
					echo "Errmsg05C$RED_FG A non-standard temp path is defined for Env-[$WHITE_FG$Cfgdisplay$RED_FG], [$WHITE_FG Def=$BULOCATION/tmp/atocfg$Cfg $RED_FG]$DEF"; eflag=`expr $eflag + 1`
				fi	
			elif [ `echo "$line" | awk -F= '{print $1}'` = "PSEUDOCLIENT" ] 
			then
				if [ `$HOMEPATH/mccli client show --name=$f1 $MCS_credential | egrep -c "admepseudo$Cfg|tapeoutato$Cfg"` -eq "0" ]
        			then
					echo "\n$line"
					echo "Errmsg05D$RED_FG Pseudo client name[$WHITE_FG$f1$RED_FG] is not defined [$WHITE_FG Def=/ADME/admepseudo$Cfg $RED_FG]$DEF"; eflag=`expr $eflag + 1`	
				fi	
#					echo "\n$line"
#					echo "msg05D$CYAN_FG A non-standard pseudo client name is defined for Env-[$WHITE_FG$Cfgdisplay$CYAN_FG], [$WHITE_FG Def=/clients/tapeoutato$Cfg $CYAN_FG]$DEF"; wflag=`expr $wflag + 1`
#				fi	
			elif [ `echo "$line" | awk -F= '{print $1}'` = "ENDOFYEAR" ] 
			then
				if [ "$f1" -ne "0" -a "$f1" -ne "01" -a "$f1" -gt "12" ]
				then
					echo "\n$line"
					echo "Errmsg6$RED_FG end-of-year variable not defined correctly [$WHITE_FG $f1 $RED_FG], must be either 0=not-used or in the range 01=Jan to 12=Dec $DEF"; eflag=`expr $eflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "UNIXSS" -a -f /usr/local/avamar/bin/mccli ]
			then
				if [ "$f1" != "n/a" ]
				then
					clx=`echo "$f1" | awk -F/ '{print $NF}'`
					dx=`echo "$f1" | sed -n "s/$clx//"p`
					slash=`echo "$dx" | cut -b 1`

#					getclient=`$HOMEPATH/mccli client show $MCS_credential --domain=$dx | awk '{print $1}' | grep "$clx"`

					getclient=`$HOMEPATH/avmgr getl --account=$dx | awk '{print $2}' | grep "$clx$"`
					clx_=`echo "$clx" | awk -F/ '{print $NF}'`	
					if [ "$clx_" = "VDP" ];then getclient=$"$clx_"; fi
					if [ "$getclient" != "$clx_" -o "$slash" != "/" ]
					then
						echo "\n$line"
						echo "Errmsg7$RED_FG Invalid UNIX staging server name specified [$WHITE_FG $f1 $RED_FG] $DEF"; eflag=`expr $eflag + 1`
					fi
				else
					echo "\n$line"
					echo "msg7$CYAN_FG No UNIX staging server name defined $DEF"; wflag=`expr $wflag + 1`
				fi
				ss_sav="$f1"
			elif [ `echo "$line" | awk -F= '{print $1}'` = "TUNIXSS" ]
			then
				utype="$f1"
				if [ "$f1" != "AIX" -a "$f1" != "MAC" -a "$f1" != "FREEBSD" -a "$f1" != "SOLARIS" -a "$f1" != "SCO" -a "$f1" != "HPUX" -a "$f1" != "LINUX" -a "$ss_sav" != "n/a" ]
				then
					echo "\n$line"
					echo "Errmsg8$RED_FG Invalid UNIX staging server type defined [$WHITE_FG $f1 $RED_FG], must equal AIX, FREEBSD, HPUX, LINUX, SCO, SOLARIS $DEF"; eflag=`expr $eflag + 1`
				fi

			elif [ `echo "$line" | awk -F= '{print $1}'` = "UNIXINSTALLPATH" ] 
			then
				if [ "$f1" = "" -o "$f1" = "n/a" ]
				then
					if [ `$HOMEPATH/avmgr getl --account=$dx | awk '{print $2}' | grep -c "$clx"` -eq "0" -o "$slash" != "/" ]
					then
						echo "\n$line"
						echo "msg10$CYAN_FG UNIX staging server install path not defined$DEF"; wflag=`expr $wflag + 1`
						echo "$CYAN_FG     AIX & LINUX def-path=/usr/local/avamar, HPUX & SOLARIS def-path=/opt/AVMRclnt $DEF"
					fi
				elif [ "$f1" != "/opt/AVMRclnt" -a "$utype" = "HPUX" -o "$utype" = "SOLARIS" ]
				then
					echo "\n$line"
					echo "msg10A$CYAN_FG UNIX staging server Avamar agent install path non standard for [$WHITE_FG $utype $CYAN_FG], def=/opt/AVMRclnt$DEF"; wflag=`expr $wflag + 1`
				elif [ "$f1" != "/usr/local/avamar" -a "$utype" = "LINUX" -o "$utype" = "AIX" ]
				then
					echo "\n$line"
					echo "msg10A$CYAN_FG UNIX The staging server Avamar agent install path non standard for [$WHITE_FG $utype $CYAN_FG], def=/usr/local/avamar$DEF"; wflag=`expr $wflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "WINDOWSS" -a -f /usr/local/avamar/bin/mccli ]
			then
				if [ "$f1" != "n/a" ]
				then
					clx=`echo "$f1" | awk -F/ '{print $NF}'`
					dx=`echo "$f1" | sed -n "s/$clx//"p`
					slash=`echo "$dx" | cut -b 1`
					getclient=`$HOMEPATH/avmgr getl --account=$dx | awk '{print $2}' | grep "$clx" | head -1`
					clx_=`echo "$clx" | awk -F/ '{print $NF}'`	
					if [ "$getclient" != "$clx_" -o "$slash" != "/" ]
					then
						echo "\n$line"
						echo "Errmsg9A$RED_FG Invalid WINDOWS staging server name specified [$WHITE_FG $f1 $RED_FG] $DEF"; eflag=`expr $eflag + 1`
					fi
				else
					echo "\n$line"
					echo "msg9$CYAN_FG No WINDOWS staging server name specified $DEF"; wflag=`expr $wflag + 1`
				fi
				ss_sav="$f1"
			elif [ `echo "$line" | awk -F= '{print $1}'` = "WININSTALLPATH" ] 
			then
				if [ "$f1" = "" -o "$f1" = "n/a" ]
				then
					echo "\n$line"
					echo "msg10A$CYAN_FG WINDOWS staging server install path not defined, def=C:/progra~1/avs $DEF"; wflag=`expr $wflag + 1`
				elif [ `echo "$f1" | egrep -c ":/Program|:/program"` -gt "0" ]
				then
					echo "\n$line"
                                        echo "Errmsg2$RED_FG Must use Windows short name format when defining Windows path names.$DEF"; eflag=`expr $eflag + 1`
				elif [ "$f1" != "C:/progra~1/avs"  ]
				then
					echo "\n$line"
					echo "msg10B$CYAN_FG WINDOWS The staging server Avamar agent install path is non standard, def=C:/progra~1/avs $DEF"; wflag=`expr $wflag + 1`
				fi

			elif [ `echo "$line" | awk -F= '{print $1}'` = "LINUXSS" ] 
			then
				if [ "$f1" = "" -o "$f1" = "n/a" -o "$f1" = "DO-NOT-USE" ]
				then
					if [ -f /usr/local/avamar/bin/mccli ]
					then
						set -
#						echo "\n$line"
#						echo "msg11$CYAN_FG No LINUX staging server name defined, this variable is deprecated and must be set to n/a $DEF"; wflag=`expr $wflag + 1`
					fi
				else
					if [ -f /usr/local/avamar/bin/mccli ]
					then
						clx=`echo "$f1" | awk -F/ '{print $NF}'`
						dx=`echo "$f1" | sed -n "s/$clx//"p`
						slash=`echo "$dx" | cut -b 1`
						if [ `$HOMEPATH/avmgr getl --account=$dx | awk '{print $2}' | grep -c "$clx"` -eq "0" -o "$slash" != "/" ]
						then
							echo "\n$line"
							echo "Errmsg11A$RED_FG Invalid LINUX staging server name specified, required for AST Avamar T/O mode only$DEF"; eflag=`expr $eflag + 1`
						fi
					fi
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "CMD_mail" ] 
			then
				if [ "$f1" = "" -o "$f1" = "n/a" ]
				then
					echo "\n$line"
					echo "Errmsg13$RED_FG No mail program defined, def=/bin/mail or mailx $DEF"; eflag=`expr $eflag + 1`
				elif [ "$f1" != "/bin/mail" -a "$f1" != "/usr/bin/mailx" ]
				then
					if [ ! -s $f1 ]
					then
						echo "\n$line"
						echo "Errmsg12A$RED_FG mail program specified $f1 deosn't exist def=/bin/mail or /usr/bin/mailx $DEF"; eflag=`expr $eflag + 1`
					else
						echo "\n$line"
						echo "msg12B$CYAN_FG Non standard mail program specified, def=/bin/mail or /usr/bin/mailx $DEF"; wflag=`expr $wflag + 1`
					fi
				fi	
			elif [ `echo "$line" | awk -F= '{print $1}'` = "MAIL_TO" ] 
			then
				if [ "$f1" = "" ]
				then
					echo "\n$line"
                                        echo "msg12B$CYAN_FG No destination email address's specified, alerts cannot be sent $DEF"; wflag=`expr $wflag + 1`
				elif [ "$f1" != "\"\"" ]
				then
					if [ "$(echo $f1 | cut -b 1)" = "\"\"" ]
					then
						echo "\n$line"
						echo "Errmsg13$RED_FG Quotes must be removed as of ATO version 2.3.2 $DEF"; eflag=`expr $eflag + 1`
					fi
				fi	
			elif [ `echo "$line" | awk -F= '{print $1}'` = "MAIL_TO_ERROR" ] 
			then
				if [ "$f1" = "" ]
				then
					echo "\n$line"
                                        echo "msg12B$CYAN_FG No destination Error-Only email address's specified, these alerts will not be sent $DEF"; wflag=`expr $wflag + 1`
				elif [ "$f1" != "\"\"" ]
				then
					if [ `echo $f1 | cut -b 1` = "\"\"" ]
					then
						echo "\n$line"
						echo "Errmsg13$RED_FG Quotes must be removed, use a comma separated string$DEF"; eflag=`expr $eflag + 1`
					fi
				fi	
			elif [ `echo "$line" | awk -F= '{print $1}'` = "CFG" ]
			then
				if [ "$f1" = "" -o "$f1" = "n/a" ]
				then
					echo "\n$line"
					echo "Errmsg14$RED_FG Client config file name not correct, def=$BULOCATION/etc/admeclient.cfg[#] $DEF"; eflag=`expr $eflag + 1`
				elif [ "$f1$Cfg" != "$BULOCATION/etc/admeclient.cfg$Cfg" ]
				then	
					echo "\n$line"
					echo "Errmsg14$RED_FG Client config file name not correct, def=$BULOCATION/etc/admeclient.cfg[#] $DEF"; eflag=`expr $eflag + 1`
				fi	
			elif [ `echo "$line" | awk -F= '{print $1}'` = "LOG" ] 
			then
				if [ "$f1$Cfg" = "" ]
				then
					echo "\n$line"
					echo "Errmsg15$RED_FG Log file name not correct, def=$BULOCATION/log/atoevent.log[#] $DEF"; eflag=`expr $eflag + 1`
				elif [ "$f1" != "$BULOCATION/log/atoevent.log$Cfg" ]
				then
					echo "\n$line"
					echo "Errmsg15$RED_FG Log file for environment [$WHITE_FG $Cfg $RED_FG] must be defined as $BULOCATION/log/atoevent.log$Cfg $DEF"; eflag=`expr $eflag + 1`
				fi	
			elif [ `echo "$line" | awk -F= '{print $1}'` = "LOG_SIZE" ] 
			then
				if [ "$f1" -le "5000" -o "$f1" -gt "1000000" ]
				then
					echo "\n$line"
					echo "Errmsg16$RED_FG Max log file size value must be a numeric value between 5000 to 1000000 def=30000 lines $DEF"; eflag=`expr $eflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "TIMEDELAYSTAGE" ] 
			then
				if [ "$f1" -le "5" -o "$f1" -gt "600" ]
				then
					echo "\n$line"
					echo "Errmsg17$RED_FG Staging time delay value must be numeric value between 5 to 600 def=60 seconds $DEF"; eflag=`expr $eflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "TIMEDELAYTAPE" ] 
			then
				if [ "$f1" -le "5" -o "$f1" -gt "1200" ]
				then
					echo "\n$line"
					echo "Errmsg18$RED_FG Migration export time delay value must be numeric value between 5 to 600 def=60 seconds $DEF"; eflag=`expr $eflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "ENABLER_KEY" -a -f /usr/local/avamar/bin/mccli ]
			then
				if [ "$f1" = "" ]
				then
					echo "\n$line"
					echo "msg19$CYAN_FG A enabler is required for adme native mode, a value of DEMO can be used for a 30 day trial$DEF"; wflag=`expr $wflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "USE_ALLNODES" ] 
			then
				if [ "$f1" != "y" -a "$f1" != "Y" -a "$f1" != "n" -a "$f1" != "N" ]
				then
					echo "\n$line"
					echo "Errmsg20$RED_FG USE_ALLNODES flag invalid, must be set to Y or N$DEF"; eflag=`expr $eflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "BYDATEPATHXTN" ] 
			then
				if [ "$f1" != "Y" -a "$f1" != "N" ]
				then
					echo "\n$line"
					echo "Errmsg20$RED_FG BYDATEPATHXTN flag invalid, must be set to Y or N$DEF"; eflag=`expr $eflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "USE_DATADOMAIN" ] 
			then
				if [ "$f1" != "Y" -a "$f1" != "N" ]
				then
					echo "\n$line"
					echo "Errmsg20$RED_FG USE_DATADOMAIN flag invalid, must be set to Y or N$DEF"; eflag=`expr $eflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "MYEDITOR" ] 
			then
				if [ "$f1" != "/bin/vi" -a "$f1" != "/usr/bin/emacs" -a "$f1" != "/usr/bin/nano" ]
				then
					echo "\n$line"
					echo "Errmsg20$RED_FG MYEDITOR contains an unrecognized editor and/or path, enter for [$WHITE_FG VI=/bin/vi EMACS=/usr/bin/emacs NANO=/usr/bin/nano $RED_FG] $DEF"; eflag=`expr $eflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "COLORSCHEME" ] 
			then
				if [ "$f1" -ge "5" -a "$f1" -lt "1" ]
				then
					echo "\n$line"
					echo "Errmsg21$RED_FG COLORSCHEME count must be between 1 - 5 $DEF"; eflag=`expr $eflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "MAX_RECOVERY_SESSIONS" ] 
			then
				if [ "$f1" -gt "50" -a "$f1" -lt "1" ]
				then
					echo "\n$line"
					echo "Errmsg22$RED_FG MAX_RECOVERY_SESSIONS count must be between 0 - 50 $DEF"; eflag=`expr $eflag + 1`
				fi
			elif [ `echo "$line" | awk -F= '{print $1}'` = "PSEUDOCLIENT" ] 
			then
				if [ "$f1" != "/clients/tapeoutato$Cfg" -o "$f1" != "/ADME/admepseudo$cfg" ]
				then
					echo "\n$line"
#					echo "msg23$CYAN_FG Pseudo-Client name [$WHITE_FG$f1$CYAN_FG] non-standard, Def=[$WHITE_FG /ATO/tapeoutato$Cfg $CYAN_FG]$DEF"; wflag=`expr $wflag + 1`
					echo "msg23$CYAN_FG Pseudo-Client name [$WHITE_FG$f1$CYAN_FG] non-standard, Def=[$WHITE_FG /ADME/admepseudo$Cfg $CYAN_FG]$DEF"; wflag=`expr $wflag + 1`
				fi
			fi
		else
			break
		fi
	done
	if [ "$eflag" -eq 0 ]
	then
		echo "\n\n$GREEN_BG$WHITE_FG Parsed Successfuly: Errors=$eflag Warnings=$wflag Environment-File: [$ENVCFG]$DEF"
	else
		echo "\n\n$RED_BG Parse Failure: Errors=$eflag Warnings=$wflag Environment-File: [$ENVCFG]$DEF"
		return 1
	fi
}

parse_rtn()
{

	field_cnt=18
	fline=`grep -n "SS-Type" $CFG | head -1 | awk '{print $1}' | sed -n "s/:/ /"p | awk '{print $1}'`
	lline=`wc -l $CFG | awk '{print $1}'`
	msg1="ERRmsg1$RED_FG Field count not equal to $field_cnt, check comma separation $DEF"
	msg2="ERRmsg2$GREEN_FG A date field is not set to AUTO$DEF" 
	msg4="ERRmsg4$RED_FG Domain name field-4 must begin with a slash character $DEF" 
	msg4a="ERRmsg4a$RED_FG Domain name field-4 contents are invalid, try refreshing the CM discovery $DEF" 
	msg5="ERRmsg5$RED_FG Client name field-5 must not begin with a slash character / and cannot be empty$DEF" 
	msg5a="ERRmsg5a$RED_FG Domain/Client name field-4/5 contents are invalid, try refreshing the CM discovery $DEF" 
	msg6="ERRmsg6$CYAN_FG Avamar-Policy-Group-Name field-6 not valid $DEF" 
	msg7="ERRmsg7$RED_FG Retention-Type value field-7 not valid. Must be set to n/a,daily,weekly,monthly,yearly or none $DEF"
	msg8="ERRmsg8$RED_FG Exclude folders Fld-8 and Include folders Fld-17 are both defined, restore results are undefined $DEF" 
	msg9="ERRmsg9$CYAN_FG Output file field-9 not set to DEFAULT, user defined output file not fully supported $DEF"
	msg9A="ERRmsg9A$RED_FG Output file field-9 must be set to value of AVAMAR for AST or DEFAULT for ADMe native operation, user specified files are not supported $DEF"
	msg10="ERRmsg10$RED_FG Destination staging directory field-10 not valid for the staging server type defined in field-15 or contains spaces $DEF"
	msg11="msg11$GREEN_FG Migration backup script field-11 not set to AUTO, the user specified script is being used$DEF"
	msg11A="ERRmsg11A$RED_FG User script name specified cannot be found$DEF"
	msg12="msg12$CYAN_FG Client initiated tape Group/Policy name field-12 not defined, required for AUTO tape script mode $DEF"
	msg13="msg13$CYAN_FG End-of-Year tape Group/Policy name field-13 not defined, optional for AUTO tape script mode $DEF"
	msg14="msg14$CYAN_FG Server initiated tape Group/Policy name field-14 not defined, required for AUTO tape script mode and BU server initiated tape export $DEF"
	msg15="ERRmsg15$RED_FG Staging server type field-15 is invalid, must be a value of either UNIX or WINDOWS $DEF"
	msg18="ERRmsg18$RED_FG Incremental delete flag field-18 is invalid, must be  a value of INCDEL or n/a$DEF"
	msg19="msg19$CYAN_FG A CIFS destination staging path has been specified in Fld-10$DEF"

	msg1_=0; msg2_=0; msg4_=0; msg4a_=0; msg5_=0; msg5a_=0; msg6_=0; msg7_=0; msg8_=0; msg9_=0; msg9A_=0; msg10_=0; msg10A_=0; msg10B_=0; msg11_=0; msg11A_=0; msg12_=0; msg13_=0
	msg14_=0; msg15_=0 msg16_=0; msg17_=0; msg18_=0; msg19_=0

	rm $TMP_PATH/parse.err >/dev/null 2>&1
	dot="."; errflg=0; col=": "; ecnt=0; wcnt=0; cnt=0
	while true
	do
		fline=`expr $fline + 1`
		dotx="$dotx$dot"
#		echo "Processing please wait $dotx $Asciesc"
		if [ "$fline" -le "$lline" ]
		then
			line=`sed -n "$fline,$fline"p $CFG`

			if [ `echo "$line" | grep -c "^#"` -gt 0 -o `echo "$line" | grep -c "^ "` -gt 0 -o `echo "$line" | grep -c "^$"` -gt 0 ]; then continue; fi
			f1=`echo "$line" | awk -F, '{print $1}'`; f2=`echo "$line" | awk -F, '{print $2}'`; f3=`echo "$line" | awk -F, '{print $3}'`
			f4=`echo "$line" | awk -F, '{print $4}'`; f5=`echo "$line" | awk -F, '{print $5}'`; f6=`echo "$line" | awk -F, '{print $6}'`
			f7=`echo "$line" | awk -F, '{print $7}'`; f8=`echo "$line" | awk -F, '{print $8}'`; f9=`echo "$line" | awk -F, '{print $9}'`
			f10=`echo "$line" | awk -F, '{print $10}'`; f11=`echo "$line" | awk -F, '{print $11}'`; f12=`echo "$line" | awk -F, '{print $12}'`
			f13=`echo "$line" | awk -F, '{print $13}'`; f14=`echo "$line" | awk -F, '{print $14}'`; f15=`echo "$line" | awk -F, '{print $15}'`
			f16=`echo "$line" | awk -F, '{print $16}'`; f17=`echo "$line" | awk -F, '{print $17}'`; f18=`echo "$line" | awk -F, '{print $18}'`
			
			if [ `echo "$line" | awk -F, '{print NF}'` -ne "$field_cnt" ]
			then
				msg1_=1; ecnt=`expr $ecnt + 1` 
			else
				msg1_=0
			fi
			if [ "$f2" != "AUTO" -o "$f3" != "AUTO" ]
			then
				msg2_=1; wcnt=`expr $wcnt + 1`
			else
				msg2_=0
			fi	
			if [ "`echo "$f4" | cut -b 1`" != "/" -o "$f4" = "" ]
			then
				msg4_=1; ecnt=`expr $ecnt + 1`
			else
				msg4_=0
			fi
			if [ "`grep -c "$f4" $TMP_PATH/.input.dat1.discover`" -eq "0" ]
			then
				msg4a_=1; ecnt=`expr $ecnt + 1`
			else
				msg4a_=0
			fi
			if [ "`echo "$f5" | cut -b 1`" = "/" -o "$f5" = "" ]
			then
				msg5_=1; ecnt=`expr $ecnt + 1`
			else
				msg5_=0
			fi
			if [ "$VMQUALIFIEDNAMES" = "false" ]
                        then
                                if [ "$(grep "$f4" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | grep -c "$f5$")" -eq "0" ]
                                then
                                        if [ "`grep "$f4" $TMP_PATH/.input.dat1.discover | grep -c "^$f5"`" -eq "0" ]
                                        then
                                                msg5a_=1; ecnt=`expr $ecnt + 1`
                                        else msg5a_=0; fi
                                else  msg5a_=0; fi
                        elif [ "$VMQUALIFIEDNAMES" = "true" ]
                        then
                                if [ "$(grep "$f4" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | grep -c "$f5,")" -eq "0" ]
                                then
                                        if [ "`grep -c "^$f5" $TMP_PATH/.input.dat1.discover`" -eq "0" ]
                                        then
                                                msg5a_=1; ecnt=`expr $ecnt + 1`
                                        else msg5a_=0; fi
                                else msg5a_=0; fi
                        fi
			if [ "$f6" = "" ]
			then
				msg6_=1; wcnt=`expr $wcnt + 1`
			else
				msg6_=0
			fi
			if [ `echo "$f7" | egrep -c "n/a|daily|weekly|monthly|yearly|none"` -ne "1" ]
			then
				msg7_=1; ecnt=`expr $ecnt + 1`
			else
				msg7_=0
			fi	
			if [ "$f8" != "n/a" -a "$f17" != "n/a" ]
			then
				msg8_=1; ecnt=`expr $ecnt + 1`
			else
				msg8_=0
			fi
			
			if [ "$f15" = "LINUX" -a "$f9" != "AVAMAR" -a ! -f /usr/local/avamar/bin/mccli ]
			then
				msg9A_=1; ecnt=`expr $ecnt + 1`
			elif [ "$f15" != "LINUX" -a "$f9" = "AVAMAR" -a ! -f /usr/local/avamar/bin/mccli ]
			then
				msg9A_=1; ecnt=`expr $ecnt + 1`
			elif [ "$f15" != "WINDOWS" -a "$f15" != "UNIX" -a "$f9" != "DEFAULT" -a -f /usr/local/avamar/bin/mccli ]
			then
				msg9_=1; wcnt=`expr $wcnt + 1`
			elif [ "$f9" != "DEFAULT" -a -f /usr/local/avamar/bin/mccli ]
			then
				msg9A_=1; wcnt=`expr $wcnt + 1`
			else
				msg9_=0; msg9A_=0
			fi	
			if [ "$f15" = "UNIX" -a `echo "$f10" | cut -b 1 | grep -c "/"` -eq "0" -a "$f10" != "INPLACE" ]
			then
				msg10_=1; ecnt=`expr $ecnt + 1`
			elif [ "$f15" = "WINDOWS" -a `echo "$f10" | cut -b 2 | grep -c ":"` -eq "0" -a "$f10" != "INPLACE" ]
                        then
				if [ `echo "$f10" | cut -b 1-2 | grep -c "\\\\\\\"` -eq "1" ]
				then
					msg19_=1
				elif [ `echo "$f10" | cut -b 1-2 | grep -c "//"` -eq "0" ]
				then
                                	msg10_=1; ecnt=`expr $ecnt + 1`
				else
					msg10_=0; msg19_=0
				fi
			else
				msg10_=0; msg19_=0
			fi 

			if [ "$f15" = "LINUX" -a $(echo "$f10" | cut -b 1 | grep -c "/") -eq "0" ]
			then
				msg10B_=1; ecnt=`expr $ecnt + 1` 
			elif [ "$(echo "$f10" | awk '{print NF}')" -gt "1" ]
			then
				msg10B_=1; ecnt=`expr $ecnt + 1` 
			else
				msg10B_=0
			fi 

			if [ "$f11" != "AUTO" ]
			then
				msg11_=1
				if [ ! -s $f11 ]
				then
					msg11A_=1; ecnt=`expr $ecnt + 1`
				else
					msg11A_=0
				fi
			else
				msg11_=0; msg11A_=0
			fi 
			if [ "$f11" = "AUTO" -a "$f12" = "n/a" ]
			then
#				msg12_=1; ecnt=`expr $ecnt + 1`
				msg12_=1; wcnt=`expr $wcnt + 1`
			else
				msg12_=0
			fi
			if [ "$f11" = "AUTO" -a "$f13" = "n/a" ]
			then
				msg13_=1; wcnt=`expr $wcnt + 1`
			else
				msg13_=0
			fi
			if [ "$f11" = "AUTO" -a "$f14" = "n/a" ]
			then
				msg14_=1; wcnt=`expr $wcnt + 1`
			else
				msg14_=0
			fi
			if [ "$f15" != "LINUX" -a "$f15" != "WINDOWS" -a "$f15" != "UNIX" ]
			then
				msg15_=1; ecnt=`expr $ecnt + 1`
			else
				msg15_=0
			fi
			if [ "$f18" = "n/a" -o "$f18" = "INCDEL" ]
			then
				msg18_=0
			else
				msg18_=1; ecnt=`expr $ecnt + 1`
			fi

			if [ $msg1_ -eq 1 -o $msg2_ -eq 1 -o $msg4_ -eq 1 -o $msg4a_ -eq 1 -o $msg5_ -eq 1 -o $msg5a_ -eq 1 -o $msg6_ -eq 1 -o $msg7_ -eq 1 -o $msg8_ -eq 1 -o $msg9_ -eq 1 -o $msg9A_ -eq 1 -o $msg10_ -eq 1 -o $msg10A_ -eq 1 -o $msg10B_ -eq 1 -o $msg11_ -eq 1 -o $msg11A_ -eq 1 -o $msg12_ -eq 1 -o $msg13_ -eq 1 -o $msg14_ -eq 1 -o $msg15_ -eq 1 -o $msg18_ -eq 1 -o $msg19_ -eq 1 ]
			then
				echo "\nLine-$fline$col$line"
				if [ $msg1_ -eq 1 ]; then echo "Line-$fline$col $msg1" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg2_ -eq 1 ]; then echo "Line-$fline$col $msg2" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg4_ -eq 1 ]; then echo "Line-$fline$col $msg4" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg4a_ -eq 1 ]; then echo "Line-$fline$col $msg4a" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg5_ -eq 1 ]; then echo "Line-$fline$col $msg5" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg5a_ -eq 1 ]; then echo "Line-$fline$col $msg5a" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg6_ -eq 1 ]; then echo "Line-$fline$col $msg6" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg7_ -eq 1 ]; then echo "Line-$fline$col $msg7" | tee -a $TMP_PATH/parse.err; fi
 				if [ $msg8_ -eq 1 ]; then echo "Line-$fline$col $msg8" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg9_ -eq 1 ]; then echo "Line-$fline$col $msg9" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg9A_ -eq 1 ]; then echo "Line-$fline$col $msg9A" | tee -a $TMP_PATH/parse.err; fi
 				if [ $msg10_ -eq 1 -o $msg10A_ -eq 1 -o $msg10B_ -eq 1 ]; then echo "Line-$fline$col $msg10" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg11_ -eq 1 ]; then echo "Line-$fline$col $msg11" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg11A_ -eq 1 ]; then echo "Line-$fline$col $msg11A" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg12_ -eq 1 ]; then echo "$msg12"; fi
				if [ $msg13_ -eq 1 ]; then echo "$msg13"; fi
				if [ $msg14_ -eq 1 ]; then echo "$msg14"; fi
				if [ $msg15_ -eq 1 ]; then echo "Line-$fline$col $msg15" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg18_ -eq 1 ]; then echo "Line-$fline$col $msg18" | tee -a $TMP_PATH/parse.err; fi
				if [ $msg19_ -eq 1 ]; then echo "$msg19"; fi
			fi
		else
			break
		fi
	done
	fline=`grep -n "^# *************" $CFG | sed -n "s/:/ /"p | head -1 | awk '{print $1}'`
	groupids=`sed -n "$fline,9999"p $CFG | grep -v "^#" | awk -F, '{print $1}' | sort -u`
	err=0; flag=0
	for x in `echo $groupids`
	do
       		client_list=`sed -n "$fline,9999"p $CFG | grep "^$x," | awk -F, '{print $5}' | sort -u`
        	for y in `echo $client_list`
        	do
                	if [ `grep "^$x," $CFG | grep -c ",$y,"` -gt "1" ]
                	then
				if [ "$flag" -eq "0" ]
				then
					flag=1
					echo "\nmsg19$RED_FG A client name has been defined more than once within a client group, see details below$DEF"
				fi
                        	echo "msg19B$RED_FG Client-ID [$WHITE_FG$y$RED_FG] has multiple entries in Group-ID [$WHITE_FG$x$RED_FG]$DEF"; err=`expr $err + 1`
                	else
                        	continue
                	fi
        	done
	done
	if [ "$err" -gt "0" ];then ecnt=`expr $ecnt + $err`; fi

	if [ "$ecnt" -eq 0 ]
	then
		echo "\n\n$GREEN_BG Parsed Successfully: Errors=$ecnt Warnings=$wcnt Configuration-File: [$CFG]$DEF"
#		exit
	else
		echo "\n\n$RED_BG Parse Failure Summary:$DEF"
		cat $TMP_PATH/parse.err 2>/dev/null
		echo "\n$RED_BG Parse Failure Results: Errors=$ecnt Warnings=$wcnt Configuration-File: [$CFG]$DEF"
		return 1
	fi
}


vmdiscover_rtn()
{

	if [ ! -f $BULOCATION/customize/vmimage_domains.txt ];then echo "VirtualMachines" > $BULOCATION/customize/vmimage_domains.txt; fi
	if [ -s $BULOCATION/customize/vmimage_domains.txt ];then vmdomains="$(head -1 $BULOCATION/customize/vmimage_domains.txt)"; else vmdomains="VirtualMachines"; fi
	if [ "$(echo "$vmdomains" | grep -c SKIP)" -eq "1" ]
	then
		echo "\n$RED_BG$WHITE_FG WARNING: $DEF$RED_FG Vmimage client name discovery is currently DISABLED$DEF"
		return
	fi

	psql -p 5555 mcdb -U admin -t -A -F"," -c " select cid,full_domain_name,display_client_name from v_clients_2 where client_type='VMACHINE'" >$BULOCATION/tmp/atocfg/.vmqualifiednames.dat
	grep -v " " $BULOCATION/tmp/atocfg/.vmqualifiednames.dat > $BULOCATION/tmp/atocfg/.vmqualifiednames.tmp1
	sed -n "s/ /_/"gp $BULOCATION/tmp/atocfg/.vmqualifiednames.dat >> $BULOCATION/tmp/atocfg/.vmqualifiednames.tmp1
	mv $BULOCATION/tmp/atocfg/.vmqualifiednames.tmp1 $BULOCATION/tmp/atocfg/.vmqualifiednames.dat >/dev/null 2>&1	

	psql -U admin -p 5555 mcdb -c "select full_domain_name from v_clients" | egrep -v "REPLICATE|MC_RETIRED" | grep "$vmdomains" > $TMP_PATH/input.vm
        for x in $(cat $TMP_PATH/input.vm | awk -F/ '{print $NF}')
        do
                sed -n "s/$x/ $x/"gp $TMP_PATH/input.vm >> $TMP_PATH/input.vm1
        done
        awk '{print $2,$1}' $TMP_PATH/input.vm1 2>/dev/null | sed -n "s/\/$/ /"gp > $TMP_PATH/real_vm.dat

	if [ -s $TMP_PATH/real_vm.dat ]
        then
                cat $TMP_PATH/real_vm.dat >> $TMP_PATH/input.dat1 2>/dev/null
                sort -u $TMP_PATH/input.dat1 2>/dev/null > $TMP_PATH/input.dat11 2>/dev/null
		mv $TMP_PATH/input.dat11 $TMP_PATH/input.dat1 >/dev/null 2>&1
        fi

	user_config_excludes="$(echo "$CMDOMAINEXCLUDES" | awk '{print $1}')"
	config_excludes="$user_config_excludes|^Client |CLI command|^AVI_BACKUPS|^AVI_CLIENT_PACKAGES|^EM_BACKUPS|^NETWORKER|^MC_BACKUPS"
       	egrep -v "$config_excludes" $TMP_PATH/input.dat1 1> $TMP_PATH/input.dat11 2> /dev/null
	mv $TMP_PATH/input.dat11 $TMP_PATH/input.dat1 >/dev/null 2>&1
	rm $TMP_PATH/input.novm $TMP_PATH/real_vm.dat $TMP_PATH/input.vm1 $TMP_PATH/input.dat11 >/dev/null 2>&1
}

domain_discover_rtn()
{

	date +'%b %d, 20%y %H:%M' > $TMP_PATH/.last_discover.tmp
	rm -rf $TMP_PATH/input.tmp2 >/dev/null 2>&1
        psql -U admin -p 5555 mcdb -c "select full_domain_name from v_clients" | grep "^ /"  > $TMP_PATH/input.tmp
        for x in $(cat $TMP_PATH/input.tmp | awk -F/ '{print $NF}')
        do
                sed -n "s/$x/ $x/"gp $TMP_PATH/input.tmp | grep "$x$" >> $TMP_PATH/input.tmp2
        done
        awk '{print $2,$1}' $TMP_PATH/input.tmp2 | egrep -v "admepseudo|tapeoutato" | sed -n "s/\/$/ /"gp > $TMP_PATH/input.dat1
	$HOMEPATH/mccli client show --replicated=true $MCS_credential | egrep -v "not exist|^Attribute|---|^domain    /REPLICATE" | grep .  | sort -u >> $TMP_PATH/input.dat1
}

domain_discover_rtn2()
{

	date +'%b %d, 20%y %H:%M' > $TMP_PATH/.last_discover.tmp
	rm -rf $TMP_PATH/input.tmp2 >/dev/null 2>&1

	$HOMEPATH/mccli client show --recursive=true $MCS_credential | egrep -v "\-\-\-\-| Domain|completed successfully.|failed|admepseudo" > $TMP_PATH/input.dat1
	$HOMEPATH/mccli client show --replicated=true --recursive=true $MCS_credential | egrep -v "not exist|^Attribute|---|^domain    /REPLICATE" | grep .  | sort -u >> $TMP_PATH/input.dat1
	$HOMEPATH/mccli client show --retired=true $MCS_credential | egrep -v "EM_BACKUPS|\-\-\-\-| Domain|completed successfully.|failed|admepseudo" >> $TMP_PATH/input.tmp
 	$HOMEPATH/mccli client show --retired=true --replicated=true $MCS_credential | egrep -v "^domain    /REPLICATE|EM_BACKUPS|\-\-\-\-| Domain|completed successfully.|failed|admepseudo" | grep . > $TMP_PATH/input.dat2

 	grep "/REPLICATE/" $TMP_PATH/input.dat2 | awk '{print $2}' | awk -F/ '{print $3}' | sort -u > $TMP_PATH/retired.tmp

	for rx in `cat $TMP_PATH/retired.tmp`
	do
    		$HOMEPATH/mccli client show --domain=/REPLICATE/$rx/MC_RETIRED | grep MC_RETIRED >> $TMP_PATH/input.tmp2
	done

	grep "REPLICATE" $TMP_PATH/input.dat2 >> $TMP_PATH/input.dat1 2>/dev/null
	grep "MC_RETIRED" $TMP_PATH/input.tmp2 >> $TMP_PATH/input.dat1 2>/dev/null
}

add_rtn()
{

	rm -f $TMP_PATH/input.tmp $TMP_PATH/input.dat* $TMP_PATH/config.tmp >/dev/null 2>&1
	cntp=0; cnta=0; cntr=0
	domain="$domain $domain_r"

	TMP_PATH="$BASE_TMP_PATH"
	if [ ! -s $TMP_PATH/.input.dat1.discover ]
	then
		echo "Discovering Avamar Domains, please wait..."
		domain_discover_rtn
 		vmdiscover_rtn
		awk '{printf "%s\r\n",$0}' $TMP_PATH/input.dat1 >/dev/null 2>&1
 		cat $TMP_PATH/input.dat1 | grep -v "^$" | sort -u > $TMP_PATH/.input.dat1.discover 
	else
		datestamp=`head -1 $TMP_PATH/.last_discover.tmp 2>/dev/null`
                echo "\n$CYAN_FG Using previous Avamar Domain/Client discovery from [$WHITE_FG$datestamp$CYAN_FG], to refresh use option F below."
		dos2unix $TMP_PATH/.input.dat1.discover >/dev/null 2>&1
		cat $TMP_PATH/.input.dat1.discover | grep -v "^$" | sort -u > $TMP_PATH/input.dat1 
		cp $TMP_PATH/input.dat1 $TMP_PATH/.input.dat1.discover >/dev/null 2>&1
	fi

	sort -u $TMP_PATH/input.dat1 > $TMP_PATH/input.dat.sav
	grep -v "^#" $CFG | awk -F, '{print $1,$5}' > $TMP_PATH/clientgroup.dat.sav 2>&1
	grep "^#DISABLED" $CFG | sed -n "s/#DISABLED //"p | awk -F, '{print $1,$5}' >> $TMP_PATH/clientgroup.dat.sav 2>&1
	
	if [ "$Manager" -eq "1" ]
	then
		RC=0
		while true
		do
			if [ $RC -eq 0 ]
			then
 				rm $TMP_PATH/clientlist*.tmp $TMP_PATH/input.dat.* >/dev/null 2>&1
				client_manager_rtn domain
			elif [ $RC -eq 1 ]
			then
				return
			elif [ $RC -eq 2 ]
			then
				RC=0; client_manager_rtn client $Domainx
			elif [ $RC -eq 3 ]
			then
				RC=0; continue
			elif [ $RC -eq 4 ]
			then
				RC=0; client_manager_rtn status
			elif [ $RC -eq 5 ]
			then
				RC=0: client_manager_rtn group $Domainx
			elif [ $RC -eq 6 ]
			then
				RC=0: client_manager_rtn groupclient $Domainx
			fi
		done
	fi

	if [ -f /usr/local/avamar/bin/mccli ]
	then
        	linex="gidx,AUTO,AUTO,DOMAINX,CLIENTX,n/a,n/a,n/a,DEFAULT,F:/tapeout,AUTO,tape_daily_grp,tape_eoy_grp,tape_server_grp,WINDOWS,n/a,n/a,n/a"
	else
       		linex="gidx,AUTO,AUTO,DOMAINX,CLIENTX,n/a,n/a,n/a,AVAMAR,/tapeout,AUTO,tape_daily_grp,tape_eoy_grp,tape_server_grp,LINUX,n/a,n/a,n/a"
	fi

	cp $TMP_PATH/input.dat.sav $TMP_PATH/input.dat

 	echo "\n$BLUE_BG$WHITE_FG$linex$DEF\n"
	echo "All clients selected for addition this session will contain the default values highlighted above. If you want to modify this line"
	echo "enter a complete new line as required leaving Field-4 DOMAINX and Field-5 CLIENTX values as is.$CYAN_FG Modify? Q=Quit Y/N [Def=No]: > $DEF\c"
	read alter
	if [ "$alter" = "Q" -o "$alter" = "q" ]; then exit; fi
	while true
	do
		if [ "$alter" = "Y" -o "$alter" = "Yes" -o "$alter" = "y" ]
		then
			echo "\n$CYAN_FG Enter New Line or Q=Quit$DEF = \c"
			read linex
			if [ "$linex" = "Q" -o "$linex" = "q" ]; then exit; fi
 			echo "\n$GREEN_BG$WHITE_FG$linex$DEF\n"
			echo "$CYAN_FG Confirm New Line is Okay: Y/N [$WHITE_FG Def=No $CYAN_FG]:$DEF > \c"
			read input
			if [ "$input" = "y" -o "$input" = "Y" ]; then break; else continue; fi
		else
			break
		fi
	done
	echo "\n$CYAN_FG Manually confirm each client addition? Y/N [$WHITE_FG Def=Yes $CYAN_FG]:$DEF > \c"
	read confirm
	if [ "$confirm" = "y" -o "$confirm" = "Y" -o "$confirm" = "" ]; then confirm="y"; else confirm="n"; fi

	for x in `awk '{print $1"+"$2}' $TMP_PATH/input.dat`
	do
		dotx="$dotx$dot"
		echo "Scanning Available Clients ...                                                                           \r\c"
        	clx=`echo "$x" | awk -F+ '{print $1}'`
        	dmx=`echo "$x" | awk -F+ '{print $2}' | sed -n "s/\//+/"gp`
        	if [ "$clx" = "" -o "$dmx" = "" ]; then continue; fi
		linex1=`echo "$linex" | sed -n "s/DOMAINX/$dmx/"p`
		linex2=`echo "$linex1" | sed -n "s/CLIENTX/$clx/"p`
		linex3=`echo "$linex2" | sed -n "s/+/\//"gp`
        	echo "$linex3" >> $TMP_PATH/config.tmp
	done
	sort -u $TMP_PATH/config.tmp > $TMP_PATH/config.dat
	
	for x in `cat $TMP_PATH/config.dat`
	do
		clx=`echo "$x" | awk -F, '{print $4","$5}'`
		if [ `grep -c "$clx" $CFG` -gt "0" ]
		then
			if [ "add_v" -eq "1" ]; then echo "Client Already Exists [$GREEN_FG $clx $DEF]\n"; fi
			cntp=`expr $cntp + 1`
			continue
		else
			if [ "$confirm" = "y" ]
			then
				echo "$CYAN_FG Confirm adding client [$WHITE_FG$clx$DEF]\tY/N or Q=Quit [$WHITE_FG Def=No $CYAN_FG]:> \c"
				read input 
			else
				echo "Adding client [$CYAN_FG $clx $DEF]"
				input="y"
			fi

			if [ "$input" = "y" -o "$input" = "Y" ]
			then
				cnta=`expr $cnta + 1`
				echo "$GREEN_FG Client Added$DEF\n"
				echo "$x" >> $CFG
			elif [ "$input" = "q" -o "$input" = "Q" ]
			then
				break
			else
				cntr=`expr $cntr + 1`
				echo "$RED_FG Client Rejected$DEF\n"
			fi
		fi	
	done
 	echo "\n$BLUE_BG$WHITE_FG CLIENT ADD SUMMARY: Processed=`expr $cntp + $cnta + $cntr` Exists=$cntp Added=$cnta Rejected=$cntr$DEF\n"
}

eventlog_rtn()
{
	if [ "$Cfg" -eq "" ]; then Cfg=1; fi
	if [ "$Log_" -eq "2" ];then LOG="$1"; fi
        if [ "$Log_" -eq "1" -o "$Log_" -eq "2" ]
        then
                grep -n "^" $LOG | grep "Ver." | sed -n "s/\:/ /"p  > $TMP_PATH/browse.tmp
                last=`tail -1 $TMP_PATH/browse.tmp | awk '{print $1}'`
                current_line=`echo $last`
                last_line=`wc -l $LOG | awk '{print $1}'`
                range=`echo $last_line`
                linex=`wc -l $TMP_PATH/browse.tmp | awk '{print $1}'`
                last_linex=`wc -l $TMP_PATH/browse.tmp | awk '{print $1}'`
                session=`echo $last_linex`
                max_event=`wc -l $TMP_PATH/browse.tmp | awk '{print $1}'`
                default="P"; bof="empty"; eof="empty"; initial_flag=0
                while true
                do
                        if [ "$session" -eq "$last_linex" -a "$initial_flag" -ne "0" ]
                        then
                                current_line=`echo $last`
                                linex=`echo $last_linex`
                                range=`wc -l $LOG | awk '{print $1}'`
                                default="P"
                                eof="Y"
                        elif [ "$session" -eq "1" ]
                        then
                                current_line="1"
                                linex="0"
                                range=`head -1 $TMP_PATH/browse.tmp | awk '{print $1}'`
                                range=`expr $range - 1`
                                default="N"
                                bof="Y"
                        fi
                        initial_flag=1
                        echo "\n------------------------<$BLUE_BG Event#=$session of $last_linex Env-$Cfg$DEF >--------------------\n"
                        sed -n "$current_line,$range"p $LOG
                        if [ "$eof" = "Y" ]
                        then
                                echo "\n>>>>>  Event Log EOF has been detected - <press enter to continue>"
                                read
				maxsession=$session
                                eof="N"
                        elif [ "$bof" = "Y" ]
                        then
                                echo "\n>>>>>  Event Log BOF has been detected - <press enter to continue>"
                                read
                                bof="N"
                        fi
                        echo "$CYAN_FG Enter Browse Function: Q=Quit N=Next P=Previous #=Event# S=Search [$WHITE_FG Def=$default $CYAN_FG]$DEF > \c$DEF"
                        read input
                        if [ "$input" = "q" -o "$input" = "Q" ]
                        then
                                rm $TMP_PATH/browse.tmp > /dev/null 2>&1
				break
                        elif [ "$input" = "S" -o "$input" = "s" ]
                        then
				less -R $LOG
                        elif [ "$input" = "" ]
                        then
                                input=`echo $default`
                        elif [ "$input" -ge "1" ]
                        then
				sav_range=$range
                                if [ "$input" -gt "$max_event" ]; then input=`echo $max_event`; fi
                                session=`echo $input`
                                linex=`echo $input`
                                current_line=`sed -n "$linex,$linex"p $TMP_PATH/browse.tmp | awk '{print $1}'`
                                linex2=`expr $linex + 1`
                                range=`sed -n "$linex2,$linex2"p $TMP_PATH/browse.tmp | awk '{print $1}'`
				if [ "$range" -eq "" ];then range=$sav_range; fi
                                range=`expr $range - 1`
                                jump=1
                                default=`echo "N"`
                        elif [ "$input" != "" -a "$jump" -ne "1" -a "$input" != "P" -o "$input" != "p" -o "$input" != "N" -o "$input" != "n" ]
                        then
                                default=`echo "N"`
                        fi
                        jump=0
                        if [ "$input" = "P" -o "$input" = "p" -o "$input" = "" ]
                        then
				
                                session=`expr $session - 1`
				if [ "$session" -ge "1" ]
				then
                                	linex=`expr $linex - 1`
                                	range=`expr $current_line - 1`
                                	current_line=`sed -n "$linex,$linex"p $TMP_PATH/browse.tmp | awk '{print $1}'`
                                	default="P"
				else
					session=1
				fi
                                continue
                        elif [ "$input" = "N" -o "$input" = "n" ]
                        then
                                session=`expr $session + 1`
				if [ "$session" -lt "$max_event" ]
				then
                                	linex=`expr $linex + 1`
                                	current_line=`sed -n "$linex,$linex"p $TMP_PATH/browse.tmp | awk '{print $1}'`
                                	linex_plus=`expr $linex + 1`
                                	range=`sed -n "$linex_plus,$linex_plus"p $TMP_PATH/browse.tmp | awk '{print $1}'`
                                	range=`expr $range - 1`
                                	default="N"
				else
					session=$max_event
				fi
                                continue
                        fi
                done
                rm $TMP_PATH/browse.tmp > /dev/null 2>&1
                else
                        return
                fi
}

client_manager_rtn()
{

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled client_manager_rtn()"; set -x
	fi
	nocalc=0;
	TMP_PATH="$BASE_TMP_PATH"
	rm $TMP_PATH/clientlist*.tmp $TMP_PATH/input.dat.* >/dev/null 2>&1
	sort -u $TMP_PATH/input.dat1 > $TMP_PATH/input.dat.sav
	grep -v "^#" $CFG | awk -F, '{print $1,$5}' > $TMP_PATH/clientgroup.dat.sav 2>&1
	grep "^#DISABLED" $CFG | sed -n "s/#DISABLED //"p | awk -F, '{print $1,$5}' >> $TMP_PATH/clientgroup.dat.sav 2>&1

	zero="0"; echo "$DEF"; cnt=0; sx=0; rnum=1; bk=")"; dot="."; ast="*"
	if [ "$1" = "domain" ]
	then
		cxcnt1=0; cxcnt2=0; cxcnt3=0; state1=""; state2=""; state3=""; Mode=5
		cp $TMP_PATH/input.dat.sav $TMP_PATH/input.dat >/dev/null 2>&1
		filex="input.dat"; pathx="$TMP_PATH"
		heading1="CONFIGURATION MANAGER [DOMAIN-VIEW]: "
		heading2="<domain-name> [client-count]"
		prompt="$BLUE_BG$WHITE_FG Config Options:$DEF\n\n$CYAN_FG [$WHITE_FG#$CYAN_FG=Domain$WHITE_FG I$CYAN_FG=Inhibit-Stats$WHITE_FG G$CYAN_FG=Group$WHITE_FG F$CYAN_FG=Refresh$WHITE_FG H$CYAN_FG=Search$WHITE_FG S$CYAN_FG=Status-All$WHITE_FG C$CYAN_FG=Cfg-View$WHITE_FG P$CYAN_FG=Cfg-Parse$WHITE_FG R$CYAN_FG=Report$WHITE_FG U$CYAN_FG=Cfg-Edit$WHITE_FG B$CYAN_FG=Build-CSV-Stats$WHITE_FG\n\n W$CYAN_FG=Col-Width$WHITE_FG Q$CYAN_FG=Quit] >"
		msg1=""
		awk '{print $2}' $pathx/$filex | grep "^/" | sort -u > $pathx/$filex$dot
		filex2="$filex"; filex="$filex$dot"
		maxcnt=`grep -v "^#" $pathx/$filex 2>/dev/null | wc -l | awk '{print $1}'`
		key2=""; key3=""
	elif [ "$1" = "status" ]
	then
		cxcnt1=0; cxcnt2=0; cxcnt3=0; state1=""; state2=""; state3=""; dct1=""; dct2=""; dct3=""; Mode=1
		cp $TMP_PATH/input.dat.sav $TMP_PATH/input.dat >/dev/null 2>&1
		all="all"
		filex="input.dat"; pathx="$TMP_PATH"
		heading1="CONFIGURATION MANAGER [ALL-CLIENT-VIEW]: "
		heading2="<client-name> [#Entries-state] Blue=Not-Configured Green=Enabled Red=Disabled"
		prompt="$CYAN_FG Config Options: [$WHITE_FG A$CYAN_FG=Add$WHITE_FG D$CYAN_FG=Disable$WHITE_FG E$CYAN_FG=Enable$WHITE_FG H$CYAN_FG=Search$WHITE_FG M$CYAN_FG=Modify$WHITE_FG O$CYAN_FG=Remove$WHITE_FG R$CYAN_FG=Report$WHITE_FG T$CYAN_FG=Audit$WHITE_FG V$CYAN_FG=Quick-View$WHITE_FG Def$CYAN_FG=Domain-View>] >"
		cat $pathx/$filex | sort -u | awk '{print $1}' > $pathx/$filex$dot$all
		filex2="$filex"; filex="$filex$dot$all"
		maxcnt=`wc -l $pathx/$filex 2>/dev/null | awk '{print $1}'`
		maxcnt=`grep -v "^$" $pathx/$filex 2>/dev/null | wc -l | awk '{print $1}'`
		key2=""; key3=""; chkx=""
		echo " >>> Please wait ...\r"
	elif [ "$1" = "client" ]
	then
		Mode=2; chkx="$2"; dflg=0

		domx_=`awk '{print $2}' $TMP_PATH/input.dat | grep "^$2" | sort -u | egrep -v "^$"`
		for d in `echo "$domx_"`
		do
			if [ "$d" = "$2" ]
			then
				domx="$d"; dflg=1; break
			else
				dlfg=0
			fi
		done
		if [ "$dflg" -ne "1" ]
		then
			echo "\n$CYAN_FG Domain name [$WHITE_FG$dmx$CYAN_FG] is ambiguous, select desired domain from list displayed: $DEF\n"
                        lline="$(awk '{print $2" "}' $TMP_PATH/.input.dat1.discover | grep "^$2" | sort -u | wc -l | awk '{print $1}')"
                        domlist=$(echo "$domx_" | grep "^$2" | sort -u | grep -n "^" | sed -n "s/:/) /"p)
                        echo "$GREEN_FG$domlist"
                        echo "\n$CYAN_FG Enter a domain by number: >$DEF \c"; read Domainx_
                       	if [ "$Domainx_" -gt "0" -a "$Domainx_" -le "$lline" ];then set -; else return; fi

                        domx="$(echo "$domlist" | sed -n "1,99"p | sed -n "$Domainx_,$Domainx_"p | awk '{print $NF}')"
			echo "\n$CYAN_FG Selected domain is [$WHITE_FG$domx$CYAN_FG]:$DEF"
		fi

  		cp $TMP_PATH/input.dat.sav $TMP_PATH/input.dat >/dev/null 2>&1
		filex="input.dat"; pathx="$TMP_PATH"
		heading1="CONFIGURATION MANAGER [DOMAIN-CLIENT-VIEW]: " 
		heading2="<client-name> [#Entries-state] Blue=Not-Configured Green=Enabled Red=Disabled" 
		prompt="$CYAN_FG Config Options: [$WHITE_FG A$CYAN_FG=Add$WHITE_FG D$CYAN_FG=Disable$WHITE_FG E$CYAN_FG=Enable$WHITE_FG H$CYAN_FG=Search$WHITE_FG M$CYAN_FG=Modify$WHITE_FG O$CYAN_FG=Remove$WHITE_FG R$CYAN_FG=Report$WHITE_FG T$CYAN_FG=Audit$WHITE_FG V$CYAN_FG=Quick-View$WHITE_FG Def$CYAN_FG=Domain-View>] >"
		msg1=""
		if [ `echo "$domx" | grep -c "REPLICATE"` -eq "0" ]
		then
			egrep -v "/REPLICATE|$domx/" $pathx/$filex | grep " $domx " | awk '{print $1}' | sort -u > $pathx/$filex$dot
		else
    			grep "$domx " $pathx/$filex | awk '{print $1}' | egrep -v "$domx " | sort -u > $pathx/$filex$dot
		fi
		maxcnt=`wc -l $pathx/$filex$dot | awk '{print $1}'`
		key2="$domx,"; key3="$domx"
		filex2="$filex"; filex="$filex$dot"
	elif [ "$1" = "groupclient" ]
	then
		Mode=3
		cp $TMP_PATH/clientgroup.dat.sav $TMP_PATH/input.dat >/dev/null 2>&1
		grpx="$2"; chkx="$2"
		filex="input.dat"; pathx="$TMP_PATH"
		heading1="CONFIGURATION MANAGER [GROUP-CLIENT-VIEW]: " 
		heading2="<client-name> [#Entries-state] Blue=Not-Config Green=Enabled Red=Disabled Yellow=Invalid"
		prompt="$CYAN_FG Config Options: [$WHITE_FG D$CYAN_FG=Disable$WHITE_FG E$CYAN_FG=Enable$WHITE_FG M$CYAN_FG=Modify$WHITE_FG O$CYAN_FG=Remove$WHITE_FG R$CYAN_FG=Report$WHITE_FG T$CYAN_FG=Audit$WHITE_FG V$CYAN_FG=Quick-View$WHITE_FG Def$CYAN_FG=Group-View>] >"
		msg1=""
		maxcnt=`grep "^$grpx " $pathx/$filex | sort -u 2>/dev/null | wc -l | awk '{print $1}'`
		grep "^$grpx " $pathx/$filex | awk '{print $2}' | sort -u > $pathx/$filex$dot
		key2="$grpx,"; key3="$grpx"
		filex2="$filex"; filex="$filex$dot"
	elif [ "$1" = "group" ]
	then
		Mode=4
		cp $TMP_PATH/clientgroup.dat.sav $TMP_PATH/input.dat >/dev/null 2>&1
		filex="input.dat"; pathx="$TMP_PATH"
		heading1="CONFIGURATION MANAGER [GROUP-VIEW]: "
		heading2="<group-name> [client-count]"
		prompt="$CYAN_FG Config Options: [$WHITE_FG#$CYAN_FG=Group$WHITE_FG Z$CYAN_FG=Calculate-Aggregate-Size$WHITE_FG C$CYAN_FG=View-Cfg$WHITE_FG R$CYAN_FG=Report$WHITE_FG U$CYAN_FG=Cfg-Edit$WHITE_FG S$CYAN_FG=Status-All$WHITE_FG Def$CYAN_FG=Domain-View>] >"
		awk '{print $1}' $pathx/$filex | sort -u | grep . > $pathx/$filex$dot
		msg1="group"
		maxcnt=`wc -l $pathx/$filex$dot | awk '{print $1}'`
		filex2="$filex"; filex="$filex$dot"
		key2=""; key3=""
	fi
	heading_=`echo "$BLUE_BG$WHITE_FG$heading1$CYAN_FG$heading2                                                                                                          " | cut -b1-153`
	echo "$DEF"
	cnt=0; sx=0; rnum=1; bk=")"; dot="."; ast="*"; dt1c=""; dt2c=""; dt3c=""
	colwidth="$(grep "^CMCOLWIDTH=" $BULOCATION/customize/adme.cfg | awk -F= '{print $2}')"
	
	while true
	do
  		for x in `awk '{print $1}' $pathx/$filex 2>/dev/null | awk '{print $NF}'`
		do
			if [ "$x" = "" -o "$x" = "," ];then continue; else x="$x"; fi
			cnt=`expr $cnt + 1`
		 	sx=`echo "$cnt$bk"`
			if [ "$rnum" -eq "1" ]
			then
				if [ "$Mode" -le "3" ]
				then
					cxcnt1="$(grep -v "^#" $CFG | grep "$key2" | grep -c ",$x,")"
					username1="ADAM111"
					if [ "$VMQUALIFIEDNAMES" = "false" -a "$cxcnt1" -eq "0" ]
					then
 						username1="$(grep "$x" $TMP_PATH/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"
 						cxcnt1="$(grep -v "^#" $CFG | grep "$key2" | grep -c ",$username1,")"
					fi
					if [ "$(grep "$chkx" $CFG | grep "^#DISABLED" | grep -c ",$x,")" -gt "0" ]
#					if [ `grep "^#DISABLED " $CFG | egrep -c "$username1|$x"` -gt "0" ]
					then
						dt1c="$RED_FG"; state1="-D"
  					elif [ "$(awk '{print $1}' $TMP_PATH/.input.dat1.discover | grep -c "^$x")" -eq "0" -a "$(grep -c "$x" $TMP_PATH/.vmqualifiednames.dat)" -eq "0" ]
					then
						dt1c="$YELLOW_FG"; state1="-I"
					elif [ "$cxcnt1" -gt "0" ]	
					then
						dt1c="$GREEN_FG"; state1="-E"
					else
						dt1c="$BLUE_FG"; state1="-N"
					fi 
					cxcnt1_=`echo "[$cxcnt1]     "|cut -b1-5`
				elif [ "$Mode" -ge "4" ]
				then
					cxcnt1=0; state1=""
					for v in $(grep "$x" $pathx/$filex2)
					do
						if [ "$x" = "$v" ];then cxcnt1=`expr $cxcnt1 + 1`; fi
					done
					cxcnt1_=`echo "[$cxcnt1] "|cut -b1-5`
					dt1c=""
				fi
				ses1="$sx"; ses11="$x"
				if [ "$cxcnt1" -le "9" ];then ccnt=5
				elif [ "$cxcnt1" -le "99" ];then ccnt=6
				else ccnt=7; fi
				ses1_=`echo "$ses1   "|cut -b1-$ccnt`
				ses11_=`echo "$ses11 [$cxcnt1$state1]                                                              "|cut -b1-$colwidth`
				if [ "$cnt" -eq "$maxcnt" ]
				then
					echo " $ses1_ $ses11_" >> $TMP_PATH/clientlist.tmp
					echo " $ses1_ $dt1c$ses11_$DEF" >> $TMP_PATH/clientlistcolor.tmp
					break
				fi
				rnum=`expr $rnum + 1`; continue
			 elif [ "$rnum" -eq "2" ]
			 then
				if [ "$Mode" -le "3" ]
				then
					cxcnt2=`grep -v "^#" $CFG | grep "$key2" | grep -c ",$x,"`
					username2="ADAM222"
 					if [ "$VMQUALIFIEDNAMES" = "false" -a "$cxcnt2" -eq "0" ]
					then
 						username2="$(grep "$x" $TMP_PATH/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"
 						cxcnt2="$(grep -v "^#" $CFG | grep "$key2" | grep -c ",$username2,")"
					fi
 					if [ "$(grep "$chkx" $CFG | grep "^#DISABLED" | grep -c ",$x,")" -gt "0" ]
#					if [ `grep "^#DISABLED " $CFG | egrep -c "$username2|$x"` -gt "0" ]
					then
						dt2c="$RED_FG"; state2="-D"
 					elif [ `awk '{print $1}' $TMP_PATH/.input.dat1.discover | grep -c "^$x"` -eq "0" -a "$(grep -c "$x" $TMP_PATH/.vmqualifiednames.dat)" -eq "0" ]
					then
						dt2c="$YELLOW_FG"; state2="-I"
					elif [ "$cxcnt2" -gt "0" ]
					then
						dt2c="$GREEN_FG"; state2="-E"
					else
						dt2c="$BLUE_FG"; state2="-N"
					fi 
					cxcnt2_=`echo "[$cxcnt2]         "|cut -b1-5`
				elif [ "$1" = "domain" -o "$1" = "group" ]
				then
					cxcnt2=0; state2=""
					key=""
					for v in $(cat $pathx/$filex2)
					do
						if [ "$x" = "$v" ];then cxcnt2=`expr $cxcnt2 + 1`; fi
					done
					cxcnt2_=`echo "[$cxcnt2]         "|cut -b1-5`
					dt2c=""
				fi
				ses2="$sx "; ses22="$x"
				if [ "$cxcnt2" -le "9" ];then ccnt=5
				elif [ "$cxcnt2" -le "99" ];then ccnt=6
				else ccnt=8; fi
				ses2_=`echo " $ses2     "|cut -b1-$ccnt`
				ses22_=`echo "$ses22 [$cxcnt2$state2]                                                               "|cut -b1-$colwidth`
				if [ "$cnt" -eq "$maxcnt" ]
				then
					echo " $ses1_ $ses11_ $ses2_ $ses22_" >> $TMP_PATH/clientlist.tmp
					echo " $ses1_ $dt1c$ses11_$DEF $ses2_ $dt2c$ses22_$DEF" >> $TMP_PATH/clientlistcolor.tmp
					break
				fi
				rnum=`expr $rnum + 1`; continue
			elif [ "$rnum" -eq "3" ]
			then
				if [ "$Mode" -le "3" ]
				then
					cxcnt3=`grep -v "^#" $CFG | grep "$key2" | grep -c ",$x,"`
					username3="ADAM333"
					if [ "$VMQUALIFIEDNAMES" = "false" -a "$cxcnt3" -eq "0" ]
					then
 						username3="$(grep "$x" $TMP_PATH/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"
 						cxcnt3="$(grep -v "^#" $CFG | grep "$key2" | grep -c ",$username3,")"
					fi
					if [ `egrep "$chkx,$username|$chkx,$x" $CFG | grep "^#DISABLED" | egrep -c ",$x,"` -gt "0" ]
#					if [ `grep "^#DISABLED " $CFG | egrep -c "$username3|$x"` -gt "0" ]
					then
						dt3c="$RED_FG"; state3="-D"
 					elif [ `awk '{print $1}' $TMP_PATH/.input.dat1.discover | grep -c "^$x"` -eq "0" -a "$(grep -c "$x" $TMP_PATH/.vmqualifiednames.dat)" -eq "0" ]
					then
						dt3c="$YELLOW_FG"; state3="-I"
					elif [ "$cxcnt3" -gt "0" ]
					then
						dt3c="$GREEN_FG"; state3="-E"
					else
						dt3c="$BLUE_FG"; state3="-N"
					fi 
					cxcnt3_=`echo "[$cxcnt3]         "|cut -b1-5`
				elif [ "$1" = "domain" -o "$1" = "group" ]
				then
					cxcnt3=0; state3=""
					key=""
					for v in $(cat $pathx/$filex2)
					do
						if [ "$x" = "$v" ];then cxcnt3=`expr $cxcnt3 + 1`; fi
					done
					cxcnt3_=`echo "[$cxcnt3]         "|cut -b1-4`
					dt3c=""
				fi
				ses3="$sx "; ses33="$x"
				if [ "$cxcnt3" -le "9" ];then ccnt=5
				elif [ "$cxcnt3" -le "99" ];then ccnt=6
				else ccnt=8; fi
				ses3_=`echo " $ses3     "|cut -b1-$ccnt`
				ses33_=`echo "$ses33 [$cxcnt3$state3]                                                             "|cut -b1-$colwidth`
				if [ "$cnt" -eq "$maxcnt" ]
				then
					echo " $ses1_ $ses11_ $ses2_ $ses22_ $ses3_ $ses33_" >> $TMP_PATH/clientlist.tmp
					echo " $ses1_ $dt1c$ses11_$DEF $ses2_ $dt2c$ses22_$DEF $ses3_ $dt3c$ses33_$DEF" >> $TMP_PATH/clientlistcolor.tmp
					break
				else
					echo " $ses1_ $ses11_ $ses2_ $ses22_ $ses3_ $ses33_" >> $TMP_PATH/clientlist.tmp
					echo " $ses1_ $dt1c$ses11_$DEF $ses2_ $dt2c$ses22_$DEF $ses3_ $dt3c$ses33_$DEF" >> $TMP_PATH/clientlistcolor.tmp
					rnum=1; continue
				fi
			fi
		done

		while true
		do
			if [ "$Debug" -gt "0" ];then clear; fi
			echo "$head_w_name"
			echo " $heading_$DEF"
			echo "$head_w"

			if [ -s $TMP_PATH/clientlistcolor.tmp ]
			then
				cat $TMP_PATH/clientlistcolor.tmp
			else
				echo "INFO: $msg1"; read
			fi

			if [ "$Mode" -le "3" ]
			then
				if [ "$Mode" -eq "1" ]
				then
					dmx_=""; search_file="$TMP_PATH/input.dat1"
					client_list="$(awk '{print $1}' $search_file)"
				elif [ "$Mode" -eq "2" ]
				then
					dmxfull="$domx"
					search_file="$TMP_PATH/input.dat1"
                                        dmx_=",$dmxfull,"
                                        client_list="$(grep " $dmxfull " $search_file | awk '{print $1}')"

				elif [ "$Mode" -eq "3" ]
				then
					dmx_="$dmx";  search_file="$CFG"
					client_list="$(grep "$dmx_" $CFG | awk -F, '{print $4,$5}' | awk '{print $2}' | sort)"
				fi
				if [ "$Nocalc" -eq "0" ]
				then	
					inhibit=""
					cxnot=0; cxen=0; cxdis=0; cxinv=0; cxretire=0
					for clx in $(echo "$client_list")
					do
						cli_full_name="$clx"
						discnt=$(grep -e "^#DISABLED " $CFG | grep -e "$dmx_" | grep -c ",$cli_full_name,"); cxdis=$(expr $cxdis + $discnt)
						encnt=$(egrep -v "^#" $CFG | grep -e "$dmx_" | grep -c ",$cli_full_name,"); cxen=$(expr $cxen + $encnt)
						retcnt=$(egrep -e "MC_RETIRED" $TMP_PATH/input.dat1 | grep -c "^$cli_full_name "); cxretire=$(expr $cxretire + $retcnt)
						if [ $(grep -c ",$cli_full_name," $CFG) -eq 0 ];then cxnot=$(expr $cxnot + 1); fi
					done
				else
					inhibit="$DEF$RED_BG$WHITE_FG CLIENT-STATS-DISABLED$DEF$BLUE_BG$WHITE_FG"
				fi
				
				echo "\n$head_w"
				cxnot_=`echo "$cxnot   " | cut -b1-4`; cxen_=`echo "$cxen   " | cut -b1-4`
				cxdis_=`echo "$cxdis    " | cut -b1-4`
				cxinv_=`echo "$cxinv    " | cut -b1-4`
				msgx1="CLIENT-STATS"
				msgx2="Not-Configured=$cxnot_ Disabled=$cxdis_ Enabled=$cxen_ Invalid=$cxinv_ Retired=$cxretire                            "
				if [ "$Nocalc" -eq "0" ]
				then
					msgx_=`echo "$BLUE_BG$WHITE_FG $msgx1$inhibit:  $CYAN_FG$msgx2                                                                                           $DEF" | cut -b1-154`
				else
					msgx_=`echo "$BLUE_BG$WHITE_FG $inhibit:  $CYAN_FG$msgx2                                                                                           $DEF" | cut -b1-190`
				fi
				echo "$msgx_$DEF"
				echo "$DEF$head_w"
			else
				echo "\n$DEF$head_w"
			fi
			cxnot=0; cxdis=0; cxinv=0; cxen=0; cxretire=0
			echo "\n$prompt$DEF \c"
			read input
			if [ "$1" = "domain" -a "$input" = "q" -o "$input" = "Q" ]
			then
				rm -f $TMP_PATH/input.tmp $TMP_PATH/input.dat* $TMP_PATH/clientlist*.tmp $TMP_PATH/config.tmp >/dev/null 2>&1
				RC=1; return 1
			elif [ "$1" = "domain" -a "$input" = "" ]
			then
				RC=0; return
			elif [ "$Mode" -ge "4" -a "$input" = "Z" -o "$input" = "z" ]
			then
				if [ "$useenvx_" = "" ]
				then
					useenvx_="20"
					rm $BULOCATOIN/tmp/atocfg20/adm.lck >/dev/null 2>&1
				fi
	
				if [ "$pluginx_" = "" ];then pluginx_="File-System"; fi

				while true
				do
					echo "\n$CYAN_FG Choose a group-name by number to calculate:$WHITE_FG Def=$grpnum_$DEF :> \c"; read grpnum
					if [ "$grpnum" = "" -a "$grpnum_" != "" ];then grpnum="$grpnum_"; else grpnum_="$grpnum"; fi
					getitem_rtn $grpnum
					grpname="$Itemx"
					echo "$GREEN_FG\n 1.  Legacy Exch-DB\n 2.  Exchange VSS\n 3.$RED_FG LinuxFastInc$GREEN_FG\n 4.  Lotus\n 5.  NDMP\n 6.  Oracle\n 7.$RED_FG  SAP$GREEN_FG\n 8.  SharePoint VSS\n 9.  SQL\n 10. Hyper-V VSS\n 11. Vmimage\n 12.$RED_FG Sybase$GREEN_FG \n 13. System-State VSS\n 14.$WHITE_FG File-System$DEF"
					echo "\n$CYAN_FG Enter a Plug-IN type by number from list above:$WHITE_FG Def=$pluginx_$DEF :> \c"; read pluginx

					if [ "$pluginx" -eq "1" ];then pluginx="-exchdb"
					elif [ "$pluginx" -eq "2" ];then pluginx="-exchvss"
					elif [ "$pluginx" -eq "3" ];then pluginx="-linuxfastinc"
					elif [ "$pluginx" -eq "4" ];then pluginx="-lotus"
					elif [ "$pluginx" -eq "5" ];then pluginx="-ndmp"
					elif [ "$pluginx" -eq "6" ];then pluginx="-oracle"
					elif [ "$pluginx" -eq "7" ];then pluginx="-sap"
					elif [ "$pluginx" -eq "8" ];then pluginx="-shptvss"
					elif [ "$pluginx" -eq "9" ];then pluginx="-sql"
					elif [ "$pluginx" -eq "10" ];then pluginx="-hypervvss"
					elif [ "$pluginx" -eq "11" ];then pluginx="-vmimage"
					elif [ "$pluginx" -eq "12" ];then pluginx="-sybase"
					elif [ "$pluginx" -eq "13" ];then pluginx="-vss"
					elif [ "$pluginx" -eq "14" ];then pluginx="-chkpt"
					elif [ "$pluginx" -eq "15" -o "$pluginx" = "File-System" ];then pluginx=""
					elif [ "$pluginx" -gt "15" ]
					then
						echo "\n$ERRORX-00: Plugin selection out of range$DEF"
						continue 
					elif [ "$pluginx" -eq "" -o "$pluginx" = "File-System" ];then pluginx="$pluginx_"
					else continue; fi
					pluginx_="$pluginx"
					if [ "$useenvx" -eq "" ];then useenvx=20; fi
					echo "\n$CYAN_FG Enter an Env-# to use:$WHITE_FG Def=$useenvx$DEF :> \c"; read useenvx
					if [ "$useenvx" = "" -a "$useenvx_" != "" ];then useenvx="$useenvx_"; else useenvx_="$useenvx"; fi
					Groupsize=1
					if [ "$useenvx" = "" -o "$useenvx" = "1" ]
					then
						echo "\n $ERRORX: Env-1 cannot be used, it's suggested Env-20 be reserved for this purpose$DEF"
						continue
					fi
					if [ "$grpname" != "" ];then break; fi
				done
				if [ "$pluginx" = "File-System" ];then pluginx=""; fi
				groupsize_rtn g=$grpname,e=$useenvx,p=$pluginx
				echo "\n<Press Enter to Continue>"; read
			elif [ "$Mode" -ge "4" -a "$input" = "C" -o "$input" = "c" ]
			then
				if [ "$Mode" -eq "5" ]
				then
					grps=`grep -v "^#" $CFG | awk -F, '{print $1}' | sort -u`; display=""
					gcnt=0
					for list in `echo $grps`
					do
						if [ "$gcnt" -le "13" ]
						then
							gcnt=`expr $gcnt + 1`; gline=""
						else
							gcnt=0; gline="\n"
						fi
						display="$display $list$gline"
					done 
					echo "\n$CYAN_FG Available Client Group-ID's:$DEF"
					echo "\n$GREEN_FG$display$DEF"
					Itemx="n/a"
					echo "\n$CYAN_FG View by Group-ID or ALL, Enter [$WHITE_FG<Group-Name> or A=All Def Q=Quit$CYAN_FG]:>$DEF \c"; read grpx
					if [ "$grpx" = "q" -o "$grpx" = "Q" -o "$grpx" = "" ];then continue
					elif [ "$grpx" = "a" -o "$grpx" = "A" ];then grpx=""; fi
				else
					echo "\n$CYAN_FG Select group item# to view: > $DEF \c"; read grpx
					getitem_rtn $grpx
					grpx="$Itemx"
				fi
				init_config_rtn dummy $grpx
				echo "\n<Press Enter to Continue>"; read
				if [ "$Mode" -eq "4" ];then RC=5; else RC=0; fi
				return $RC
			elif [ "$1" = "domain" -a "$input" = "W" -o "$input" = "w" ]
			then
				echo "\n$CYAN_FG Adjust column width [$WHITE_FG ColWidth=$colwidth$CYAN_FG]: >\c "; read colw
				if [ "$colw" -eq "" ];then RC=0; return 0
				elif [ "$colw" -le "75" ]
				then
					grep -v "^CMCOLWIDTH=" $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.tmp
					echo "CMCOLWIDTH=$colw" >> $BULOCATION/customize/adme.cfg.tmp; CMCOLWIDTH="$colw"
					mv $BULOCATION/customize/adme.cfg.tmp $BULOCATION/customize/adme.cfg
				fi
			elif [ "$1" = "domain" -a "$input" = "B" -o "$input" = "b" ]
			then
				gather_stats_rtn force
				RC=0; return 0
			elif [ "$1" = "domain" -a "$input" = "P" -o "$input" = "p" ]
			then
				parse_rtn $Cfg
				echo "\n<Press Enter to Continue>"; read
				RC=3; return 3
			elif [ "$1" = "domain" -a "$input" = "U" -o "$input" = "u" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
				$MYEDITOR $CFG
				RC=3; return 3
			elif [ "$1" = "client" -a "$input" = "" ]
			then
				RC=0; return 0
			elif [ "$1" = "domain" -a "$input" = "i" -o "$input" = "I" ]
			then
#				session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
#				vmimage_edit_rtn	
				nocalc_rtn
				RC=0; return 0
			elif [ "$1" = "domain" -a "$input" = "s" -o "$input" = "S" ]
			then
				RC=4; return 4
			elif [ "$1" = "domain" -a "$input" = "g" -o "$input" = "G" ]
			then
				RC=5; return 5
			elif [ "$1" = "groupclient" -a "$input" = "" ]
			then
				RC=5; return 5
			elif [ "$1" = "group" -a "$input" = "" ]
			then
				RC=0; return 0
			elif [ "$1" = "status" -a "$input" = "" ]
			then
				RC=0; return 0
			elif [ "$input" = "h" -o "$input" = "H" ]
			then
				echo "\n$CYAN_FG Enter a client name string to search for: >$DEF \c"; read input2
				echo "\n$BLUE_BG$WHITE_FG Client-Number(s)$DEF"
				grep -i "$input2" $BULOCATION/tmp/atocfg/clientlistcolor.tmp
				echo "\n$BLUE_BG$WHITE_FG Domain-Name(s)$DEF"
				grep -i "$input2" $BULOCATION/tmp/atocfg/input.dat1 2>/dev/null
				echo "\n<Press Enter to Continue>\c"; read
			elif [ "$1" = "domain" -a "$input" = "f" -o "$input" = "F" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
				echo "\nRefreshing Avamar Domain Discovery, please wait..."
				domain_discover_rtn
				vmdiscover_rtn
 				cp $TMP_PATH/input.dat1 $TMP_PATH/.input.dat1.discover >/dev/null 2>&1
				RC=0; return 0
			elif [ "$1" = "group" -a "$input" = "s" -o "$input" = "S" ]
			then
				RC=4; return 4
			elif [ "$Mode" -le "3" -a  "$input" = "R" -o "$input" = "r"  ]
			then
				echo "\n$CYAN_FG Enter Client Report Filename [Q=Quit$WHITE_FG Def=ato-clientreport.txt$CYAN_FG ]: >$DEF \c"; read input2
				if [ "$input2" = "" ];then input2="ato-clientreport.txt"; fi
				if [ "$input2" = "q" -o "$input2" = "Q" ]
				then
					RC=0; return 0
				fi
				touch $input2 >/dev/null 2>&1
				if [ -f $input2 ]
				then
					echo "$heading\n" > $input2
					cat $pathx/clientlist.tmp >> $input2 2>&1
					echo "\nClient report saved to [ $input2 ], <Press Enter to Continue>\c"; read
					if [ "$Domainx" = "" ];then Domainx="ALL-DOMAINS"; fi
					echo "\nCLIENT REPORT FOR [`date +'%d/%m/%y %H:%M'`] DOMAIN/GROUP: $domx" >> $input2
					echo "\nADME-CLIENT-STATUS: Not-Configured=$cxnot_ Configured=$cxok_" >> $input2 
				else
					echo "\n$RED_FG Unable to create client report file [$input2]$DEF\c"; read
				fi
				RC=0; return 0
			elif [ "$Mode" -le "3" -a "$input" = "t" -o "$input" = "T" ]
                        then
                                echo "\n$CYAN_FG Choose a Client-# to audit or [$WHITE_FG Press Enter to Return $CYAN_FG]:>$DEF \c"
                                read inputa
                                if [ "$inputa" -eq "" ]
                                then
                                        continue
                                else
                                        getitem_rtn $inputa
				clear
					ix=`grep "$Itemx" $TMP_PATH/input.dat1 | tail -1 | awk '{print $1}'`
  					cx="$Itemx"
					Itemx="$ix"
					data1=`egrep "Critical-Path-Chg" $BULOCATION/audit/.adme-audit.csv | grep "$ix" | awk -F, '{print $4,$5,$8,$9,$10,$11,$12}'`	
					if [ "$(echo "$data1")" = "" ];then data1="$(egrep "Critical-Path-Chg" $BULOCATION/audit/.adme-audit.csv | grep "$cx" | awk -F, '{print $1","$2","$3","$4","$10","$8","$9","$6","$7}')"; fi 
					audit_grps_envchg="$(grep "Critical-Path-Chg" $BULOCATION/audit/.adme-audit.csv | awk -F, '{print $5}' | grep "Grp=" | sort -u | sed -n "s/Grp=//"gp)"
					audit_grps_noenvchg="$(grep -v "Critical-Path-Chg" $BULOCATION/audit/.adme-audit.csv | awk -F, '{print $5}' | grep "Grp=" | sort -u | sed -n "s/Grp=//"gp)"
						
					audit_grps="$(echo "$audit_grps_envchg $audit_grps_noenvchg" | sort -u)"

					agx_=""
					for agx in `echo $audit_grps`
					do
							if [ "$(echo "$agx_" | grep -c "$agx")" -eq "1" ];then continue; fi
							agx_="$agx_ $agx"
					done
					echo "\n$GREEN_FG Audit Procedural Overview:$DEF"
					echo "\nAn audit of each recovery and export session is maintained providing a chain of custody history which can be queried to confirm which"
					echo "backups were migrated along with their completion status and where they were migrated to. An audit record is comprised of a series"
					echo "of field values of which four are$ considered$CYAN_FG critical path components CPC$DEF as they are crucial in knowing where to locate migrated"
					echo "data. CPC fields include master tape server name, staging server name, staging path and the export tape policy name used."

					echo "\nCPC records are typically few on a per client basis often just a single record as they rarley change over time. Other audit record"
					echo "types include Staging-Succeeded, Staging-Failed, Export-Succeeded and Export Failed. Tied with each audit record is a migration sequence"
					echo "number used to differentiate and/or filter records between autonomous migration sessions."

					echo "\nSeveral prompts are presented here where the value entered is used to limit the records displayed. You will be prompted for a group name,"
					echo "to act on all records or just CPC records and whether to limit the report to Export record types only. Responses to these prompts will vary"
					echo "based on your needs for querying the audit trail for example; if it is to locate data on tape or cloud storage looking at CPC records"
					echo "may be all that is required. To identify all records assigned to a given sequence number first limit the display to Export records only to"
					echo "identify a sequence number based on the migration date of interest then requery using this sequence number to display all record types "
					echo "associated with it."

					echo "\nADMe also provides a customized spreadsheet to which the audit trail file can be imported to facilitating enhanced filtering and portability."
					echo "A copy of the adme-audit.csv file along with a migration report file based on a specified sequence number can be emailed as required." 
					echo "\n==============================================================================================================================================="
					echo "\n$BLUE_BG$WHITE_FG Audit Client: $cx$DEF"

					echo "\nAvailable client group names:"
					echo "$GREEN_FG\n$agx_$DEF"
					echo "$CYAN_FG\nEnter a group name to limit audit report to or [$WHITE_FG Def=All$CYAN_FG]:>$DEF \c"; read auditgrp
					echo "$CYAN_FG\nChoose audit report type: [$WHITE_FG D$CYAN_FG=Detailed$WHITE_FG Def=Summary (CPC only)$CYAN_FG]:>$DEF \c"; read audittype

					if [ "$audittype" != "D" -a "$audittype" != "d" ]
					then
						if [ "$auditgrp" != "" ]
						then
							data1=`egrep "Critical-Path-Chg" $BULOCATION/audit/.adme-audit.csv | grep "Client=$cx," | egrep ",Grp=$auditgrp," | awk -F, '{print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$14,$15,$30}'`
						else
							data1=`egrep "Critical-Path-Chg" $BULOCATION/audit/.adme-audit.csv | grep "Client=$cx," | awk -F, '{print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$14,$15,$30}'`
						fi
					fi
					
					if [ "$audittype" = "D" -o "$audittype" = "d" ]
					then
						if [ "$auditgrp" != "" ]
						then
							data1="$(egrep "Grp=$auditgrp" $BULOCATION/audit/.adme-audit.csv | grep ",Grp=$auditgrp,")"
						else
							data1="$(egrep "Client=$cx" $BULOCATION/audit/.adme-audit.csv)"
						fi
					fi
					mailfilesx="/tmp/adme-audit.csv"

					if [ "$data1" != "" ]
					then
						if [ "$audittype" = "S" -o "$audittype" = "s" -o "$audittype" = "" ]
						then
							echo "$DEF\n$GREEN_FG$data1$DEF" | more
						else
							echo "$CYAN_FG\nLimit report to Export records or specified Sequence number [$WHITE_FG Enter E or Sequence-#$CYAN_FG]:>$DEF \c"; read auditexp
							while true
							do
							if [ "$auditexp" = "E" -o "$auditexp" = "e" ]
							then
								if [ "$auditgrp," = "" ];then egrep "^Export-" $BULOCATION/audit/.adme-audit.csv > /tmp/adme-audit.csv
								else egrep "^Export-" $BULOCATION/audit/.adme-audit.csv | grep ",Grp=$auditgrp" > /tmp/adme-audit.csv; fi
							elif [ "$auditexp" -ge "1" ]
							then
								egrep ",$auditexp" $BULOCATION/audit/.adme-audit.csv > /tmp/adme-audit.csv
								
								$HOMEPATH/adme -cfg stats noprompt >/dev/null 2>&1
								if [ -s $BULOCATION/audit/$auditexp.txt ]
								then
									echo "\nAssociated report file name: $BULOCATION/audit/$auditexp.txt \n"
									mailfilesx="$BULOCATION/audit/filtered-audit.csv -a $BULOCATION/audit/$auditexp.txt -a $BULOCATION/doc/adme-audit.xlsm -a $BULOCATION/stats/adme-property-stats.csv"
								else
									echo "\n$RED_FG Unable to stat associated report file name:$WHITE_FG $BULOCATION/audit/$auditexp.txt$DEF \n"
									mailfilesx="$BULOCATION/filtered-audit.csv -a $BULOCATION/doc/adme-audit.xlsm -a $BULOCATION/stats/adme-property-stats.csv"
								fi
							else echo "$data1" > /tmp/adme-audit.csv; fi

							acnt=1; wcnt=`wc -l /tmp/adme-audit.csv | awk '{print $1}'`
							while true
							do
								linex_=`sed -n "$acnt,$acnt"p /tmp/adme-audit.csv`
								linex=`echo "$linex_" | sed -n "s/Client=$cx//"p`	
								linex="$linex_"
								if [ `echo "$linex" | egrep -c "^Critical"` -ne "0" ];then echo "$DEF$GREEN_FG$linex"
								elif [ `echo "$linex" | egrep -c "^Export-"` -ne "0" ];then echo "$DEF$YELLOW_FG$linex"
								else echo "$DEF$WHITE_FG$linex"; fi
								acnt=`expr $acnt + 1`	
								if [ "$acnt" -gt "$wcnt" ];then break; else continue; fi
							done
							if [ "$auditexp" = "E" -o "$auditexp" = "e" ]
							then
								echo "$CYAN_FG\nIdentify a Migration Sequence number to limit display or <Press Enter> [$WHITE_FG Enter Sequence-#$CYAN_FG]:>$DEF \c"; read auditexp
								continue
							else		
								break
							fi
							done
						fi
					else
						echo "$DEF\nNo matching audit records found for Client=$cx"
						break
					fi

					mail_file_rtn ADMe-Audit-CSV "$mailfilesx"
					if [ -s /tmp/adme-audit.csv ];then rm /tmp/adme-audit.csv >/dev/null 2>1; fi
					continue
                                fi	
				rm /tmp/adme-audit.csv >/dev/null 2>&1

			elif [ "$Mode" -le "2" -a "$input" = "a" -o "$input" = "A" -o "$input" = "m" -o "$input" = "M" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
				echo "\n$CYAN_FG Enter a client# to add/modify or [$WHITE_FG Press Enter to Return $CYAN_FG]:>$DEF \c"
				read input2
				if [ "$input2" = "" -a "$Domainx" = "" ]
				then
					continue
				else
					if [ "$input" = "a" -o "$input" = "A" ];then action="Add"; else action="Modify"; fi
					if [ $Mode -eq 1 ];then Domainx=""; fi
					getitem_rtn $input2
					if [ $Mode -gt 2 ]
					then
 echo "DEBUG2 - Itemx=$Itemx Domainx=$Domainx Mode=$Mode"
    						ix=`egrep "^$Domainx,|^#DISABLED $Domainx," $CFG | grep ",$Itemx" | tail -1 | awk -F, '{print $5}'`
						Itemx="$ix"
						ipdef="$Domainx"
					else
    						ix=`grep "^$Itemx " $TMP_PATH/input.dat1 | grep "$Domainx" | tail -1 | awk '{print $1}'`
						if [ "$ix" = "" ]
						then
    							ix=`grep "^$Itemx" $TMP_PATH/input.dat1 | grep "$Domainx" | tail -1 | awk '{print $1}'`
						fi	
						ipdef="$Domainx"; Itemx="$ix"
					fi

					cx="$Itemx"
					vmqualiednames_rtn "$Itemx"
					cx="$Itemx"

  					if [ "$cx" = "" ];then continue; fi


					if [ "$VMclient" -eq "1" ]
					then
						echo -e "DEBUG5 - VMclient=$VMclient Domainx_=$Domainx_ VMclientname=$Itemx"
						if [ "$VMQUALIFIEDNAMES" = "true" ];then Domainx="$Domainx_"; fi
					elif [ `grep " $Domainx" $TMP_PATH/input.dat | grep -c "^$cx "` -gt "1" -a $Mode -le 2 ]
					then
						echo "\n$CYAN_FG Client [$WHITE_FG$cx$CYAN_FG] found in multiple domains, refer to domain list below:$DEF\n"
						lline="$(grep "^$cx " $TMP_PATH/input.dat | sort -u | wc -l | awk '{print $1}')"
 						multidom=`grep "^$cx " $TMP_PATH/input.dat | awk '{print $2}'| sort -u | grep -n "^" | sed -n "s/:/) /"p`
						echo "$GREEN_FG$multidom$DEF"
                                               	echo "\n$CYAN_FG Enter a domain by number: >$DEF \c"; read Domx_
						if [ "$Domx_" -gt "$lline" -o "$Domx_" -lt "1" ];then return; fi
						selection="$(echo "$multidom" | sed -n "1,99"p | sed -n "$Domx_,$Domx_"p | awk '{print $NF}')"
						Domainx_="$selection"
					elif [ `grep "$Domainx" $CFG | grep -c "^$cx"` -gt "1" -a $Mode -gt 3 ]
					then
						echo "\n$CYAN_FG Client [$WHITE_FG$cx$CYAN_FG] found in multiple groups, refer to group list below:$DEF\n"
						lline="$(grep ",$cx," $CFG | sort -u | wc -l | awk '{print $1}')"
 						multigrp=`grep "$Domainx" $CFG | grep ",$cx," | awk -F, '{print $1}'| sort -u | grep -n "^" | sed -n "s/:/) /"p`
						echo "$GREEN_FG$multigrp$DEF"
                                               	echo "\n$CYAN_FG Enter a group by number: >$DEF \c"; read Grpx_
						if [ "$Grpx_" -gt "$lline" -o "$Grpx_" -lt "1" ];then return; fi
						selection="$(echo "$multigrp" | sed -n "1,99"p | sed -n "$Grpx_,$Grpx_"p | awk '{print $NF}')"
						Domainx_="$selection"
					else
						Domainx_=`grep " $Domainx" $TMP_PATH/input.dat | grep "^$cx " | awk '{print $2}'`
					fi

					if [ "$Mode" -eq "3" "$VMclient" -eq "0" ]
					then
						Domainx="$(grep "$Domainx," $CFG | grep ",$cx," | tail -1 | awk -F, '{print $4}')"
					elif [ "$VMclient" -eq "1" ]
					then
						Domainx="$Domainx_"
					else
						Domainx=`grep " $Domainx_" $TMP_PATH/input.dat | grep "^$cx " | head -1 | awk '{print $2}'`
					fi

	 				grps=`grep -v "^#" $CFG | awk -F, '{print $1}' | sort -u`; display=""
					gcnt=0
					for list in `echo $grps`
					do
						if [ "$gcnt" -le "8" ]
						then
							gcnt=`expr $gcnt + 1`; gline=""
						else
							gcnt=0; gline="\n"
						fi
						display="$display $list$gline"
					done 
					echo "\n$CYAN_FG Available Client Group-ID's:$DEF"
					echo "\n$GREEN_FG$display$DEF"
					grps=`egrep ",$Domainx,$cx," $CFG | awk -F, '{print $1}' | egrep -v "^# |^##"`
					echo "\n$CYAN_FG Client [$WHITE_FG$cx$CYAN_FG] is currently defined in groups:\n$DEF"; display=""
					for list in `echo $grps`
					do
						display="$display $list"
					done
					echo "$YELLOW_FG$display$DEF"

					if [ "$action" = "Add" ]
					then
						set -
					elif [ "$ipdefault" != "" -a `echo "$display" | wc | awk '{print $2}'` -gt 1 ]
					then
						if [ `echo "$display" | grep -c "$ipdefault"` -eq "0" ];then ipdefault=""; fi
					elif [ "$ipdefault" != "" -a `echo "$display" | wc | awk '{print $2}'` -eq 1 ]
					then
						ipdefault="`echo "$display" | awk '{print $1}'`"
					elif [ "$ipdefault" = "" -a `echo "$display" | wc | awk '{print $2}'` -gt 1 ]
					then
						set -	
					elif [ "$ipdefault" = "" ]
					then
						ipdefault="`echo "$display" | awk '{print $1}'`"
					fi

					while true
					do
						echo "\n$CYAN_FG Ready to $action client [$WHITE_FG$Domainx$CYAN_FG][$WHITE_FG$cx$CYAN_FG] in ADMe configuration.\n\n Enter An Existing or New Group-ID or [Def=$WHITE_FG$ipdefault$CYAN_FG] Q=Quit: $DEF \c"
						read input2
						if [ "$input2" = "" -a "$ipdefault" = "" -o "$input2" = "Q" -o "$input2" = "q" ]
						then
							if [ "$Mode" -eq "1" ]; then RC=4; else RC="$Mode"; fi
							echo "<>"; return $RC
						elif [ "$input2" != "" ]
						then
							if [ "$(grep -c "^$input2," $CFG)" -gt "0" ]
							then
								ipdefault="$input2"; break
							else
								if [ "$(echo "$input2" | grep -c " ")" -ne "0" ]
								then
									echo "\n$ERRORX-40M: A group name cannot contain spaces$DEF"; continue
									ipdefault=""; continue
								elif [ "$(echo "$input2" | wc | awk '{print $NF}')" -gt "10" ]
								then
									echo "\n$ERRORX-40M: Group name entered exceeds the max length permitted of 10 characters$DEF"
									ipdefault=""; continue
								else
									ipdefault="$input2"; break
								fi
							fi
						elif [ "$input2" = "" -a "$ipdefault" != "" ]
						then 
							input2="$ipdefault"; break	
						fi
					done
					if [ `grep  "$input2," $CFG | grep -c "$Domainx,$cx,"` -gt "0" -a "$action" = "Add" ]
					then
						echo "\n$RED_FG Selected client [$WHITE_FG$input2$RED_FG][$WHITE_FG$Domainx$RED_FG][$WHITE_FG$clientx$RED_FG] already exists <Press Enter to Continue>$DEF \c"; read
						RC=0; return 0
					fi
					linex=`grep -n "^$input2," $CFG | head -1 | sed -n "s/:/ /"p`
					if [ "$linex" != "" -a "$action" = "Add" ]
					then
						linenum=`echo $linex | awk '{print $1}'`
						echo "\n$CYAN_FG Using existing line entry for Group-ID [$WHITE_FG$input2$CYAN_FG]$DEF"
						newline1="$input2,"
						newline2=`echo "$linex" | awk -F, '{print $2","$3","}'`
						if [ "$VMclient" -eq "0" ];then dmx=`grep "^$cx" $TMP_PATH/input.dat.sav | grep "$Domainx " | tail -1 | awk '{print $2}'`; fi

						newline3="$dmx,$cx,"
						fld10x="$(echo "$linex" | awk -F, '{print $10}')"
						if [ "$(echo "$fld10x" | cut -b 1-1)" = "\\" ]
						then
							newline4=`echo "$linex" | awk -F, '{print $6","$7","$8","$9",\\\\\\\\\\\"$10","$11","$12","$13","$14","$15","$16","$17","$18}'`
						else
							newline4=`echo "$linex" | awk -F, '{print $6","$7","$8","$9","$10","$11","$12","$13","$14","$15","$16","$17","$18}'`
						fi

						echo "\n Adding-Line: $GREEN_FG$newline1$newline2$newline3$newline4$DEF"
						echo "\n<Enter to Continue>"; read
						sed -n "1,`expr $linenum - 1`"p $CFG > $TMP_PATH/atoclient.tmp1
						echo "$newline1$newline2$newline3$newline4" >> $TMP_PATH/atoclient.tmp1	
						sed -n "$linenum,9999"p $CFG >> $TMP_PATH/atoclient.tmp1
						cp $TMP_PATH/atoclient.tmp1 $CFG >/dev/null 2>&1
					elif [  "$action" = "Add" -o "$action" = "Modify" ]
					then
						if [ "$action" = "Add" ]
						then 
							fld1="$input2"; fld2="AUTO"; fld3="AUTO"; fld4="$Domainx"; fld5="$cx"; fld6="n/a"; fld7="n/a"; fld8="n/a"; fld9="DEFAULT";
							fld10="$DEFSTAGELOC/$fld1"; fld11="AUTO"; fld12="n/a"; fld13="n/a"; fld14="n/a"; fld15="WINDOWS"; fld16="n/a"; fld17="n/a"
							fld18="n/a"; ipflag=0
						else
							existline="$(egrep "^$input2,|^#DISABLED $input2" $CFG | grep "$cx," | tail -1)"
							if [ "$existline" = "" ]
							then
								echo "\n$RED_FG Unable to $action [$WHITE_FG$input2$RED_FG][$WHITE_FG$Domainx$RED_FG][$WHITE_FG$cx$RED_FG], doesn't exist <$WHITE_FG Press Enter to Continue $RED_FG>$DEF \c"; read
								if [ "$Mode" -eq "1" ];then RC=4; else RC=$Mode; fi
								export Domainx; return $RC
							fi
							fld1=`echo "$existline" | awk -F, '{print $1}'`
							fld2=`echo "$existline" | awk -F, '{print $2}'`
							fld3=`echo "$existline" | awk -F, '{print $3}'`
							fld4=`echo "$existline" | awk -F, '{print $4}'`
							fld5=`echo "$existline" | awk -F, '{print $5}'`
							fld6=`echo "$existline" | awk -F, '{print $6}'`
							fld7=`echo "$existline" | awk -F, '{print $7}'`
							fld8=`echo "$existline" | awk -F, '{print $8}'`
							fld9=`echo "$existline" | awk -F, '{print $9}'`
							fld10=`echo "$existline" | awk -F, '{print $10}'`
							fld11=`echo "$existline" | awk -F, '{print $11}'`
							fld12=`echo "$existline" | awk -F, '{print $12}'`
							fld13=`echo "$existline" | awk -F, '{print $13}'`
							fld14=`echo "$existline" | awk -F, '{print $14}'`
							fld15=`echo "$existline" | awk -F, '{print $15}'`
							fld16=`echo "$existline" | awk -F, '{print $16}'`
							fld17=`echo "$existline" | awk -F, '{print $17}'`
							fld18=`echo "$existline" | awk -F, '{print $18}'`
							ipflag=1
						fi
							
						while true
						do
							clear
							if  [ "$ipflag" -eq "0" ]
							then
								rowpos=11; colpos=8; blankline="                                                                                               $Asciesc"
								echo "\n\n\n==========================================================================="
								echo "$BLUE_BG$WHITE_FG Enter All Fields to $action a Client Entry, press enter to accept defaults    $DEF"
								echo "===========================================================================\n"
								echo "$CYAN_FG	Fld-1 ADME-Group-ID Name [$fld1]:$DEF > \c";  read fld1_
								if [ "$fld1_" != "" ];then fld1="$fld1_"; fi
								tput cup 7 1; echo "$CYAN_FG	Fld-1 ADME-Group-ID Name [$fld1]:$DEF"; tput cup 8 1

								echo "\n$GREEN_FG Starting search date YYYY-MM-DD recommend always use AUTO$DEF"
								echo "$YELLOW_FG 	Fld-2 Start-Date [$fld2]:$DEF > \c"; read fld2_
								if [ "$fld2_" != "" ];then fld2="$fld2_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$GRAY_FG	Fld-2 Start-Date [$fld2]:$DEF"; rowpos=$(expr $rowpos + 1)

								echo "\n$GREEN_FG Ending search date YYYY-MM-DD recommend always use AUTO$DEF"
								echo "$YELLOW_FG 	Fld-3 End-Date [$fld3]:$DEF > \c"; read fld3_
								if [ "$fld3_" != "" ];then fld3="$fld3_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
    								echo "$GRAY_FG	Fld-3 End-Date [$fld3]:$DEF"

								tput cup 11 1; echo "$blankline "; tput cup 10 1
								echo "$CYAN_FG	Fld-4 Domain-Name$WHITE_FG [$fld4]:$DEF > \c"; read fld4_
								if [ "$fld4_" != "" ];then fld4="$fld4_"; fi
								echo "$CYAN_FG	Fld-5 Client-Name$WHITE_FG [$fld5]:$DEF > \c"; read fld5_
								if [ "$fld5_" != "" ];then fld5="$fld5_"; fi

								rowpos=15

								echo "\n$GREEN_FG Filter on a Avamar group policy name, cannot contain spaces$DEF"
								echo "$CYAN_FG	Fld-6 Avamar-Policy-Group-Name [$fld6]:$DEF > \c"; read fld6_
								if [ "$fld6_" != "" ];then fld6="$fld6_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-6 Avamar-Policy-Group-Name [$fld6]:$DEF"; rowpos=$(expr $rowpos + 1)

								echo "\n$GREEN_FG Filter on a Avamar retention tag: yearly, monthly, weekly, daily$DEF"
								echo "$CYAN_FG	Fld-7 Retention-Type [$fld7]:$DEF > \c"; read fld7_
								if [ "$fld7_" != "" ];then fld7="$fld7_"; fi 
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-7 Retention-Type [$fld7]:$DEF"; rowpos=$(expr $rowpos + 1)

								echo "\n$GREEN_FG Filter to exclude specific folder names - separate each with a | character $DEF"
	 							echo "$CYAN_FG	Fld-8 Exclude-Folders [$fld8]:$DEF > \c"; read fld8_
								if [ "$fld8_" != "" ];then fld8="$fld8_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-8 Exclude-Folders [$fld8]:$DEF"; rowpos=$(expr $rowpos + 1)

								echo "\n$GREEN_FG Do not modify this field                        $DEF"
								echo "$YELLOW_FG	Fld-9 Output-FIle [$fld9]:$DEF > \c"; read fld9_
								if [ "$fld9_" != "" ];then fld9="$fld9_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$GRAY_FG	Fld-9 Output-FIle [$fld9]:$DEF"; rowpos=$(expr $rowpos + 1)

								echo "\n$GREEN_FG Destination mount-point and folder to receive the staged data or keyword INPLACE|CIFS on client$DEF"
								echo "$CYAN_FG	Fld-10 Stage-Destination-Directory$WHITE_FG [$fld10]:$DEF > \c"; read fld10_
								if [ "$( echo "$fld10_" | grep -c "^CIFS")" -eq "1" ]
								then
									fld10cifsx="\\\\\\\\\\"
									fld10x="$(echo "$fld10_" | sed -n "s/CIFS//"p)"
									fld10_="$fld10cifsx$fld10x"
								fi
								if [ "$fld10_" != "" ];then fld10="$fld10_"; else fld10="$fld10"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-10 Stage-Destination-Directory$WHITE_FG [$fld10]:$DEF"; rowpos=$(expr $rowpos + 1)

								echo "\n$GREEN_FG Path/Name of a user defined tape script or AUTO for auto generated script$DEF"
								echo "$CYAN_FG	Fld-11 Export-BU-Scripts [$fld11]:$DEF > \c"; read fld11_
								if [ "$fld11_" != "" ];then fld11="$fld11_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-11 Migration-BU-Scripts [$fld11]:$DEF"; rowpos=$(expr $rowpos + 1)

								if [ "$fld12" = "n/a" ];then fld12="ADME_FULL"; fi
   								echo "\n$GREEN_FG Export backup policy name reference or parameters, varies between tape applications$DEF"
								echo "$CYAN_FG	Fld-12 Export-Policy-Client-Initiated$WHITE_FG [$fld12]:$DEF > \c"; read fld12_
								if [ "$fld12_" != "" ];then fld12="$fld12_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-12 Export-Policy-Client-Initiated$WHITE_FG [$fld12]:$DEF"; rowpos=$(expr $rowpos + 1)

								if [ "$fld13" = "n/a" ];then fld13="-p ADME -w Y$fld1"; fi
								echo "\n$GREEN_FG Year-End Export backup policy name reference - see environment file variable ENDOFYEAR$DEF"
								echo "$CYAN_FG	Fld-13 Export-EOY-Policy-Client-Initiated$WHITE_FG [$fld13]:$DEF > \c"; read fld13_
								if [ "$fld13_" != "" ];then fld13="$fld13_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-13 Export-EOY-Policy-Client-Initiated$WHITE_FG [$fld13]:$DEF"; rowpos=$(expr $rowpos + 1)

								if [ "$fld14" = "n/a" ];then fld14="-p ADME -w $fld1"; fi
								echo "\n$GREEN_FG Export backup policy name reference - used with -server option only $DEF"
								echo "$CYAN_FG	Fld-14 Export-Policy-Server-Initiated [$fld14]:$DEF > \c"; read fld14_
								if [ "$fld14_" != "" ];then fld14="$fld14_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-14 Export-Policy-Server-Initiated [$fld14]:$DEF"; rowpos=$(expr $rowpos + 1)

								echo "\n$GREEN_FG Identify staging server type to use - UNIX or WINDOWS                          $DEF"
								if [ `echo "$fld10" | grep -c "^/"` -eq "1" ]; then fld15="UNIX"; else fld15="WINDOWS"; fi
								echo "$CYAN_FG	Fld-15 Staging-Server-Type WINDOWS | UNIX [$fld15]:$DEF > \c"; read fld15_
								if [ "$fld15_" != "" ];then fld15="$fld15_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-15 Staging-Server-Type WINDOWS | UNIX [$fld15]:$DEF"; rowpos=$(expr $rowpos + 1) 

								echo "\n$GREEN_FG A user defined path suffix appended to ADMe predefined destination path name $DEF"
								echo "$CYAN_FG	Fld-16 User-Defined-Destination-Path-Suffix [$fld16]:$DEF > \c"; read fld16_
								if [ "$fld16_" != "" ];then fld16="$fld16_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-16 User-Defined-Destination-Path-Suffix [$fld16]:$DEF"; rowpos=$(expr $rowpos + 1)

								echo "\n$GREEN_FG Filter to include specific folder names - separate each with a | character $DEF"
								echo "$CYAN_FG	Fld-17 Include-Folders [$fld17]:$DEF > \c"; read fld17_
								if [ "$fld17_" != "" ];then fld17="$fld17_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-17 Include-Folders [$fld17]:$DEF"; rowpos=$(expr $rowpos + 1)

								echo "\n$GREEN_FG Use incremental path name structure but delete staged data aferwards $DEF"
								echo "$CYAN_FG	Fld-18 Incremental-Delete [$fld18]:$DEF > \c"; read fld18_
								if [ "$fld18_" != "" ];then fld18="$fld18_"; fi
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
								echo "$CYAN_FG	Fld-18 Incremental-Delete [$fld18]:$DEF"; rowpos=$(expr $rowpos + 1)
								tput cup $(expr $rowpos - 2) 1; echo "$blankline "; tput cup $(expr $rowpos - 3) 1
							else
								echo "\n\n\n==========================================================================="
								echo "$BLUE_BG$CYAN_FG         Review All Fields to Establish Selected Client Entry              $DEF"
								echo "===========================================================================\n"
								echo "	Fld-1 ADMe Group-ID Name [$GREEN_FG$fld1$DEF]: >"
								echo "	Fld-2 Start-Date [$GREEN_FG$fld2$DEF]: >"
								echo "	Fld-3 End-Date [$GREEN_FG$fld3$DEF]: >"
								echo "	Fld-4 Domain-Name [$GREEN_FG$fld4$DEF]: >"
								echo "	Fld-5 Client-Name [$GREEN_FG$fld5$DEF]: >"
								echo "	Fld-6 Avamar-Policy-Group-Name [$GREEN_FG$fld6$DEF]: >"
								echo "	Fld-7 Avamar-Retention-Type [$GREEN_FG$fld7$DEF]: >"
								echo "	Fld-8 Exclude-Folders [$GREEN_FG$fld8$DEF]: >"
								echo "	Fld-9 Output-FIle [$GREEN_FG$fld9$DEF]: >"
								echo "	Fld-10 Stage-Destination-Directory [$GREEN_FG$fld10$DEF]: >"
								echo "	Fld-11 Migration-BU-Scripts [$GREEN_FG$fld11$DEF]: >"
								echo "	Fld-12 Migration-Monthly-Policy [$GREEN_FG$fld12$DEF]: >"
								echo "	Fld-13 Migration-EOY-Policy [$GREEN_FG$fld13$DEF]: >"
								echo "	Fld-14 Migration-Server-Policy [$GREEN_FG$fld14$DEF]: >"
								echo "	Fld-15 Staging-Server-Type WINDOWS | UNIX [$GREEN_FG$fld15$DEF]: >"
								echo "	Fld-16 Destination-Path-Suffix [$GREEN_FG$fld16$DEF]: >"
								echo "	Fld-17 Include-Folders [$GREEN_FG$fld17$DEF]: >"
								echo "	Fld-18 Incremental-Delete [$GREEN_FG$fld18$DEF]: >"
							fi
							echo "\n\n$DEF===========================================================================\n"
							echo "$CYAN_FG Confirm Client Entry: [$WHITE_FG C$CYAN_FG=Commit$WHITE_FG M$CYAN_FG=Modify$WHITE_FG Enter$CYAN_FG=Refresh$WHITE_FG Q$CYAN_FG=Quit]: >$DEF \c"; read input
							if [ "$input" = "" ]	
							then
								ipflag=1; continue
							elif [ "$input" = "Q" -o "$input" = "q" ]	
							then
								break
								RC=0; return 0
							elif [ "$input" = "M" -o "$input" = "m" ]	
							then
								ipflag=0; continue
							elif [ "$action" = "Add" ] 
							then
								if [ "$input" = "C" -o "$input" = "c" ]
								then
									newline="$fld1,$fld2,$fld3,$fld4,$fld5,$fld6,$fld7,$fld8,$fld9,$fld10,$fld11,$fld12,$fld13,$fld14,$fld15,$fld16,$fld17,$fld18"
									echo "\n$CYAN_FG CFG-Line:$GREEN_FG $newline$DEF"
									echo "\nPress Enter to Continue>"; read
									echo "# ########" >> $CFG
									echo "# Group-ID:$fld1 Created `date +'%d/%m/%y %H:%M'`" >> $CFG
									echo "# ########" >> $CFG
									echo "$newline" >> $CFG
									break
								else
set - don't delete
								fi
							elif [ "$action" = "Modify" -a "$input" = "C" -o "$input" = "c" ]
							then
								if [ "$input" = "C" -o "$input" = "c" ]
                                                                then
									newline="$fld1,$fld2,$fld3,$fld4,$fld5,$fld6,$fld7,$fld8,$fld9,$fld10,$fld11,$fld12,$fld13,$fld14,$fld15,$fld16,$fld17,$fld18"
									linenum=`grep -n "^$input2," $CFG | grep ",$cx," | sed -n "s/:/ /"p|awk '{print $1}'`
									sed -n "1,`expr $linenum - 1`"p $CFG > $TMP_PATH/atoclient.tmp1
									echo "$newline" >> $TMP_PATH/atoclient.tmp1
									sed -n "`expr $linenum + 1`,99999"p $CFG >> $TMP_PATH/atoclient.tmp1
									mv $TMP_PATH/atoclient.tmp1 $CFG >/dev/null 2>&1
									break
								else
set - don't delete
								fi
							fi
						done
					else
						echo "\n$RED_FG Unable to $action [$WHITE_FG$input2$CYAN_FG][$WHITE_FG$Domainx$CYAN_FG][$WHITE_FG$cx$CYAN_FG], doesn't exist <$WHITE_FG Press Enter to Continue $RED_FG>$DEF \c"; read
					fi
					if [ "$Mode" -eq "1" ];then RC=4; else RC=$Mode; fi
					export Domainx; return $RC
				fi
			elif [ "$input" = "d" -o "$input" = "D" -o "$input" = "e" -o "$input" = "E" -o "$input" = "r" -o "$input" = "R" -o "$input" = "o" -o "$input" = "O" ]
			then
				if [ "$Mode" -gt "3" ];then continue; fi
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
				echo "\n$CYAN_FG Enter a client# to change or [$WHITE_FG Press Enter to Continue $CYAN_FG]: $DEF \c"
				read input2
				if [ "$input2" = "" ]
				then
					continue
				else
					getitem_rtn $input2
					Itemx_="$Itemx"
 					vmqualiednames_rtn "$Itemx"
					Itemx_="$Itemx"

					Domainx="$(grep ",$Itemx," $CFG | tail -1 | awk -F, '{print $4}')"
					if [ "$Domainx" = "" ]
					then
						Domainx="$(grep "$Itemx" $TMP_PATH/.vmqualifiednames.dat | head -1 | awk -F, '{print $2}' | sed -n "s/$Itemx//"gp | sed -n "s/\/$//"gp)"
					fi
						

					if [ $(grep -c ",$Domainx," $CFG) -eq 0 ]
					then
  						ix=$(grep " $Domainx" $TMP_PATH/input.dat1 | grep "^$Itemx " | tail -1 | awk '{print $1}')

						if [ "$VMQUALIFIEDNAMES" = "false" ]
						then
  							ix=$(grep "$Domainx" $TMP_PATH/.vmqualifiednames.dat | grep "$Itemx" | head -1 | awk -F, '{print $3}')
							Itemx="$ix"
							actual_domx="$Domainx_"
						else
							Itemx="$ix"
							actual_domx="$Domainx_"
						fi
					else
#						domx_grpx="$(egrep "^$Domainx|^#DISABLED $Domainx" $CFG | grep ",$Itemx " | tail -1 | awk -F, '{print $4}')"
						domx_grpx="$(egrep ",$Domainx," $CFG | grep ",$Itemx_," | head -1 | awk -F, '{print $4}')"
  						ix=$(grep " $domx_grpx" $TMP_PATH/input.dat1 | egrep "^$Itemx_ " | tail -1 | awk '{print $1}')
						if [ "$ix" = "" -a "$VMclient" -eq "1" ]
                                                then
  							ix="$(grep ",$domx_grpx" $TMP_PATH/.vmqualifiednames.dat | grep "$Itemx_" | head -1 | awk -F, '{print $3}')"
						else
  							ix=$(grep ",$domx_grpx," $CFG | egrep ",$Itemx_," | tail -1 | awk -F, '{print $5}')
						fi
						Itemx_="$ix"
						actual_domx="$domx_grpx"
					fi
					clientx="$Itemx_"

					if [ "$clientx" = "" ]
					then
						clientx="$Itemx_"
						echo "\n$RED_BG$WHITE_FG WARNING: $DEF$RED_FG The selected client$WHITE_FG [$clientx]$REDG_FG is no longer present in Avamar, verify selected line is accurate before proceeding$DEF\n"
					fi
					if [ `grep -v "^# " $CFG | grep -c ",$clientx,"` -gt "1" ]
					then
						grps=$(grep -v "^# " $CFG | grep ",$clientx," | awk -F, '{print $1}')
						echo "\n$CYAN_FG Client [$WHITE_FG$clientx$CYAN_FG] is currently defined in multiple groups:\n$GREEN_FG"; display=""
						SaveGrp=""	
#						echo "$grps" | awk -F, '{print $1}' | grep -n "^#" | sed -n "s/:/) /"p
						echo "$grps" | awk -F, '{print $1}' | grep -n "^" | sed -n "s/:/) /"p
						echo "\n$CYAN_FG Multiple instances of client [$WHITE_FG$clientx$CYAN_FG] exist, enter a Group-ID# or Enter for default. [$WHITE_FG Def=$SaveGrp$CYAN_FG ]$DEF > \c"; read input3
						if [ "$input3" = "" -a "$SaveGrp" = "" ]; then continue; fi
						SaveGrp="$(echo "$grps" | sed -n "$input3,$input3"p | awk '{print $NF}')"
						input3="$SaveGrp"
						if [ `grep -c "^$input3," $CFG` -eq "0" -a `grep -c "^#DISABLED $input3," $CFG` -eq "0" ]	
						then
							echo "\n$RED_FG Group-ID [$WHITE_FG$input3$RED_FG] does not exist$DEF"; read
							echo "<Enter to Continue>"
							continue
						fi
					else
						SaveGrp=`grep -v "^# " $CFG | grep ",$clientx," | awk -F, '{print $1}'`
						input3=`grep "^$SaveGrp" $CFG | grep ",$clientx," | awk -F, '{print $1}'`	
					fi
					action="NONE"
					if [ "$input" = "o" -o "$input" = "O" ]
					then
						if [ "$input3" = "" ]
						then
  							linex="$(grep ",$actual_domx,$clientx" $CFG)"
							if [ "$(echo "$linex" | wc -l | awk '{print $1}')" -gt "1" ]
							then
								echo "$GREEN_FG"
								echo "$linex" | awk -F, '{print $1}' | grep -n "^" | sed -n "s/:/) /"p
								echo "\n$CYAN_FG This client name is present in multiple groups, choose a group name by number: >$DEF \c"; read mygrp
								if [ "$mygrp" -eq "" ];then continue; fi
								linex="$(echo "$linex" | sed -n "$mygrp,$mygrp"p)"
							fi
 							clientx_="$(echo "$linex" | awk -F, '{print $5}')"
 							grpx_="$(echo "$linex" | awk -F, '{print $1}')"		
   							linex=`grep ",$clientx_" $CFG | grep "^$grpx_," | tail -1`
 							input3="$grpx_"; clientx="$clientx_"
						else
							linex=`grep ",$actual_domx,$clientx" $CFG | egrep "^$input3,|^#DISABLED $input3," | tail -1`
						fi
						skip=`echo "$linex" | grep -c "^#REMOVE"`
						if [ "$skip" -eq "0" ]
						then
							linenum=`grep -n ",$actual_domx,$clientx," $CFG | grep "$input3," | head -1 | sed -n "s/:/ /"p|awk '{print $1}'`
							if [ "$linenum" = "" ];then continue; fi
							sed -n "1,`expr $linenum - 1`"p $CFG > $TMP_PATH/atoclient.tmp1
							echo "#REMOVE $linex" >> $TMP_PATH/atoclient.tmp1
							action="REMOVED"
						fi
					elif [ "$input" = "d" -o "$input" = "D" ]
					then
					Domainx=""
					Domainx="$(grep ",$clientx" $CFG | tail -1 | awk -F, '{print $4}')"
						linex=`grep ",$clientx" $CFG | grep "^$input3," | tail -1`
 						if [ "$linex" = "" ];then linex=`grep ",$actual_domx,$clientx" $CFG | grep "#DISABLED $input3," | tail -1`; fi
						skip=`echo "$linex" | grep -c "#DISABLE"`

						if [ "$skip" -eq "0" ]
						then
							linenum=`grep -n ",$actual_domx,$clientx" $CFG | grep "$input3," | head -1 | sed -n "s/:/ /"p|awk '{print $1}'`
							if [ "$linenum" = "" ];then continue; fi
							
							sed -n "1,`expr $linenum - 1`"p $CFG > $TMP_PATH/atoclient.tmp1
							if [ "$(echo "$linex" | grep -c "\\\\")" -ne "0" ]
							then
								echo "#DISABLED $linex" | sed -n "s/\\\/ADMECIFS/"p >> $TMP_PATH/atoclient.tmp1
							else
								echo "#DISABLED $linex" >> $TMP_PATH/atoclient.tmp1
							fi
							action="DISABLED"
						else
							action="NONE"
						fi
					elif [ "$input" = "e" -o "$input" = "E" ]
					then
						linex=`grep "^#DISABLED" $CFG | grep "$actual_domx,$clientx" | grep "$input3," | tail -1`
						skip=`echo "$linex" | grep -c "#DISABLED"`
						if [ "$skip" -gt "0" ]
						then
							linenum=`grep -n "^#DISABLED " $CFG | grep ",$actual_domx,$clientx" |grep "$input3," | head -1 | sed -n "s/:/ /"p|awk '{print $1}'`
							if [ "$linenum" = "" ];then continue; fi
							sed -n "1,`expr $linenum - 1`"p $CFG > $TMP_PATH/atoclient.tmp1
							if [ "$(echo "$linex" | grep -c "\\\\")" -ne "0" ]
							then
								echo "$linex" | sed -n "s/^#DISABLED //"p | sed -n "s/ADMECIFS/\\\\\\\\/"p >> $TMP_PATH/atoclient.tmp1	
							else
								echo "$linex" | sed -n "s/^#DISABLED //"p >> $TMP_PATH/atoclient.tmp1	
							fi
							action="ENABLED"
						fi
					fi
					if [ "$action" = "DISABLED" -o "$action" = "ENABLED" ]
					then
						sed -n "`expr $linenum + 1`,9999"p $CFG >> $TMP_PATH/atoclient.tmp1
						echo "\n$linex"
						echo "\n$CYAN_FG The above line entry will be $action to ADMe, Confirm Okay to Continue: [ Y=Yes$WHITE_FG Def=No$CYAN_FG ]>$DEF \c"; read input3
					elif [ "$action" = "REMOVED" ]
					then
						sed -n "`expr $linenum + 1`,9999"p $CFG >> $TMP_PATH/atoclient.tmp1
						echo "\n$linex"
						echo "\n$CYAN_FG The above line entry will be $action to ADMe, Confirm Okay to Continue: [Y=Yes$WHITE_FG Def=No$CYAN_FG ]>$DEF \c"; read input3
					else
						echo "\n$RED_FG Selected client [$WHITE_FG$clientx$RED_FG] is already in the requested state <$WHITE_FG Press Enter to Continue $RED_FG>$DEF\c";
						skip=""; action=""; input3=n; read
					fi
					if [ "$input3" = "Y" -o "$input3" = "y" ]
					then
						if [ "$action" != "REMOVED" ];then mv $TMP_PATH/atoclient.tmp1 $CFG >/dev/null 2>&1
						elif [ "$action" = "REMOVED" ];then grep -v "^#REMOVE" $TMP_PATH/atoclient.tmp1 > $CFG; fi
					fi
				fi
				if [ "$Mode" -eq "1" ]
				then
					RC=4; return 4
				elif [ "$Mode" -eq "2" ]
				then
					RC=2; Domainx=$dmx; export Domainx; return 2
				elif [ "$Mode" -eq "3" ]
				then
					RC=6; Domainx=$dmx; export Domainx; return 6
				fi
			elif [ "$Mode" -le "3" -a "$input" = "v" -o "$input" = "V" ]
			then
				echo "\n$CYAN_FG Enter a item# to VIEW or [$WHITE_FG Press Enter to Continue $CYAN_FG]: $DEF \c"
				read input2
				if [ "$input2" = "" ]
				then
					continue
				else
					getitem_rtn $input2
					Itemx_="$Itemx"
   					if [ "$Mode" -eq "1" -o "$Mode" -eq "3" ]
					then
						ix=`grep "^$Itemx " $TMP_PATH/input.dat1 | tail -1 | awk '{print $1}'`; Itemx="$ix"
					fi
					clientx="$Itemx"
					if [ "$clientx" = "" ];then clientx="$Itemx_"; fi
					if [ "$Mode" -eq "4" ]
					then
						echo "\n$WHITE_FG$(egrep -n "^$clientx,|#DISABLED $clientx," $CFG | sed -n "s/:/: /"p) $DEF\n"
					else
						echo "\n$WHITE_FG$(grep -n ",$clientx" $CFG | sed -n "s/:/: /"p) $DEF\n"
					fi
					echo "<Press Enter to Continue> \c"; read
					continue
				fi
				break
			elif [ "$1" = "domain" -a "$input" -ge "1" -a "$input" -le "$maxcnt" ]
			then
				linex=`grep -n " $input$bk " $TMP_PATH/clientlist.tmp 2>/dev/null | head -1`; flag=0
				for dx in `echo $linex`
				do
					if [ "$flag" -eq "1" ]
					then
						dmx="$dx"
					 	if [ $(awk '{print $NF" "}' $TMP_PATH/.input.dat1.discover | grep "^$dmx" | sort -u | grep -c "^$dmx") -gt "1" ]
                                        	then
							if [ $(awk '{print $NF" "}' $TMP_PATH/.input.dat1.discover | grep "^$dmx " | sort -u | grep -c "^$dmx ") -eq "1" ]
							then
								break
							else
                                                		echo "\n$CYAN_FG Domain name [$WHITE_FG$dmx$CYAN_FG] is ambiguous, select desired domain from list displayed: $DEF\n"
								lline="$(awk '{print $NF" "}' $TMP_PATH/.input.dat1.discover | grep "^$dmx" | sort -u | wc -l | awk '{print $1}')"
                                                		multidom=$(awk '{print $NF" "}' $TMP_PATH/.input.dat1.discover | grep "^$dmx" | sort -u | grep -n "^" | sed -n "s/:/) /"p); echo "$multidom"
                                                		echo "\n$CYAN_FG Enter a domain by number: >$DEF \c"; read Domainx_
								if [ "$Domainx_" -gt "$lline" -o "$Domainx_" -lt "1" ];then return; fi
								selection="$(echo "$multidom" | sed -n "1,99"p | sed -n "$Domainx_,$Domainx_"p | awk '{print $NF}')"
								dmx="$selection"
							fi
                                        	fi	
						break
					else
						if [ "$dx" = "$input)" ]; then flag=1; fi
					fi
				done
				Domainx=$dmx; export Domainx
				RC=2; return 2
			elif [ "$1" = "group" -a "$input" -ge "1" -a "$input" -le "$maxcnt" ]
			then
				getitem_rtn $input
				dmx="$Itemx"
				Domainx=$dmx; export Domainx
				SaveGrp=$dmx
				RC=6; return 6
			elif [ "$Mode" -eq "3" -a "$input" -ge "1" -a "$input" -le "$maxcnt" ]
			then
				g -avflags "deflateofficexml=false"etitem_rtn $input
				Domainx=$Itemx; export Domainx
				RC=6; return 6
			ryfr
				rpub "<Vainyvq Vachg>"
				Domainx=$dmx; export Domainx
				RC=2; return 2
			fi
		done
	done
}

vmqualiednames_rtn()
{
	origcliname="$1"; VMclient="0"
	if [ "$(grep -c "$origcliname" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat)" -eq "0" ]
	then
		VMclient="0"; return
	fi

	VMclient="1"

	if [ "$VMQUALIFIEDNAMES" = "false" ]
	then
		Itemx="$(grep "$origcliname" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"
		Domainx_="$(grep "$origcliname" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $2}' | sed -n "s/$origcliname//"gp | sed -n "s/\/$//"gp)"
	elif [ "$VMQUALIFIEDNAMES" = "true" ]
	then
		Domainx_="$(grep "$origcliname," $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $2}' | sed -n "s/$origcliname//"gp | sed -n "s/\/$//"gp)"
	else
		echo -e "DEBUG4 - unexpected vmabsolutenames varaiable value"
	fi
}

execute_now_rtn()
{

	session_lock_rtn2 block; if [ "$?" -eq "1" ];then return; fi
	Itemx="$1"
	if [ `grep -ce "-BATCH" $BULOCATION/etc/$Itemx` -eq "0" ]
	then
		export BaseGrpx=`grep "^Base_Group_Name:" $pathx/$file | head -1 | awk -F= '{print $2}'`
		export SubGrpx="$(grep "^Sub_Group_Numbers:" $pathx/$file | head -1 | awk -F= '{print $2}')"

 		if [ "$SunGrpx" = "" ];then SunGrpx=0; fi
		export Env="$(grep "^Environment_Number:" $pathx/$file | head -1 | awk -F= '{print $2}')"
#		if [ -f $BULOCATION/customize/debug_env_trace.txt ]
#		then
#		fi
		echo "\n$CYAN_FG Override the configured Environment# or press enter to accept the default [$WHITE_FG Def=$Env $CYAN_FG]>:$DEF \c"; read input3
		if [ "$input3" != "" ]
		then
			if [ "$input3" -eq "20" ]
			then
				echo "\n$RED_FG Input Invalid Environment-20 is RESEVRED ...$DEF"; sleep 1; return
			fi
			if [ "$(echo "$input3" | egrep -c "1|2|3|4|5|6|7|8|9|0")" -eq "0" ]
			then
				echo "\n$RED_FG Input Invalid, Environment-$input3 ...$DEF"; sleep 1; return
			fi
			if [ "$input3" -lt "1" -o "$input3" -gt "$MAXENVCOUNT" ]
			then
				echo "\n$RED_FG Input Invalid, Environment-$input3 ...$DEF"; sleep 1; return
			fi
		fi
		Tapeout_opts="$(egrep "^Tapeout_Flags|^Migration_Flags" $pathx/$file | head -1 | awk -F':=' '{print $2}' | cut -b 1-999)"
		if [ "$(echo "$Tapeout_opts" | grep -c "clouddatapurge")" -ne "1" ]
		then
			echo "\n$CYAN_FG Override pre-configured actions: [$WHITE_FG$Tapeout_opts$CYAN_FG]\n\n Enter [$WHITE_FG T or X$CYAN_FG=Tape/Export phase only$WHITE_FG S$CYAN_FG=Staging phase only or$WHITE_FG Def$CYAN_FG=No-Change]>:$DEF \c"; read input4
		fi
		if [ "$input4" = "Q" -o "$input4" = "q" ];then break; fi
		if [ "$input4" != "" ]
		then
			if [ "$(echo "$input4" | egrep -c "t|T|x|X|s|S")" -eq "0" ]
			then
				echo "\n$RED_FG Input Invalid, ...$DEF"; sleep 1; return
			fi
		fi
		if [ "$input4" = "T" -o "$input4" = "t" -o  "$input4" = "X" -o "$input4" = "x" ]
		then
			if [ "$(echo "$Tapeout_opts" | egrep -c "\-stageonly")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-stageonly//"gp)"; fi
			if [ "$(echo "$Tapeout_opts" | egrep -c "\-server")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-server/-SERVER/"gp)"; fi
			if [ "$(echo "$Tapeout_opts" | egrep -c "\-s")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-s//"gp)"; fi
			if [ "$(echo "$Tapeout_opts" | egrep -c "\-SERVER")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-SERVER/-server/"gp)"; fi

			if [ "$(echo "$Tapeout_opts" | egrep -c "\-tapeonly")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-tapeonly//"gp)"; fi
			if [ "$(echo "$Tapeout_opts" | egrep -c "\-tpolicy")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-tpolicy/-TPOLICY/"gp)"; fi
			if [ "$(echo "$Tapeout_opts" | egrep -c "\-t")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-t//"gp)"; fi
			if [ "$(echo "$Tapeout_opts" | egrep -c "\-TPOLICY")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-TPOLICY/-tpolicy/"gp)"; fi
			tapeonly_="-tapeonly"
			elif [ "$input4" = "S" -o "$input4" = "s" ]
			then
				if [ "$(echo "$Tapeout_opts" | egrep -c "\-stageonly")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-stageonly//"gp)"; fi
				if [ "$(echo "$Tapeout_opts" | egrep -c "\-s")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-s//"gp)"; fi
				if [ "$(echo "$Tapeout_opts" | egrep -c "\-tapeonly")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-tapeonly//"gp)"; fi
				if [ "$(echo "$Tapeout_opts" | egrep -c "\-t")" -eq "1" ];then Tapeout_opts="$(echo "$Tapeout_opts" | sed -n "s/-t//"gp)"; fi
				tapeonly_="-stageonly"
			else
				tapeonly_=""
			fi
			policyx="$(ls -l $BULOCATION/etc/$file | awk -F/ '{print $NF}')"
			if [ "$(grep -c "clouddatapurge" $BULOCATION/etc/$policyx)" -ne "1" ]
			then
				echo "\n$RED_BG$WHITE_FG WARNING:$DEF$CYAN_FG You are about to initiate job policy [$WHITE_FG$policyx$CYAN_FG] confirm by entering$WHITE_FG Y/N$CYAN_FG? [$WHITE_FG Def=N]$CYAN_FG: > \c $DEF"; read job_input
			else
				echo "\n$CYAN_FG The following CloudDataPurge variables are in effect taken from file: [$WHITE_FG$BULOCATION/customize/clouddatapurge.txt$CYAN_FG]$DEF"
				echo "$WHITE_FG"
				egrep "^Temp|^Rel" $BULOCATION/customize/clouddatapurge.txt
				echo "\n$RED_BG$WHITE_FG WARNING:$DEF$CYAN_FG You are about to initiate a $RED_BG$WHITE_FG CloudDataPurge $DEF$CYAN_FG job policy [$WHITE_FG$policyx$CYAN_FG] to confirm enter$WHITE_FG Y/N$CYAN_FG? [$WHITE_FG Def$CYAN_FG=N]: > \c"; read job_input
			fi

			if [ "$job_input" != "Y" -a "$job_input" != "y" ];then return; fi

			export Filters="$(grep "^Select_Flags:" $pathx/$file | head -1 | awk -F: '{print $2}' | cut -b 2-999)"
			Tapeout_opts="$Tapeout_opts $tapeonly_"; export Tapeout_opts

			export View="$(grep "^View_Flags:" $pathx/$file | head -1 | awk -F= '{print $2}')"
			filebase=$(echo "$file" | sed -n "s/.cfg//"p)
			export chk=".chk"; export log=".log"; cfg=".cfg"
			laststatus=`echo "\n$DEF Last Execution Info:$GREEN_FG BATCH Session Initiated Using [Env-$Env Job-Policy-$input2 File-$file]$DEF\n    Monitor Progress:$GREEN_FG Return to Job Manager DASHBOARD$DEF"`
			batch_script_rtn $filebase.$$
               		echo "/tmp/$filebase.$$" > /tmp/initiate$Env
                       	chmod 100 /tmp/$filebase.$$ /tmp/initiate$Env
                       	 /usr/bin/at -f /tmp/initiate$Env now

			runchk="/tmp/$filebase$chk"
		else
			filebase=`echo "$file" | sed -n "s/.cfg//"p`
			shortbase="$(echo "$filebase" | sed -n "s/admbatch-//"p)"
			echo "$GREEN_FG\n$(cat $BULOCATION/etc/$file | egrep -v "^#|^FAIL" | awk '{print $NF}')"
			echo "$CYAN_FG\nYou are about to execute a Batch policy containing the above Standard job policies, Continue Y/N? [$WHITE_FG Def=N $CYAN_FG]: > \c"; read batch_input
			if [ "$batch_input" != "Y" -a "$batch_input" != "y" ];then return; fi

			batch_bulk_script_rtn $filebase.$$
               		echo "/tmp/$filebase.$$" > /tmp/initiate$shortname
                       	chmod 100 /tmp/$filebase.$$ /tmp/initiate$shortname
                       	 /usr/bin/at -f /tmp/initiate$shortname now
#			rm /tmp/initiate$shortname >/dev/null 2>&1
			runchk="/tmp/$filebase$chk"
		fi
}

batch_build_rtn()
{
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled batch_build_rtn()"; set -x
	fi
	zero="0"; echo "$DEF"; cnt=0; sx=0; rnum=1; bk=")"; dot="."; ast="*"
while true
do
	while true
	do
		if [ "$1" = "batch" ]
		then
			filex="admbatch"; pathx="$BULOCATION/etc/";
			heading1="JOB MANAGER [Policy] View: "
			heading2="<policy-name> <Env#> <last-update>"
			cs="CRON-STATUS:"
			heading2_="  $USCORE$cs$DEF$BLUE_BG$WHITE_FG Green=Enabled Yellow=Disabled Blue=Not-Defined"
			if [ "$BACKUPPRODUCT" = "networker" -o "$BACKUPPRODUCT" = "networker_save" ]
			then
				prompt="$CYAN_FG Policy Action: [$WHITE_FG S$CYAN_FG=Schedule$WHITE_FG D$CYAN_FG=Delete$WHITE_FG E$CYAN_FG=Execute$WHITE_FG Q$CYAN_FG=DashBoard-View$WHITE_FG N$CYAN_FG=New-Policy$WHITE_FG V$CYAN_FG=View-Env-Summary$WHITE_FG #$CYAN_FG=Update/View-Policy\n\n$WHITE_FG W$CYAN_FG=Col-Width[$WHITE_FG Def=$input2_def$CYAN_FG] >"
			else
				prompt="$CYAN_FG Policy Action: [$WHITE_FG S$CYAN_FG=Schedule$WHITE_FG D$CYAN_FG=Delete$WHITE_FG E$CYAN_FG=Execute$WHITE_FG V$CYAN_FG=View-Env-Summary$WHITE_FG Q$CYAN_FG=DashBoard-View$WHITE_FG N$CYAN_FG=New-Policy$WHITE_FG #$CYAN_FG=Update/View-Polic\n\n$WHITE_FG W$CYAN_FG=Col-Width[$WHITE_FG Def=$input2_def$CYAN_FG] >"
			fi
			msg1="No Job policies available"
			maxcnt=`ls -atlr $pathx$filex$ast 2>/dev/null | wc -l | awk '{print $1}'`
		fi
		heading_=`echo "$BLUE_BG$WHITE_FG$heading1$heading2$WHITE_FG$heading2_                                                                                                                                          " | cut -b1-176`
		echo "$DEF"
		cnt=0; sx=0; rnum=1; bk=")"; dot="."; ast="*"

#		if [ -f /etc/SuSE-release ];then CRON="/var/spool/cron/tabs/admin"; else CRON="/var/spool/cron/admin"; fi
	crontab -u root -l  > $TMP_PATH/.CRON-CONTENT
	CRON="$TMP_PATH/.CRON-CONTENT"

		rm $TMP_PATH/batchlist.tmp >/dev/null 2>&1
		
		policycolwidth="$POLICYCOLWIDTH"

		for x in $(ls -la $pathx$filex$ast 2>/dev/null | awk -F/ '{print $NF}')
		do
			 if [ "$x" = "$filex" -o "$x" = "$filex$zero" ]; then continue; fi
			 cnt=`expr $cnt + 1`
			 sx=`echo "$cnt$bk"`
			 if [ "$rnum" -eq "1" ]
			 then
				dx1=`ls -l $pathx$x | awk '{print $(NF - 3),$(NF - 2),$(NF - 1)}'`
				last_status=`grep "$x " $CRON | head -1`
				if [ `echo "$last_status " | grep "$x " | grep -c "^#DISABLED "` -eq "1" ]; then dt1c="$USCORE$YELLOW_FG"
				elif [ `echo "$last_status " | grep -c "$x "` -eq "1" ]; then dt1c="$USCORE$GREEN_FG"
				else dt1c="$BLUE_FG"; fi
				dx1="$dx1"
				env1="$(grep "^Environment_Number:" $pathx$x | awk -F= '{print$2}')"
				if [ "$env1" -eq "" ];then env1="B"; fi
				env1_=`echo "[$env1]         "|cut -b1-4`
				date1=`echo "[$dx1]                                 "|cut -b1-14`
				if [ "$1" = "batch" ]; then ses1="$sx $x [$env1]"; fi
				ses1_=`echo "$ses1                                                                                "|cut -b1-$policycolwidth`
				if [ "$cnt" -eq "$maxcnt" ]
				then
					echo " $ses1_ $dt1c$date1$DEF " >> $TMP_PATH/batchlist.tmp
					break
				fi
				rnum=`expr $rnum + 1`
				continue
			 elif [ "$rnum" -eq "2" ]
			 then
				dx2=`ls -l $pathx$x | awk '{print $(NF - 3),$(NF - 2),$(NF - 1)}'`
				last_status=`grep "$x " $CRON | head -1`
				if [ `echo "$last_status " | grep "$x " | grep -c "^#DISABLED "` -eq "1" ]; then dt2c="$USCORE$YELLOW_FG"
				elif [ `echo "$last_status " | grep -c "$x "` -eq "1" ]; then dt2c="$USCORE$GREEN_FG"
				else dt2c="$BLUE_FG"; fi
				env2="$(grep "^Environment_Number:" $pathx$x | awk -F= '{print$2}')"
				if [ "$env2" -eq "" ];then env2="B"; fi
				env2_=`echo "[$env2]         "|cut -b1-4`
				date2=`echo "[$dx2]                                 "|cut -b1-14`
				if [ "$1" = "batch" ]; then ses2="$sx $x [$env2]"; fi
				ses2_=`echo "$ses2                                                                                "|cut -b1-$policycolwidth`
				if [ "$cnt" -eq "$maxcnt" ]
				then
					echo " $ses1_ $dt1c$date1$DEF $ses2_  $dt2c$date2$DEF " >> $TMP_PATH/batchlist.tmp
					break
				fi
				rnum=`expr $rnum + 1`
				continue
			elif [ "$rnum" -eq "3" ]
			then
				dx3=`ls -l $pathx$x | awk '{print $(NF - 3),$(NF - 2),$(NF - 1)}'`
				last_status=`grep "$x " $CRON | head -1`
				if [ `echo "$last_status " | grep "$x " | grep -c "^#DISABLED "` -eq "1" ]; then dt3c="$USCORE$YELLOW_FG"
				elif [ `echo "$last_status " | grep -c "$x "` -eq "1" ]; then dt3c="$USCORE$GREEN_FG"
				else dt3c="$BLUE_FG"; fi
				env3=`grep "^Environment_Number:" $pathx$x | awk -F= '{print$2}'`
				if [ "$env3" -eq "" ];then env3="B"; fi
				env3_=`echo "[$env3]         "|cut -b1-4`
				date3=`echo "[$dx3]                                "|cut -b 1-14`
				if [ "$1" = "batch" ]; then ses3="$sx $x [$env3]"; fi
				ses3_=`echo "$ses3                                                                                "|cut -b1-$policycolwidth`
				if [ "$cnt" -eq "$maxcnt" ]
				then
					echo " $ses1_ $dt1c$date1$DEF  $ses2_ $dt2c$date2$DEF  $ses3_ $dt3c$date3$DEF" >> $TMP_PATH/batchlist.tmp
					break
				else
					echo " $ses1_ $dt1c$date1$DEF  $ses2_ $dt2c$date2$DEF  $ses3_ $dt3c$date3$DEF" >> $TMP_PATH/batchlist.tmp
					rnum=1
					continue
				fi
			fi
		done
		while true
		do
			clear
			TMP_PATH="$BASE_TMP_PATH"
			if [ "$Debug" -gt "0" ];then clear; fi
			echo "$head_w_name"
			echo " $heading_$DEF"
			echo "$head_w"
			if [ -s $TMP_PATH/batchlist.tmp ]
			then
				cat $TMP_PATH/batchlist.tmp
			else
				echo "INFO: $msg1"; read
#				break
			fi
			echo "$head_w"
			echo "$laststatus$DEF"
			echo "\n$prompt$DEF \c"
			read input
			if [ "$input" = "" ];then if [ "$input2_def" -ne "" ];then input="$input2_def"; else input=""; fi; fi

			if [ "$input" = "m" -o "$input" = "M" ]
			then
				rm -f $TMP_PATH/batchlist.tmp >/dev/null 2>&1
				return
			elif [ "$input" = "S" -o "$input" = "s" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
				echo "\n$WHITE_FG 1) Avamar CRON"
				echo " 2) Avamar MCS Scheduler"
				if [ "$BACKUPPRODUCT" = "networker" -o "$BACKUPPRODUCT" = "networker_save" ]
				then 
					echo " 3) Networker Scheduler"
				fi	
				echo "\n$CYAN_FG Enter scheduling method by number or$WHITE_FG [Q=Quit Def=1]$CYAN_FG >:$DEF \c"; read schedulerx
				if [ "$schedulerx" = "Q" -o "$schedulerx" = "q" ];then continue
				elif [ "$schedulerx" = "" -o "$schedulerx" = "1" ]
				then
                                	echo "\n$CYAN_FG To view or modify CRON enter [$WHITE_FG#$CYAN_FG=Policy-#$WHITE_FG E$CYAN_FG=Manual-Edit$WHITE_FG V$CYAN_FG=View-Current-Entries or <$WHITE_FG Press Enter to Return $CYAN_FG>]: $DEF \c"
                                	read input2
					if [ "$input2" = "" ];then break; fi
					if [ "$input2" = "V" -o "$input2" = "v" ]
					then
						echo "$WHITE_FG"
						grep "adme -batch " $CRON
						echo "\n$DEF< Press Enter to Continue >\c"; read
						break
					elif [ "$input2" = "E" -o "$input2" = "e" ]
                                	then
						 /usr/bin/crontab -u root -e
						break
					fi
                                	getitem_rtn $input2 batchlist.tmp
					length_chk_rtn
		 			if [ "$Itemx" = "" ];then continue; fi

					if [ "$input2" -le "0" -o "$input2" -gt "$maxcnt" ];then break; fi
					linex=`grep -n "adme -batch $Itemx" $CRON | sed -n "s/:/ /"p | head -1`
					if [ "$linex" = "" ]
					then
						cron_exist=0
						cron1="12:00"; cron2="2"; cron3="*"; cron4="*"; action="CRON-ADD"
						hr="12"; min="00"
					else
						linexnum=`echo "$linex" | awk '{print $1}'`
						linex=`sed -n "$linexnum,$linexnum"p $CRON`
						if [ "$(echo "$linex" | egrep -c "#DISABLED")" -ne "0" ];then  min="$(echo "$linex" | awk '{print $2}')"
						else min="$(echo "$linex" | awk '{print $1}')"; fi
						if [ "$(echo "$linex" | egrep -c "#DISABLED")" -ne "0" ];then  hr="$(echo "$linex" | awk '{print $3}')"
						else hr="$(echo "$linex" | awk '{print $2}')"; fi
						if [ "$(echo "$linex" | egrep -c "#DISABLED")" -ne "0" ];then  cron2="$(echo "$linex" | awk '{print $4}')"
						else cron2="$(echo "$linex" | awk '{print $3}')"; fi
						if [ "$(echo "$linex" | egrep -c "#DISABLED")" -ne "0" ];then  cron3="$(echo "$linex" | awk '{print $5}')"
						else cron3="$(echo "$linex" | awk '{print $4}')"; fi
						if [ "$(echo "$linex" | egrep -c "#DISABLED")" -ne "0" ];then  cron4="$(echo "$linex" | awk '{print $6}')"
						else cron4="$(echo "$linex" | awk '{print $4}')"; fi
						cron_exist=1; action="CRON-STATUS"; cron1="$hr:$min"
					fi

					while true
					do
						echo "\n             Run Start Time HH:MM [$GREEN_FG Def=$cron1 $DEF]"
						echo "     Run Day-of-Month 1-31 or *=Any [$GREEN_FG Def=$cron2 $DEF]"
						echo "    Run Month-of-Year 1-12 or *=Any [$GREEN_FG Def=$cron3 $DEF]"
						echo "Run Day-of-Week# IE. Sun=0 or *=Any [$GREEN_FG Def=$cron4 $DEF]"
						cron1_="$cron1"; cron2_="$cron2"; cron3_="$cron3"; cron4_="$cron4"

						if [ "$cron1" = "" ];then cron1="12:00"; fi
						if [ "$cron2" = "" ];then cron2=2; fi; if [ "$cron2" = "ANY" ];then mday="*"; else mday="$cron2"; fi
						if [ "$cron3" = "*" -o "$cron3" = "" ];then myr="*"; else myr="$cron3"; fi	
						if [ "$cron4" = "*" -o "$cron4" = "" ];then wday="*"; else wday="$cron4"; fi	
						if [ "$(echo "$linex" | grep -c "DISABLE"D)" -ne "0" ];then colorx="$YELLOW_FG"; else colorx="$GREEN_FG"; fi

						if [ `grep -ce "adme -BATCH " $BULOCATION/etc/$Itemx` -eq "0" ]
						then
							echo "\nCron-Entry:$colorx $min $hr $mday $myr $wday $HOMEPATH/adme -batch $Itemx >/dev/null 2>&1$DEF"
							clinex="$min $hr $mday $myr $wday $HOMEPATH/adme -batch $Itemx >/dev/null 2>&1"
						else
							echo "\nCron-Entry:$colorx $min $hr $mday $myr $wday $HOMEPATH/adme -batch $Itemx >/dev/null 2>&1$DEF"
							clinex="$min $hr $mday $myr $wday $HOMEPATH/adme -batch $Itemx >/dev/null 2>&1"
						fi	
						echo "\n$CYAN_FG Confirm this $action: [$WHITE_FG C$CYAN_FG=Commit$WHITE_FG D$CYAN_FG=Disable$WHITE_FG E$CYAN_FG=Enable$WHITE_FG M$CYAN_FG=Modify$WHITE_FG R$CYAN_FG=Remove or <$WHITE_FG Press Enter to Return $CYAN_FG>]:$DEF > \c"
						read cron5
						if [ "$cron5" = "" ];then break
						elif [ "$cron5" = "c" -o "$cron5" = "C" ]
						then
							jobschedule_rtn j=$Itemx,m=$min,h=$hr,date=$mday,month=$myr,day=$wday,state=e
							break
						elif [ "$cron5" = "r" -o "$cron5" = "R" ]
						then
							jobschedule_rtn j=$Itemx,m=$min,h=$hr,date=$mday,month=$myr,day=$wday,state=r
							break
						elif [ "$cron5" = "e" -o "$cron5" = "E" ]
						then
							jobschedule_rtn j=$Itemx,m=$min,h=$hr,date=$mday,month=$myr,day=$wday,state=e
							break
						elif [ "$cron5" = "d" -o "$cron5" = "D" ]
						then
							jobschedule_rtn j=$Itemx,m=$min,h=$hr,date=$mday,month=$myr,day=$wday,state=d
							break
						elif [ "$cron5" = "m" -o "$cron5" = "M" ]
						then
							if [ `echo "$linex" | grep -c "^#DISABLED"` -eq "1" ]
							then
								echo "\n$ERRORX-40E: Job policy [$WHITE_FG $Itemx $RED_FG] must be in an Enabled state to modify$DEF\c"; read
								break	
							fi
							echo "\n$CYAN_FG            Run Start Time HH:MM [$WHITE_FG Def=$cron1 $CYAN_FG]: >$DEF \c"
							if [ "$cron5" = "m" -o "$cron5" = "M" ];then read cron1; fi; if [ "$cron1" = "" ]
							then
								cron1="$cron1_"
							else
								min="$(echo "$cron1" | awk -F: '{print $2}')"
								hr="$(echo "$cron1" | awk -F: '{print $1}')"
							fi

							echo "$CYAN_FG      Run Day-of-Month 1-31 or * [$WHITE_FG Def=$cron2 $CYAN_FG]: >$DEF \c"
							if [ "$cron5" = "m" -o "$cron5" = "M" ];then read cron2; fi; if [ "$cron2" = "" ];then cron2="$cron2_"; fi
							echo "$CYAN_FG     Run Month-of-Year 1-12 or * [$WHITE_FG Def=$cron3 $CYAN_FG]: >$DEF \c"
							if [ "$cron5" = "m" -o "$cron5" = "M" ];then read cron3; fi; if [ "$cron3" = "" ];then cron3="$cron3_"; fi
							echo "$CYAN_FG Run Day-of-Week# IE. Sun=0 or * [$WHITE_FG Def=$cron4 $CYAN_FG]: >$DEF \c"
							if [ "$cron5" = "m" -o "$cron5" = "M" ];then read cron4; fi; if [ "$cron4" = "" ];then cron4="$cron4_"; fi
							continue
						fi
					done
					break
				elif [ "$schedulerx" = "2" ]
				then
					echo "Use Avamar MCS scheduler (under construction)"; read
				elif [ "$schedulerx" = "3" ]
				then
					session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
					echo "\n $GREEN_BG$WHITE_FG NOTE: $DEF A Networker pnpc call may be used to initiate and monitor ADMe batch jobs directly from Networker Management Console GUI. This"
					echo " requires installation of the Networker Linux-64-bit file system agent and the creation of a pnpc script file on the Avamar utility node."
					echo " Additional Networker configuration steps are required and documented in the ADMe Admin Guide. This function is used to create the pnpc"
					echo " file which is referenced from a Networker group having the exact same name. The client resource assigned to this group must be the utility" 
					echo " node where its save-set definition is /etc/hosts, have a retention value of 1 day and its save command field set to savepnpc. In the group"
					echo " poperties ensure option no-index-save is checked and its retry counter is set to 0."
					echo "\n$CYAN_FG Enter a Policy-# to use or <$WHITE_FG Press Enter to Continue$CYAN_FG >:$DEF \c"
					read input2
					if [ "$input2" = "" ];then continue; fi
					getitem_rtn $input2 batchlist.tmp
					length_chk_rtn
		 			if [ "$Itemx" = "" ];then continue; fi
					file="$Itemx"
					networker_pnpc_rtn $Itemx
					else
						echo "Invalid input"; read
						continue		
					fi
			elif [ "$input" = "E" -o "$input" = "e" ]
 			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
				echo "\n$CYAN_FG Enter a Policy-# to EXECUTE or <$WHITE_FG Press Enter to Continue$CYAN_FG >:$DEF \c"
				read input2
				if [ "$input2" = "" ];then continue; fi
				getitem_rtn $input2 batchlist.tmp
				length_chk_rtn
		 		if [ "$Itemx" = "" ];then continue; fi
				file="$Itemx"
				execute_now_rtn $Itemx
			elif [ "$input" = "W" -o "$input" = "w" ]
			then
				echo "\n$CYAN_FG Adjust column width [$WHITE_FG ColWidth=$POLICYCOLWIDTH$CYAN_FG]: >\c "; read pcolw
				if [ "$pcolw" -le "" ];then continue
				elif [ "$pcolw" -ge "25" ]
				then
					grep -v "^POLICYCOLWIDTH=" $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.tmp
					echo "POLICYCOLWIDTH=$pcolw" >> $BULOCATION/customize/adme.cfg.tmp; POLICYCOLWIDTH="$pcolw"
					mv $BULOCATION/customize/adme.cfg.tmp $BULOCATION/customize/adme.cfg >/dev/null 2>&1
					break
				fi
			elif [ "$input" = "V" -o "$input" = "v" ]
                        then
				env_display_info_rtn
				echo "\n<Press Enter to Continue>"; read
			elif [ "$input" -gt "0" ]
			then
				if [ "$input" = "U" -o "$input" = "u" ]
				then
					echo "\n$CYAN_FG Enter a Policy-# to MODIFY or <$WHITE_FG Press Enter to Continue $CYAN_FG>: $DEF \c"
					read input2
				else
					input2="$input"; Itemx=""
					input2_def="$input"
				fi
				if [ "$input2" = "" ];then break; fi

				getitem_rtn $input2 batchlist.tmp
				length_chk_rtn
		 		if [ "$Itemx" = "" ];then continue; fi
				file="$Itemx"
				clear
				if [ `grep -ce "-BATCH" $BULOCATION/etc/$Itemx` -eq "0" ]
				then
					echo "$head_n0"
					echo "$BLUE_BG Job Policy: $BULOCATION/etc/$file $DEF"
					echo "================< Job Policy Contents >=================\n"
					linemax=`wc -l $pathx/$file | awk '{print $1}'`; linex=0
					while true
					do
#ADAM
						if [ "$linex" -lt "$linemax" ]; then linex=`expr $linex + 1`; else break; fi
						line=`sed -n "$linex,$linex"p $pathx$file`
						fld1=`echo -E "$line" | awk -F= '{print $1}'`; 
						if [ "$(echo "$fld1" | grep -c "^#")" -eq "1" ];then continue; fi
						fld2=`echo -E $line | awk -F:= '{print $2}' | cut -b 1-999`
						fld1_str=`echo -E "$fld1:                  " | cut -b 1-23`
						echo "$CYAN_FG$fld1_str$DEF\c"
						echo -E "$fld2"
					done
				else
					echo "$head_n0"
					echo "$BLUE_BG Job Policy: $BULOCATION/etc/$file $DEF"
					echo "================< Job Policy Contents >=================\n"
					echo "$CYAN_FG\c"
  					grep -v "cfg" $BULOCATION/etc/$file | head -1
					echo "$GREEN_FG\c"
 					awk '{print $3}' $BULOCATION/etc/$Itemx | grep "cfg"
					echo "$DEF\c"
				fi
				echo "\n$head_n"
 				session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
				if [ `grep -ce "-BATCH" $BULOCATION/etc/$Itemx` -eq "0" ]
				then
					profile_update_rtn $pathx$Itemx
				else
					profile_update_rtn $pathx$Itemx
				fi
				break
			elif [ "$input" = "N" -o "$input" = "n" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
				while true
				do
				echo "\n$RED_BG$WHITE_FG WARNING:$DEF Limited syntax checking is performed here with respect to the select and tapeout flag values entered,\n          these will be verified at job execution time.$DEF"
				echo "\n      ============<$BLUE_BG$WHITE_FG Choose a Policy Type $DEF >==========="
				ptype=""
				echo "\n$BLUE_BG$WHITE_FG Standard Policy:$DEF define a job policy to perform the data migration process for a given client group"
				echo "$BLUE_BG$WHITE_FG    Batch Policy:$DEF define a job policy used to call a series of existing standard job policies sequentially"
				echo "\n$CYAN_FG Select a policy type$WHITE_FG S$CYAN_FG=Standard or$WHITE_FG B$CYAN_FG=Batch [$WHITE_FG Def=Quit $CYAN_FG]:$DEF \c"
				read input2
				if [ "$input2" = "" -o "$input2" = "q" -o "$input2" = "Q" ]; then break; fi
				if [ "$input2" = "B" -o "$input2" = "b" ];then ptype="Batch"
				elif [ "$input2" = "S" -o "$input2" = "s" ];then ptype="Standard"
				else
					echo "\n$ERRORX-40F: A policy type of [$WHITE_FG $input2 $RED_FG] is invalid$DEF"; continue
				fi

				if [ "$ptype" = "Batch" ]
				then
					echo "\n$BLUE_BG$WHITE_FG NOTE: Batch Policy Considerations$DEF\n"
					echo "       By design ADMe will not remove staged data associated with a non-incremental session if its corresponding export backup"
					echo "       is not detected as being successful. For non-incremental jobs it is suggested a Fail-Action of STOP be used to prevent the"
					echo "       potential of any remaining jobs being scheduled overrunning your available staging area. Jobs configured as stageonly"
					echo "       or incremental tapeout may select an action of CONTINUE or STOP." 
					echo "\n$CYAN_FG Choose the action a Batch policy should take if one of its called policies fails.$WHITE_FG S$CYAN_FG=Stop$WHITE_FG C$CYAN_FG=Continue [$WHITE_FG Def=Stop $CYAN_FG]:$DEF \c"; read batch_action
					if [ "$batch_action" = "" -o "$batch_action" = "S" -o "$batch_action" = "s" ];then batch_action="FAIL ACTION STOP"
					elif [ "$batch_action" = "C" -o "$batch_action" = "c" ];then batch_action="FAIL ACTION CONTINUE"
					else batch_action="FAIL ACTION STOP"; fi
					echo "\n$CYAN_FG Failed-Action set to: [$WHITE_FG$batch_action$CYAN_FG]$DEF"
				fi

				echo "\n      ============<$BLUE_BG$WHITE_FG Enter Job Policy Parameters as Required $DEF >==========="
				echo "\n$CYAN_FG Enter a policy name or [$WHITE_FG Def=Quit $CYAN_FG]:$DEF \c"
				read input2
				if [ "$input2" = "" -o "$input2" = "q" -o "$input2" = "Q" ]; then break; fi

				maxjobnamelength="$(grep "^MAXJOBNAMELENGTH=" $BULOCATION/customize/adme.cfg)"
				if [ "$(echo "$input2" | grep -c " ")" -ne "0" ]
				then
					echo "\n$ERRORX-40F: A policy name cannot contain spaces$DEF"; continue
				elif [ -f $pathx/admbatch-$input2.cfg ]
				then
					echo "\n$ERRORX-40F: Policy name [$WHITE_FG admbatch-$input2.cfg $RED_FG] already exists$DEF"; continue
				elif [ "$(echo "$input2" | wc | awk '{print $NF}')" -gt "$maxjobnamelength" ]
				then
					echo "\n$ERRORX-40L: A policy name length cannot exceed $maxjobnamelength characters$DEF"; continue
				fi
				bfile="admbatch-$input2.cfg"
				if [ "$ptype" = "Standard" ]
				then
#				if [ "$(grep -c "^MAXENVCOUNT=" $BULOCATION/customize/adme.cfg)" -ne "0" ]
#					then
						envmaxcnt="$(grep "^MAXENVCOUNT=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
					while true
					do
					{
						echo "\n$CYAN_FG Enter an Environment Number or$WHITE_FG S$CYAN_FG=View-Env-Summary$WHITE_FG Def=1$CYAN_FG: \c$DEF"; read input3
						if [ "$input3" = "s" -o "$input3" = "S" ]
						then
							env_display_info_rtn; continue
						elif [ "$input3" = "" ]
                                		then
                                        		input3=1; break
                                		elif [ "$input3" -le "0" -o "$input3" -gt "$envmaxcnt" ]
                                		then
                                        		echo "\n$ERRORX-40G: Environment file-# specified [$WHITE_FG $input3 $RED_FG] is out of range, valid range must be within [$WHITE_FG 1-$envmaxcnt $RED_FG]$DEF"; continue
							continue
						else
							if [ -s $BULOCATION/etc/atoenv.cfg$input3 ];then break
							else  echo "\n$ERRORX-40G: Environment file-# specified [$WHITE_FG $input3 $RED_FG] is within range but doesn't currently exist$DEF"; continue; fi
                                		fi
					}
					done

					echo "\n$CYAN_FG\nChoose a group name from the list displayed below.\n"
					agrps=`grep -v "^#" $CFG | awk -F, '{print $1}' | sort -u`
					gcnt=0; linelimit=15; gline=""
					for x in $(echo "$agrps")
					do
						gline=`echo "$gline $x"`; gcnt=`expr $gcnt + 1`
						if [ "$gcnt" -ge "$linelimit" ]
						then
							echo "$GREEN_FG $gline"; gcnt=0; gline=""
						fi
					done
					echo "$GREEN_FG $gline\n"
		
					while true
					do
						echo "$CYAN_FG Base Group Name: \c$DEF"; read input4
						if [ "$input4" = "" ]
                                		then
                                        		echo "\n$ERRORX-40H: A valid base group name must be specified$DEF\n"; continue
                                		elif [ "$input4" != "" ]
                                		then
							if [ `grep -c "^$input4" $CFG` -eq "0" ]
							then
                                        			echo "\n$ERRORX-40I: The group name specified [$WHITE_FG $input4 $RED_FG] is invalid$DEF\n"; continue
							else
								break
							fi
                                		fi
					done
					echo "$GREEN_FG\nEnter a space separated subgroup list or enter to skip"
					echo "Example: 1 2 3$DEF\n"
					echo "$CYAN_FG Sub Group Name$WHITE_FG Def=0$CYAN_FG: \c$DEF"; read input5
					if [ "$input5" = "" ]; then input5=0; fi

					echo "\n$CYAN_FG Use-Only:$WHITE_FG *Avamar Native  **Networker DeDup Node $DEF"
					echo "$RED_BG$WHITE_FG NOTE: $DEF$CYAN_FG A Plug-IN displayed in$RED_FG red$CYAN_FG is either deprecated or has limited supportd$DEF"
					echo "\n$GREEN_FG[-first | -first_F]$DEF                         Select first backup within the defined date range"
					echo "$GREEN_FG[-last | -last_F ]$DEF                          Select last backup within the defined date range$DEF"
					echo "$GREEN_FG[-week <day> | <day_#>]$DEF                     Select backups for a specifc day of the week"
					echo "$GREEN_FG[-nday <#> | +<#>]$DEF                          Select from a fixed number of days or using + extend the auto date range"
					echo "$GREEN_FG[-rday <#>]$DEF                                 Select a relative or specific day of the month"
					echo "$GREEN_FG[-rmonth <#>]$DEF                               Select a relative starting date backwards in time by month up to the 1st of your current month"
					echo "$GREEN_FG[-rmonthx <#>]$DEF                              Select a relative starting date backwards in time by month up to end of that month only"
					echo "$GREEN_FG[-rtype <none|daily|weekly|monthly|yearly>]$DEF * Limit selection to a specific retention tag type value"
					echo "$GREEN_FG[-gname <policy-grp-name/label-value>]$DEF      * Limit selection to a unique policy group/label string value"
					echo "$GREEN_FG[-D -d ...]$DEF                                 D=log debug info to STDOUT d=log debug info to event log"
					echo "$GREEN_FG[-M]$DEF                                        Enable email alerts during the selection process" 
					echo "$GREEN_FG[$RED_FG -exchdb$GREEN_FG|-exchvss|$RED_FG-exchmsg$GREEN_FG]$DEF                 * Exchange BU types, exchvss=Exchg VSS, exchdb=db exchmsg=message level" 
					echo "$GREEN_FG[-lotus|-ndmp|-oracle|$RED_FG -sap$GREEN_FG|-shptvss|-sql|$RED_FG -sybase$GREEN_FG|-hypervvss|-vmimage]$DEF * Select one backup type or accept default = file system"
					echo "$GREEN_FG[-buid [\"buid# buid# buid#\"]$DEF                Include specific backups by their label number"
					echo "$GREEN_FG[-butype [\"cod mod nah\"]$DEF                    * Include non scheduled backup types in selection process"
					echo "$GREEN_FG[-sdate <yyyy-mm-dd> [-edate <yyyy-mm-dd>]]$DEF Override automated search date range"
					echo "$GREEN_FG[-data <savset-name>...|-xdata <savset-name>...]$DEF ** Include or exclude specific Networker save-set names"
					echo "$GREEN_FG[-nwinc]$DEF                                    ** Include Networker incremental backups with dedup node only"

					echo "\n$CYAN_FG Select Flags$WHITE_FG Def=-d:$DEF \c"; read input6

					echo "$GREEN_FG[-avamigrate /domain/staging-server-name]$DEF staging server domain/name on target Avamar system"
                			echo "$GREEN_FG[-avtar | -mccli]$DEF              * Override auto detected recovery method forcing the use of avtar or mccli"
                			echo "$GREEN_FG[-avflags <avflags-value>]$DEF      Apply a custom avtar flag or option value minus their leading hyphens to the staging process"
                			echo "$GREEN_FG[-archive tar | pax | tarcomp | paxcomp]$DEF"
					echo "                                Rehydrate staged data to a streamed PAX file, and optionally compress it"
                			echo "$GREEN_FG[-Metadata txt | xml | txtcomp | xmlcomp]$DEF"
					echo "                                Create a corresponding metadata file listing in txt, xml either of which can optionally be compressed"
					echo "$GREEN_FG[-D -d ...]$DEF                     D=log debug info to STDOUT d=log debug info to event log"
					echo "$GREEN_FG[-m]$DEF                            Enable email notifications upon completion of the job policy" 
					echo "$GREEN_FG[-data <name> | -xdata <name> ]$DEF * Specify folders to include or exclude from the staging process"
					echo "$GREEN_FG[-delete ]$DEF                      Force deletion of staged data if its export backup fails or cannot be confirmed"
					echo "$GREEN_FG[-expire #_period | #_period_round | fixed_yyyymmdd  Period=days|weeks|months|years ]$DEF Establish a relative retention folder name"
					echo "$GREEN_FG[-expire fixed_YYYYMMDD ]$DEF       Established a fixed retetion folder name"
					echo "$GREEN_FG[-full ]$DEF                        Force the overwrite of any existing files during the staging process" 
					echo "$GREEN_FG[-inc | -incdel]$DEF                Enable incremental staging or incremental delete function$DEF"
					echo "$GREEN_FG[-noincpath ]$DEF                   Inhibit creation of the structured destination path when using the -inc option"
					echo "$GREEN_FG[-noprvpath ]$DEF                   Inhibit creation of the original backup destination path when using -data option"
					echo "$GREEN_FG[-path <name>]$DEF                  Specify a path name to be appended to generated path for each client"
					echo "$GREEN_FG[-purge ]$DEF                       Purge selected backups from Avamar only if export backup is confirmed successful"
					echo "$GREEN_FG[-nwksave ]$DEF                     With Networker tape application, force use of save command versus the default savefs"
					echo "$GREEN_FG[-sdate yyyy-mm-dd]$DEF             * Increase date range to include backups older than 2 months"
					echo "$GREEN_FG[-sdelay <#seconds>]$DEF            Override delay between staging progress messages, default defined in environment file"
					echo "$GREEN_FG[-server ]$DEF                      Initiate export backup process from export backup server versus the norm of the staging client"
					echo "$GREEN_FG[-stageonly | -s]$DEF               Perform staging phase only skippingl the export backup initiation"
					echo "$GREEN_FG[-tapeonly | -t]$DEF                Initiate export backup phase only, skips all staging activity"
					echo "$GREEN_FG[-tdelay <#seconds>]$DEF            Override delay between export backup progress messages, defualt defined in environment file"
					echo "$GREEN_FG[-tpolicy <tape-policy-name>]$DEF   Override defined policy in client file Fld-12,13,14" 
					echo "$GREEN_FG[-upre <user-pre-script-name>]$DEF  User defined pre-script called from auto generated tape script executed before export backup" 
					echo "$GREEN_FG[-upst <user-post-script-name>]$DEF User defined post-script called from auto generated tape script executed after successful export backup" 
					echo "                                A case sensitive argument of FORMAT-? where ?=Drv-Letter can be used to quick format a staging disk"
					echo "\n$CYAN_FG Migration Flags$WHITE_FG Def=-d -D -m:$DEF \c"; read input8
					echo "Environment_Number:=$input3" > $pathx/admbatch-$input2.cfg
					echo "Base_Group_Name:=$input4" >> $pathx/admbatch-$input2.cfg
					echo "Sub_Group_Numbers:=$input5" >> $pathx/admbatch-$input2.cfg
					echo "Select_Flags:=-d $input6" >> $pathx/admbatch-$input2.cfg
					echo "View_Flags:=-d $input7" >> $pathx/admbatch-$input2.cfg
					if [ `echo "$input8" | grep -c "\-D"` -eq "0" ];then input8="$input8 -D"; fi
					if [ `echo "$input8" | grep -c "\-m"` -eq "0" ];then input8="$input8 -m"; fi
#					echo "Tapeout_Flags:=-d $input8" >> $pathx/admbatch-$input2.cfg
					echo "Migration_Flags:=-d $input8" >> $pathx/admbatch-$input2.cfg
					echo "\n$CYAN_FG Confirm: [$WHITE_FG C$RED_FG=Commit-Change $WHITE_FG M$CYAN_FG=Modify or <$WHITE_FG Press Enter to Return $CYAN_FG>]:$DEF > \c"
					read newprf
					if [ "$newprf" = "c" -o "$newprf" = "C" ]
					then
						break
					elif [ "$newprf" = "m" -o "$newprf" = "M" ]
					then
						rm $pathx/admbatch-$input2.cfg >/dev/null 2>&1
						clear; continue
					else
						
						rm $pathx/admbatch-$input2.cfg >/dev/null 2>&1
						break
					fi
					elif [ "$ptype" = "Batch" ]
					then
						echo "$GREEN_FG\nEnter a space separated policy list to be included in [$WHITE_FG admbatch-$input2.cfg $GREEN_FG]$"
						echo "Example: 1 2 3$DEF\n"
						echo "$CYAN_FG          Policy Number's: \c$DEF"; read input5
						if [ "$input5" = "" ]; then break; fi
						echo "$CYAN Adding batch policy numbers [$WHITE_FG $input5 $CYAN_FG] to [$WHITE_FG admbatch-$input2.cfg $CYAN_FG]"
						echo
						echo "$batch_action" > $BULOCATION/etc/$bfile
						for p in `echo "$input5"`
						do
							getitem_rtn $p batchlist.tmp
							length_chk_rtn
		 					if [ "$Itemx" = "" ];then continue; fi
							file="$Itemx"
  							echo "$GREEN_FG Adding Job Policy: [$WHITE_FG $Itemx $GREEN_FG]$DEF"
							bfilelog=`echo "$bfile" | sed -n "s/.cfg/.log/"p`
 							echo "/usr/local/avamar/bin/adme -BATCH $Itemx" >> $BULOCATION/etc/$bfile
 						done
						chmod 700 $BULOCATION/etc/$bfile >/dev/null 2>&1
						echo "$DEF\n<Press Enter to Continue>"; read
						break
					fi
				done
				break
			elif [ "$input" = "D" -o "$input" = "d" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
				flag=0
				echo "\n$RED_BG$WHITE_FG Enter a Policy-# to DELETE or <$WHITE_FG Press Enter to Continue$CYAN_FG >: $DEF \c"
				read input2
				if [ "$input2" = "" ]; then continue; fi
				getitem_rtn $input2 batchlist.tmp
				length_chk_rtn
		 		if [ "$Itemx" = "" ];then continue; fi
				file="$Itemx"
				echo "\n$CYAN_FG Confirm deletion of Job-Policy-Name  [$WHITE_FG $file] Enter Y or N [Def=N]$DEF :> $Asciesc"; read deleteprompt
                        	if [ "$deleteprompt" = "Y" -o "$deleteprompt" = "y" ]
                        	then
					rm $pathx$file >/dev/null 2>&1; break
                        	else
                                	echo "\n Job-Policy-Name has been retained ..."; sleep 1
                        	fi
			elif [ "$input" = "q" -o "$input" = "Q" ]
			then
				return	
			else
				echo "\n$RED_FG Input Invalid$DEF"; sleep 1; continue
			fi
		done
	done
done
}

jobschedule_rtn()
{

	job_="$(echo "$1" | awk -F, '{print $1}' | sed -n "s/j=//"p)"
	if [ "$job_" = "admbatch-.cf"g ];then return 0; fi
	minute_="$(echo "$1" | awk -F, '{print $2}' | sed -n "s/m=//"p)"
	hour_="$(echo "$1" | awk -F, '{print $3}' | sed -n "s/h=//"p)"
	date_="$(echo "$1" | awk -F, '{print $4}' | sed -n "s/date=//"p)"
	month_="$(echo "$1" | awk -F, '{print $5}' | sed -n "s/month=//"p)"
	day_="$(echo "$1" | awk -F, '{print $6}' | sed -n "s/day=//"p)"
	state_="$(echo "$1" | awk -F, '{print $7}' | sed -n "s/state=//"p)"

	if [ ! -s $BULOCATION/etc/$job_ ]
	then
		if [ -s $BULOCATION/etc/admbatch-$job_.cfg ]
		then
			jobx="admbatch-$job_.cfg"; job_="$jobx"
		else
			echo "$ERRORX-99A - The job name passed is not valid. [$WHITE_FG $job_ $DEF]"
			return 1
		fi
	fi

#	if [ -f /etc/SuSE-release ];then CRON="/var/spool/cron/tabs/admin"; else CRON="/var/spool/cron/admin"; fi
	 crontab -u root -l > $TMP_PATH/.CRON-CONTENT
	CRON="$TMP_PATH/.CRON-CONTENT"

	line1=`egrep -n "^# <<< BEGIN ATO MANAGED ENTRIES|^# <<< BEGIN ADMe MANAGED ENTRIES" $CRON | sed -n "s/:/ /"p | head -1 | awk '{print $1}'`
        line2=`egrep -n "^# <<< END ATO MANAGED ENTRIES|^# <<< END ADMe MANAGED ENTRIES" $CRON | sed -n "s/:/ /"p | head -1 | awk '{print $1}'`
        linex=`grep -n "adme -batch $job_" $CRON | sed -n "s/:/ /"p | head -1`
	if [ "$(echo "$linex" | grep -c ",")" -ne "0" ]
	then
		linex_="$(echo "$linex" | sed -n "s/,/+/"gp)"
		linex="$linex_"
	fi

	state=""
	if [ "$state_" = "G" -o "$state_" = "g" ]
	then
		if [ "$linex" != "" ]
		then
			if [ "$(echo "$linex" | grep -c "#DISABLED")" -ne "0" ];then state="DISABLED"
			else state="ENABLED"; fi 
               		linexnum="$(echo "$linex" | awk '{print $1}')"
			if [ "$state" = "ENABLED" ]
			then
               			useline_="$(sed -n "$linexnum,$linexnum"p $CRON | awk '{print $1,$2,$3,$4,$5}')"
				if [ "$(echo "$useline_" | grep -c ",")" -ne "0" ]
				then
					useline="$(echo "$useline_" | sed -n "s/,/+/"gp | sed -n "s/ /,/"gp)"
				else
					useline="$(echo "$useline_" | sed -n "s/ /,/"gp)"
				fi
			else
               			useline_="$(sed -n "$linexnum,$linexnum"p $CRON | awk '{print $2,$3,$4,$5,$6}')"
				if [ "$(echo "$useline_" | grep -c ",")" -ne "0" ]
                                then
                                        useline="$(echo "$useline_" | sed -n "s/,/+/"gp | sed -n "s/ /,/"gp)"
                                else
                                        useline="$(echo "$useline_" | sed -n "s/ /,/"gp)"
                                fi
			fi
			Cronx="$state,$useline"
		else

			stdjobchk="$(echo "$CRON" | grep "$job_" | head -1 | awk '{print $8}')"
			if [ "$stdjobchk" != "" ]
			then
				cronline="$(grep "$job_" $CRON | head -1)"
				if [ "$(echo "$cronline" | grep "$job_" | grep -c "DISABLED")" -eq "1" ];then Cronx="DISABLED,0,0,*,*,*"
				elif [ "$(echo "$cronline" | grep -c "$ojb_")" -eq "1" ];then Cronx="ENABLED,0,0,*,*,*"
				else Cronx="NOT-ENABLED,0,0,*,*,*"; fi
			fi

			batchjobchk="$(grep "$job_" $BULOCATION/etc/admbatch-*.cfg | awk -F: '{print $1}' | head -1 | awk -F/ '{print $NF}')"
			if [ "$batchjobchk" != "" -a "$stdjobchk" = "" ]
			then
				cronline=""
				cronline="$(grep "$batchjobchk" $CRON | head -1)"

				if [ "$(echo "$cronline" | grep "$batchjobchk" | grep -c "DISABLED")" -eq "1" ];then Cronx="DISABLED,0,0,*,*,*"
				elif [ "$(echo "$cronline" | grep -c "$batchjobchk")" -eq "1" ];then Cronx="BATCH-ENABLED,0,0,*,*,*"
				else Cronx="NOT-ENABLED,0,0,*,*,*"; fi
			fi

			if [ "$stdjobchk" = "" -a "$batchjobchk" = "" ];then Cronx="NOT-ENABLED,0,0,*,*,*"; fi
 		fi
		echo "$Cronx"
		return 0
	fi

	if [ "$state_" = "E" -o "$state_" = "e" ]
	then
		if [ "$linex" != "" ]
		then
			if [ "$(echo "$linex" | grep -c "#DISABLED")" -ne "0" ]
			then
				state=""
               			linexnum="$(echo "$linex" | awk '{print $1}')"
               			useline="$(sed -n "$linexnum,$linexnum"p $CRON | sed -n "s/#DISABLED //"gp)"
				clinex="$state$useline"
			else
				clinex="$state$minute_ $hour_ $date_ $month_ $day_ /usr/local/avamar/bin/adme -batch $job_ >/dev/null 2>&1"
			fi
		else
			clinex="$state$minute_ $hour_ $date_ $month_ $day_ /usr/local/avamar/bin/adme -batch $job_ >/dev/null 2>&1"
		fi
	fi

	if [ "$state_" = "D" -o "$state_" = "d" ]
	then
		state="#DISABLED"
		if [ "$linex" != "" ]
		then
			if [ "$(echo "$linex" | grep -c "#DISABLED")" -eq "0" ]
			then
               			linexnum="$(echo "$linex" | awk '{print $1}')"
               			useline="$(sed -n "$linexnum,$linexnum"p $CRON)"
				clinex="$state $useline"
			else
				return 0
			fi
		else
			clinex="$state $minute_ $hour_ $date_ $month_ $day_ /usr/local/avamar/bin/adme -batch $job_ >/dev/null 2>&1"
		fi
	fi
	
	if [ "$state_" = "R" -o "$state_" = "r" ]
	then
		state="#REMOVE"
		if [ "$linex" != "" ]
		then
			if [ "$(echo "$linex" | grep -c "$job")" -ne "0" ]
			then
               			linexnum="$(echo "$linex" | awk '{print $1}')"
               			useline="$(sed -n "$linexnum,$linexnum"p $CRON)"
				clinex="$state $useline"
			else
				return 0
			fi
		else
			return 0
		fi
	fi

        if [ "$linex" = "" ]
        then
	       	cron_exist=0
               	cron1="12:00"; cron2="2"; cron3="*"; cron4="*"; action="CRON-ADD"
        else
               	linexnum=`echo "$linex" | awk '{print $1}'`
               	linex=`sed -n "$linexnum,$linexnum"p $CRON`
               	cron1=`echo "$linex" | awk '{print $2":"$1}'`
		cron2=`echo "$linex" | awk '{print $3}'`
               	cron3=`echo "$linex" | awk '{print $4}'`
		cron4=`echo "$linex" | awk '{print $5}'`
               	cron_exist=1; action="CRON-STATUS"
        fi
	cron_update_rtn
}

cron_update_rtn()
{
	if [ "$(echo "$clinex" | grep -c "+")" -ne "0" ]
	then
		clinex_="$(echo "$clinex" | sed -n "s/+/,/"gp)"
		clinex="$clinex_"
	fi

	if [ "$line1" -eq "" ]
        then

#		cat $CRON > $TMP_PATH/cron.tmp2
		 crontab -u root -l > $TMP_PATH/cron.tmp2

                echo "# <<< BEGIN ADMe MANAGED ENTRIES" > $TMP_PATH/cron.tmp1
                echo "$clinex" >> $TMP_PATH/cron.tmp1
                echo "# <<< END ADMe MANAGED ENTRIES" >> $TMP_PATH/cron.tmp1
                cat $TMP_PATH/cron.tmp2 >> $TMP_PATH/cron.tmp1
	elif [ "$line1" -ne "" -a "$line2" -ne "" -a "$cron_exist" -eq "0" ]
	then
		sed -n "1,`expr $line2 - 1`"p $CRON > $TMP_PATH/cron.tmp1
                echo "$clinex" >> $TMP_PATH/cron.tmp1
                sed -n "$line2,9999"p $CRON >> $TMP_PATH/cron.tmp1
	elif [ "$cron_exist" -eq "1" ]
	then
		sed -n "1,`expr $linexnum - 1`"p $CRON > $TMP_PATH/cron.tmp1
                echo "$clinex" >> $TMP_PATH/cron.tmp1
                sed -n "`expr $linexnum + 1`,9999"p $CRON >> $TMP_PATH/cron.tmp1
	fi

	egrep -v "cron.tmp1|the master|vixie|crontab.X|^#REMOVE" $TMP_PATH/cron.tmp1 | grep . > $TMP_PATH/cron.tmp11
	mv $TMP_PATH/cron.tmp11 $TMP_PATH/cron.tmp1  >/dev/null 2>&1 

         crontab -u root $TMP_PATH/cron.tmp1
	cronstat="$?"
	rm $TMP_PATH/cron.tmp1  $TMP_PATH/cron.tmp11 >/dev/null 2>&1

        if [ "$cronstat" -ne "0" -a "$Jobschedule" -eq "0" ]
        then
        	echo "\n$RED_BG$WHITE_FG ERRORX-40A:$DEF$RED_FG A CRON syntax or access error has been detected, no changes made$DEF\c"; read
	elif [ "$cronstat" -ne "0" -a "$Jobschedule" -ne "0" ] 
	then
        	echo "\n$ERRORX-40A: A CRON syntax error has been detected, no changes made$DEF\n"
		return 1
        fi
}

env_display_info_rtn()
{
	
	rm $TMP_PATH/policysummary.tmp* >/dev/null 2>&1
#	if [ -s $BULOCATION/customize/envcount.txt ];then envlimit="$(head -1 $BULOCATION/customize/envcount.txt | awk '{print $1}')"; else envlimit=20; fi

	envlimit="$MAXENVCOUNT"
	clear
	filelist="$(ls -rtl $BULOCATION/etc/admbatch-*.cfg 2>/dev/null | awk -F/ '{print $NF}')"
	for x in $(echo "$filelist")
	do
		if [ "$(grep -c "^Environment_Number" $BULOCATION/etc/$x)" -eq "0" ];then continue; fi
		envnumused="$(grep "^Environment_Number" $BULOCATION/etc/$x | head -1 | awk -F= '{print $2}')"
		grpnamused="$(grep "^Base_Group_Name:=" $BULOCATION/etc/$x | head -1 | awk -F= '{print $2}')"
		pathnamused="$(grep "^$grpnamused" $CFG | head -1 | awk -F, '{print $10}')"
		lognamex="$(echo "$x" | sed -n "s/.cfg/.log/"p)"
		lastdatasize="$(tail -20 $BULOCATION/log/$lognamex 2>/dev/null | grep "STAGING SUMMARY:" | tail -1 2>/dev/null | sed -r "s:\x1B\[[0-9;]*[mK]::g" | awk -F"Size:" '{print $2}' | awk '{print $1,$2}' 2>/dev/null)"
		elapsedtime="$(tail -10 $BULOCATION/log/$lognamex 2>/dev/null | grep "Elapsed" | tail -1 2>/dev/null | sed -r "s:\x1B\[[0-9;]*[mK]::g" | awk -F"Elapsed-Time:" '{print $2}' | awk '{print $1}' 2>/dev/null)"
		lastenddate="$(tail -10 $BULOCATION/log/$lognamex 2>/dev/null | grep "End-Time" | tail -1 2>/dev/null | sed -r "s:\x1B\[[0-9;]*[mK]::g" | awk -F"End-Time:" '{print $2}' | awk '{print $1,$2}' 2>/dev/null)"
		if [ "$lastdatasize" = "" ];then lastdatasize="n/a"; fi
		if [ "$elapsedtime" = "" ];then elapsedtime="n/a"; fi
		if [ "$lastenddate" = "" ];then lastenddate="n/a"; fi

		if [ "$(tail -10 $BULOCATION/log/$lognamex 2>/dev/null | grep -c "SUCCEED")" -ne "0" ];then completionstat="Success"
		elif [ "$(tail -10 $BULOCATION/log/$lognamex 2>/dev/null | grep -c "cancelled by user")" -ne "0" ];then completionstat="Cancelled"
		elif [ "$(tail -10 $BULOCATION/log/$lognamex 2>/dev/null | grep -c "Exceptions")" -ne "0" ];then completionstat="Exceptions"
		elif [ "$(tail -10 $BULOCATION/log/$lognamex 2>/dev/null | grep -c "FAILURE")" -ne "0" ];then completionstat="Failed"
		elif [ "$(tail -5 $BULOCATION/log/$lognamex 2>/dev/null | grep -c "RunTime")" -ne "0" ];then completionstat="Running"
		else completionstat="Unknown"; fi

		policyname_s="$(echo "$CYAN_FG Job-Name:$DEF $x                                                       " | cut -b 1-44)"
		grpnamused_s="$(echo "$CYAN_FG Client-Group:$DEF $grpnamused                                                " | cut -b 1-36)"
		completionstat_s="$(echo "$CYAN_FG Last-Status:$DEF $completionstat                                    " | cut -b 1-36)"
		elapsedtime_s="$(echo "$CYAN_FG Run-Time:$DEF $elapsedtime                                             " | cut -b 1-29)"
		lastenddate_="$(echo "$CYAN_FG End-Date:$DEF $lastenddate                                              " | cut -b 1-37)"
		lastdatasize_s="$(echo "$CYAN_FG Data-Size:$DEF $lastdatasize                                          " | cut -b 1-38)"
		pathnamused_s="$(echo "$CYAN_FG Staging-Path:$DEF $pathnamused                                         " | cut -b 1-55)"
		if [ "$envnumused" -eq "" ];then envnumused=1; fi
		echo "$policyname_s$grpnamused_s$completionstat_s$elapsedtime_s$lastenddate_$lastdatasize_s$pathnamused_s" >> $TMP_PATH/policysummary.tmp$envnumused
#		echo "$policyname_s$grpnamused_s$completionstat_s$elapsedtime_s$lastenddate_$lastdatasize_s$lastdatasize_s$pathnamused_s" >> $TMP_PATH/policysummary.tmp$envnumused
	done

	envnum="1";
	while true
	do
		if [ "$envnum" -ge "1" -a "$envnum" -le "$envlimit" ]
                then
                        if [ "$envnum" -eq "1" ];then envnum_=""; else envnum_=$envnum; fi
			if [ -s $BULOCATION/etc/atoenv.cfg$envnum_ ]
			then
				params1="$(egrep "^BUSERVER_NAME" $BULOCATION/etc/atoenv.cfg$envnum_)"
				p1a="$(echo "$params1" | awk -F= '{print $1}')"; p1b="$(echo "$params1" | awk -F= '{print $2}')"
				params2="$(egrep "^UNIXSS" $BULOCATION/etc/atoenv.cfg$envnum_)"
				p2a="$(echo "$params2" | awk -F= '{print $1}')"; p2b="$(echo "$params2" | awk -F= '{print $2}')"
				params3="$(egrep "^WINDOWSS" $BULOCATION/etc/atoenv.cfg$envnum_)"
				p3a="$(echo "$params3" | awk -F= '{print $1}')"; p3b="$(echo "$params3" | awk -F= '{print $2}')"
				params4="$(egrep "^MAIL_TO=" $BULOCATION/etc/atoenv.cfg$envnum_)"
				p4a="$(echo "$params4" | awk -F= '{print $1}')"; p4b="$(echo "$params4" | awk -F= '{print $2}')"
				params5="$(egrep "^MAIL_TO_ERROR=" $BULOCATION/etc/atoenv.cfg$envnum_)"
				p5a="$(echo "$params5" | awk -F= '{print $1}')"; p5b="$(echo "$params5" | awk -F= '{print $2}')"
				params6="$(egrep "^USER_COMMENT" $BULOCATION/etc/atoenv.cfg$envnum_)"
				p6a="$(echo "$params6" | awk -F= '{print $1}')"; p6b="$(echo "$params6" | awk -F= '{print $2}')"
				params7="$(egrep "^ENDOFYEAR=" $BULOCATION/etc/atoenv.cfg$envnum_)"
				p7a="$(echo "$params7" | awk -F= '{print $1}')"; p7b="$(echo "$params7" | awk -F= '{print $2}')"
				params8="$(egrep "^SCRIPT_TIMEOUT=" $BULOCATION/etc/atoenv.cfg$envnum_)"
				p8a="$(echo "$params8" | awk -F= '{print $1}')"; p8b="$(echo "$params8" | awk -F= '{print $2}')"
				params9="$(egrep "^TAVADOMAINNAME=" $BULOCATION/etc/atoenv.cfg$envnum_)"
				p9a="$(echo "$params9" | awk -F= '{print $1}')"; p9b="$(echo "$params9" | awk -F= '{print $2}')"
				params10="$(egrep "^VMQUALIFIEDNAMES=" $BULOCATION/customize/adme.cfg)"
				p10a="$(echo "$params10" | awk -F= '{print $1}')"; p10b="$(echo "$params10" | awk -F= '{print $2}')"
				params11="$(egrep "^MASK_ERROR_04B=" $BULOCATION/customize/adme.cfg)"
				p11a="$(echo "$params11" | awk -F= '{print $1}')"; p11b="$(echo "$params11" | awk -F= '{print $2}')"
				params12="$(egrep "^MASK_ERROR_05A=" $BULOCATION/customize/adme.cfg)"
				p12a="$(echo "$params12" | awk -F= '{print $1}')"; p12b="$(echo "$params12" | awk -F= '{print $2}')"
				echo "" >> $TMP_PATH/envsummary.txt1
				echo "$BLUE_BG$WHITE_FG Environment Number: $envnum$DEF$CYAN_FG\n $p6a=$WHITE_FG$p6b\n       $CYAN_FG$p2a=$WHITE_FG$p2b\n     $CYAN_FG$p3a=$WHITE_FG$p3b\n      $CYAN_FG$p4a=$WHITE_FG$p4b\n$CYAN_FG$p5a=$WHITE_FG$p5b\n    $CYAN_FG$p7a=$WHITE_FG$p7b\n$CYAN_FG$p8a=$WHITE_FG$p8b\n$CYAN_FG$p9a=$WHITE_FG$p9b\n$CYAN_FG$p10a=$WHITE_FG$p10b\n  $CYAN_FG$p11a=$WHITE_FG$p11b\n  $CYAN_FG$p12a=$WHITE_FG$p12b" | tee -a $TMP_PATH/envsummary.txt1
				if [ -s $TMP_PATH/policysummary.tmp$envnum ]
				then
					if [ ! -f /tmp/health ];then cat  $TMP_PATH/policysummary.tmp$envnum | tee -a $TMP_PATH/envsummary.txt1
					else cat  $TMP_PATH/policysummary.tmp$envnum; fi
				fi
				echo ""
			fi
		else
			break
		fi
		envnum="$(expr $envnum + 1)"
	done
	cat $TMP_PATH/envsummary.txt1 | sed -r "s:\x1B\[[0-9;]*[mK]::g" > $TMP_PATH/envsummary.txt
	if [ "$bumail_flg" -eq "0" ]
	then
		mail_file_rtn Env-Summary-Report $TMP_PATH/envsummary.txt
	fi
	rm $TMP_PATH/policysummary.tmp* $TMP_PATH/envsummary.txt* >/dev/null 2>&1
}

env_select_rtn()
{
        if [ "$Debug" -ge "6" ]
        then
                echo "TRACE: Enabled env_select_rtn()"; set -x
        fi
        while true
        do
                envnum=1
#		if [ -s $BULOCATION/customize/envcount.txt ];then envlimit="$(head -1 $BULOCATION/customize/envcount.txt | awk '{print $1}')"; else envlimit=20; fi

		envlimit="$MAXENVCOUNT"
		if [ "$EnvMgr" -eq "1" ]
		then
                	 tput cup $1 $2; echo "$CYAN_FG Enter Environment$WHITE_FG #$CYAN_FG to use or$WHITE_FG S$CYAN_FG=Summary$WHITE_FG D$CYAN_FG=Disp-Status [$WHITE_FG 1 - $envlimit$CYAN_FG ]:$DEF > \c"
		else
                	tput cup $1 $2; echo "$CYAN_FG Enter Environment # to use [$WHITE_FG 20 $CYAN_FG]:$DEF > \c"
		fi
                read envnum
                if [ "$envnum" -ge "1" -a "$envnum" -le "$envlimit" ]
                then
                        if [ "$envnum" -eq "1" ];then envnum=""; fi
			EnvMgr=0
                        break
                elif [ "$envnum" = "S" -o "$envnum" = "s" ]
                then
			env_display_info_rtn
			echo "\n<Press Enter to Continue>"; read
			Summary=1
			EnvMgr=0
			break	
		elif [ "$envnum" = "D" -o "$envnum" = "d" ]
                then
			envreport_rtn	
			idlecnt="0"; activecnt="0"
                        echo "\n$CYAN_FG Current Environment File Status\n$DEF"
                        for x in $(awk -F, '{print $1}' $BULOCATION/jobstats/environment.csv)
                        do
                                if [ "$x" -eq "0" ];then continue; fi
				sserver_linux="$(cat $BULOCATION/jobstats/environment.csv | grep "^$x" | awk -F, '{print $11}' | head -1)"
				sserver_win="$(cat $BULOCATION/jobstats/environment.csv | grep "^$x" | awk -F, '{print $14}' | head -1)"
				if [ "$sserver_linux" != "n/a" ];then sserverx="$sserver_linux"; else sserverx="$sserver_win"; fi

				if [ "$x" -ge "1" ];then linex="$(expr $x + 1)"; else x="1"; fi
                                status="$(sed -n "$linex,$linex"p $BULOCATION/jobstats/environment.csv | awk -F, '{print $NF}')"

                                if [ "$status" = "ACTIVE" ]
				then
					if [ "$x" -eq "1" ];then echo "Env-$x:\t$GREEN_FG $status$DEF\t$CYAN_FG SS$DEF=$sserverx$CYAN_FG Lock-File$DEF=$BULOCATION/tmp/atocfg/.admebatch.lok"; activecnt="$(expr $activecnt + 1)"
					else echo "Env-$x:\t$GREEN_FG $status$DEF\t$CYAN_FG SS$DEF=$sserverx$CYAN_FG Lock-File$DEF=$BULOCATION/tmp/atocfg$x/.admebatch.lok"; activecnt="$(expr $activecnt + 1)"; fi
				elif [ "$x" -eq "20" ]
				then
					echo "Env-$x:\t$RED_FG RESERVED$DEF"
                                else
					echo "Env-$x:\t $status\t$CYAN_FG SS=$DEF$sserverx"; idlecnt="$(expr $idlecnt + 1)"
				fi
                        done
			echo "\n$CYAN_FG If an environment file is locked erroneously, the displayed lock file name can be removed using command$WHITE_FG rm -rf <lock-file-name>$CYAN_FG$DEF"
                        echo "\n$CYAN_FG Active-Count:$WHITE_FG $activecnt$CYAN_FG Idle-Count:$WHITE_FG $idlecnt$DEF\n\n <Press Enter to Continue>"; read
                        Summary=1
                        EnvMgr=0
                        break
                elif [ "$envnum" -eq "" ]
                then
			envnum="20"; EnvMgr=0; break
		else
                        tput cup `expr $1 - 2` `expr $2 + 33`; echo "$RED_FG Input Invalid$DEF"; sleep 1
                        tput cup `expr $1 - 2` `expr $2 + 33`; echo "                        "; continue
                fi
        done
	if [ "$envnum" -eq "1" ];then Cfg=""; else Cfg=$envnum; fi
        return $envnum
}

maintcheck_rtn()
{
        datex=`date +'20%y/%m'`

        if [ "$Avtar_Versionx" -eq "1" -a "$MAINTDISPLAY" = "true" ]
        then
                gcc_save=`$HOMEPATH/dumpmaintlogs --days=1 --types=gc`
                gcc_start=`echo "$gcc_save" | egrep -n "4200" | tail -1 | sed -n "s/:/ /"p 2>/dev/null | awk '{print $1}'`
                gcchk=`echo "$gcc_save" | sed -n "$gcc_start,9999"p 2>/dev/null | egrep -c "4203|4201|4202"`
                if [ "$gcc_start" -eq "" ];then gcchk=1; fi

                cp_save=`$HOMEPATH/dumpmaintlogs --days=1 --types=cp`
                cp_start=`echo "$cp_save" | egrep -n "4300" | tail -1 | sed -n "s/:/ /"p 2>/dev/null | awk '{print $1}'`
                cpchk=`echo "$cp_save" | sed -n "$cp_start,9999"p 2>/dev/null | grep -c "4301"`
                if [ "$cp_start" -eq "" ];then cpchk=1; fi

                hfs_save=`$HOMEPATH/dumpmaintlogs --days=1 --types=hfscheck`
                hfs_start=`echo "$hfs_save" | egrep -n "4002" | tail -1 | sed -n "s/:/ /"p 2>/dev/null | awk '{print $1}'`
                hfschk=`echo "$hfs_save" | sed -n "$hfs_start,9999"p 2>/dev/null | grep -c "4003"`
                if [ "$hfs_start" -eq "" ];then hfschk=1; fi

                if [ "$gcchk" -eq "0" ];then Reasonx="READONLY-GC"
                elif [ "$cpchk" -eq "0" ];then Reasonx="CHKPNT-Act "
                elif [ "$hfschk" -eq "0" ];then Reasonx="HFSCHK-Act "
                else Reasonx=""; fi
                if [ `date +'%d'` -eq "01" ];then Reasonx=""; fi
        else
                Reasonx=""
        fi
}

syntax_rtn()
{
	

	tbuserver=`grep "^BUSERVER_NAME=" $ENVCFG | awk -F= '{print $2}'`
	ustagesrv=`grep "^UNIXSS=" $ENVCFG | awk -F= '{print $2}' | awk -F/ '{print $NF}'`
	wstagesrv=`grep "^WINDOWSS=" $ENVCFG | awk -F= '{print $2}' | awk -F/ '{print $NF}'`
	if [ `echo "$ARGS" | egrep -ce "-upst|-upre"` -eq "1" ];then uscript=1; else uscript=0; fi
	if [ `echo "$ARGS" | egrep -ce "-server"` -eq "1" ];then srvopt=1; else srvopt=0; fi
	if [ "$srvopt" -eq "1" -a "$uscript" -eq "1" ]
	then
		next=0
		for gx in `echo $ARGS`
		do
			if [ "$next" -eq "1" ]
			then
				grpx="$gx"; break
			fi
			if [ "$gx" -eq "-sid" -o "$gx" -eq "-gid" ];then next=1; else next=0; fi
		done
		which_stgsrv=`grep "^$grpx" $CFG | tail -1 | awk -F, '{print $15}'`
		if [ "$which_stgsrv" = "WINDOWS" ];then comp_srv="$wstagesrv"; else comp_srv="$ustagesrv"; fi

		
#		if [ "$comp_srv" != "$tbuserver" ]
		if [ "$(echo "$comp_srv" | egrep -c "$tbuserver")" -eq "0" ]
		then
			echo
#	       		echo "\n$ERRORX-20A: Use of the -server option is not supported in conjunction with either -upre or -upst options unless the\n          export backup server is being used as the staging server. $DEF"
#			return 1
		fi
	fi

	if [ `echo "$ARGS" | egrep -ce "-jobcreate"` -eq "1" ]
	then
		jrip=1; list=" -jobcreate "
	elif [ `echo "$ARGS" | egrep -ce "-jobschedule"` -eq "1" ]
	then
		jrip=1; list=" -jobschedule "
	elif [ `echo "$ARGS" | egrep -ce "-jobpolicy"` -eq "1" ]
	then
		jrip=1; list=" -jobpolicy "
	elif [ `echo "$ARGS" | egrep -ce "-jobcancel"` -eq "1" ]
	then
		jrip=1; list=" -jobcancel "
	elif [ `echo "$ARGS" | egrep -ce "-auditget"` -eq "1" ]
	then
		aget=1; list=" -auditget "
	elif [ `echo "$ARGS" | grep -ce "-select"` -eq "1" ]
	then
		sip=1; list=" -skipselect -select -siteid -sid -gid -nday -sdate -rmonth -rday -edate -last -last_F -first -first_F -week -client -hypervvss -sap -sql -sybase -exch -exchdb -exchmsg -exchvss -linuxfastinc -lotus -ndmp -oracle -chkpt -vmimage -buid -d -D -m -mail -butype -but -gname -rtype -networker -nwinc -nwdata -nwxdata -data -xdata -vss -shptvss -rmonthx -clouddatapurge -cloudtier "
		if [ `echo "$ARGS" | egrep -ce "-siteid|-sid|-gid"` -eq "0" ]
		then
	       		echo "\n$ERRORX-20E: You must specify either [$WHITE_FG-siteid|-sid|-gid$RED_FG] when using the [$WHITE_FG-select$RED_FG] option $DEF"; return 1
		fi
	elif [ `echo "$ARGS" | egrep -ce "-tapeout|-migrate"` -eq "1" ]
	then
		tip=1; list=" -avamigrate -exchmigrate -vmmigrate -vdp -sqlmigrate -atmos -avflags -Metadata -archive -paxarchcomp -tararchive -tararchcomp -delete -full -nwksave -tapeout -migrate -tpolicy -upre -upst -siteid -sid -gid -sdate -server -s -stageonly -inc -incdel -data -aer -expire -xdata -path -d -D -retry -rerun -m -mail -tdelay -sdelay -tapeonly -t -linuxfastinc -lotus -ndmp -oracle -chkpt -shptvss -avtar -mccli -nwbrowse -purge -PURGE -noprvpath -noincpath -clouddatapurge -cloudtierrecal -exchvssavtar -avexvss -hypervssavtar -labelx "
		if [ `echo "$ARGS" | egrep -ce "-siteid|-sid|-gid"` -eq "0" ]
		then
	       		echo "\n$ERRORX-20F: You must specify either [$WHITE_FG-siteid|-sid|-gid$RED_FG] when using the [$WHITE_FG-tapeout | -migrate$RED_FG] option $DEF"; return 1
		fi
	elif [ `echo "$ARGS" | egrep -ce "-clientx"` -eq "1" ]
	then
		jrip=1; list=" -clientx "
	elif [ `echo "$ARGS" | grep -ce "-cfg"` -eq "1" ]
	then
		cip=1; list=" -cfg -d -D "
	elif [ `echo "$ARGS" | grep -ce "-batch"` -eq "1" -o `echo "$ARGS" | grep -ce "-BATCH"` -eq "1" ]
	then
		bip=1; list=" -batch -BATCH -d -D "
	elif [ `echo "$ARGS" | grep -ce "-env"` -eq "1" ]
	then
		eip=1; list=" -env -d update parse -m "
	elif [ `echo "$ARGS" | egrep -ce "-locate"` -eq "1" ]; then list=" -locate -d -D "
	elif [ `echo "$ARGS" | egrep -ce "-bmail"` -eq "1" ]
	then
		bmip=1; list=" -bmail "
	elif [ `echo "$ARGS" | egrep -ce "-l|-log"` -eq "1" ]; then list=" -l -log -d "
	elif [ `echo "$ARGS" | egrep -ce "-version"` -eq "1" ];then list=" -version "
	elif [ `echo "$ARGS" | egrep -ce "-v"` -eq "1" ]
	then
		vip=1; list=" -view -v -d -D -clouddatapurge "
	elif [ `echo "$ARGS" | egrep -ce "-jobreport"` -eq "1" ]
	then
		jrip=1; list=" -jobreport "
	elif [ `echo "$ARGS" | egrep -ce "-recover|-r"` -eq "1" ]
	then
		rip=1; list=" -recover -D -d "
	elif [ `echo "$ARGS" | egrep -ce "-health"` -eq "1" ];then list=" -health -d -D "
	elif [ `echo "$ARGS" | egrep -ce "-h"` -eq "1" ];then list=" -h -H -d "
	elif [ `echo "$ARGS" | egrep -ce "-H"` -eq "1" ];then list=" -h -H -d "
	elif [ `echo "$ARGS" | egrep -ce "-backup"` -eq "1" ];then list=" -backup -d -D "
	elif [ `echo "$ARGS" | egrep -ce "-grab"` -eq "1" ]; then list=" -grab"
	elif [ `echo "$ARGS" | egrep -ce "-securityrefresh"` -eq "1" ]; then list=" -securityrefresh "
	elif [ `echo "$ARGS" | egrep -ce "-credentialrefresh"` -eq "1" ]; then list=" -credentialrefresh "
	elif [ `echo "$ARGS" | egrep -ce "-upgrade"` -eq "1" ];then list=" -upgrade -d -D "
	elif [ `echo "$ARGS" | egrep -ce "-gui"` -eq "1" ];then list=" -gui "
	elif [ `echo "$ARGS" | egrep -ce "-sched"` -eq "1" ];then list=" -sched "
	elif [ `echo "$ARGS" | egrep -ce "-nwkcfg"` -eq "1" ];then list=" -nwkcfg "
	elif [ `echo "$ARGS" | egrep -ce "-autocfg"` -eq "1" ];then list=" -autocfg "
	elif [ `echo "$ARGS" | egrep -ce "-mailhome"` -eq "1" ];then list=" -mailhome "
	elif [ `echo "$ARGS" | egrep -ce "-audit"` -eq "1" ];then list=" -audit "
	else
		log_rtn
		menu_rtn
		exit 1
	fi
	sip_not_list=" siteid sid gid nday sdate rmonth rday edate last last_F first first_F week client buid d D m mail butype but mail lotus sql sybase ndmp oracle shptvss shpt ntwk networker vmimage exch exchmsg exchdb exchvss buid batch gname rtype networker nwinc nwdata nwxdata vss rmonthx clouddatapurge cloudtier"
	tip_not_list=" vdp avamigrate vmmigrate sqlmigrate avflags atmos archive metadata Metadata siteid sid gid delete nwksave sdate upre upst tpolicy d D m mail migrate tapeout server tapeonly inc stageonly s data xdata aer expire path retry rerun tdelay sdelay t lotus ndmp oracle shptvss shpt avtar mccli vmimage batch nwssid PURGE purge noprvpath noincpath clouddatapurge cloudtierrecall exchvssavtar avexvss labelx"
	cip_not_list=" cfg -parse -update -add -manager -hide -refresh "
	bip_not_list=" batch "
	eip_not_list=" env -parse -update -summary "
	rip_not_list=" recover -rerun -retry "
	sec_not_list=" securityrefresh credentialrefresh "
	vip_not_list=" view v clouddatapurge "
	jrip_not_list=" jobreport "
	jcip_not_list=" jobcreate "
	jcip_not_list=" jobpolicy "
	jcip_not_list=" jobcancel "
	jcip_not_list=" jobschedule "
	acip_not_list=" clientx "
	aget=" auditget "
	bmip_not_LIST=" bmail "
	guiip_not_LIST=" gui "

	exclusive_list=" -avtar+-mccli -archive -data+-xdata -last+-last_F+-first+first_F -l+-log -health+-grab -v+-view -edate+-rmonth+-rmonthx -sybase+-hypervvss+-sap+-sql+-exchdb+-exchmsg+-exchvss+-lotus+-linuxfastinc+-ndmp+-oracle+-vmimage+-shptvss+-vss -retry+-rerun -sdate+-rmonth -siteid+-gid+-sid -t+-s+-tapeonly+-stageonly -inc+-incdel sun+mon+tue+wed+thu+fri+sat -butype+-but -s+-stageonly+-upre -vmmigrate+-sqlmigrate+-exchmigrate+-avamigrate -nwkdata+-nwkxdata -tapeout+-migrate -exchvssavtar+-avexvss "
	pos=0
        for x in $(echo $exclusive_list)
        do
        	cnt=0; pos=`expr $pos + 1`
                dx=0; xd=0
                xitems=`echo "$x" | sed -n "s/+/ /"gp`
                for i in `echo $ARGS`
                do
                	for y in $(echo $xitems)
                        do
                        	if [ "$i" = "-data" ];then dx=`expr $dx + 1`; fi
                               	if [ "$i" = "-xdata" ];then xd=`expr $xd + 1`; fi
                               	if [ "$dx" -ge "1" -a "$xd" -ge "1" -a "$pos" -eq "1" ]
                               	then
					xitems="-data -xdata"	
                               		cnt=99; break
                               	fi
                               	if [ "$i" = "-data" ];then continue; fi
                               	if [ "$i" = "-xdata" ];then continue; fi

                               	if [ "$i" = "$y" ]
                               	then
                       			cnt=`expr $cnt + 1`
                                       	if [ "$cnt" -gt "1" ];then break; fi
                               	fi
                        done
                	if [ "$cnt" -gt "1" ];then break; fi
                done
                if [ "$cnt" -gt "1" ]
                then
               		echo "\n$ERRORX-20B: Input parameters [$WHITE_FG$xitems$RED_FG] are mutually exclusive, for help use -h $DEF"
                       	err=1; return 1
                fi
        done

	gidx=0
	for x in $(echo $ARGS)
	do
		if [ "$sip" -eq "1" ]; then list1="$sip_not_list"
		elif  [ "$tip" -eq "1" ]; then list1="$tip_not_list"
		elif  [ "$cip" -eq "1" ]; then list1="$cip_not_list"
		elif  [ "$bmip" -eq "1" ]; then list1="$bip_not_list"
		elif  [ "$guiip" -eq "1" ]; then list1="$guiip_not_list"
		elif  [ "$rip" -eq "1" ]; then list1="$rip_not_list"; else break; fi

		if [ `echo "$x" | grep -ce "^-"` -eq "1" ]; then continue; fi
		ipe=0
		for y in `echo "$list1"`
		do
			if [ "$x" = "$y" ]
			then
				ipe=1
			fi
		done
		if [ "$ipe" -eq "1" ]
		then
			echo "\n$ERRORX-20C: Input parameter of [$WHITE_FG$x$RED_FG] is reserved try [$WHITE_FG-$x or $x$RED_FG] if appropriate, for help use -h $DEF"
			return 1
		fi
	done

	ipe=0
	for x in $(echo $ARGS)
	do
		if [ "$ipe" -eq "1" ]
		then
			echo "\n$ERRORX-20D: Input parameter [$WHITE_FG$save$RED_FG] is invalid, for help use -h $DEF"
			return 1
		fi
		if [ `echo "$x" | grep -ce "^-"` -eq "0" ]; then continue; fi
		ipe=1
		for y in `echo "$list"`
		do
			if [ "$x" = "$y" ]
			then
				ipe=0;  break
			fi
		done
		save=$x
	done
	if [ "$ipe" -eq "1" ]
	then
	       echo "\n$ERRORX-20E: Input parameter [$WHITE_FG$save$RED_FG] is invalid, for help use -h $DEF"; return 1
	fi
}

commvault_rtn()
{
	if [ "$BACKUPPRODUCT" = "commvault" ]
	then 
		echo "\n$GREEN_FG NOTE: Commvault authentication credentials must be entered as:$WHITE_FG -u userxyz -p passwdxyz$DEF\n"
		while true
		do
			if [ -s $BULOCATION/customize/commvault.pwd ]
			then
				credx="$(head -1 $BULOCATION/customize/commvault.pwd)"
			else
				echo "-u userid -p password" > $BULOCATION/customize/commvault.pwd
				credx="-u userid -p password"		
			fi
			echo "$CYAN_FG Current Commvault authentication credentials are: [$WHITE_FG$credx$CYAN_FG] Enter: U=Update Q=Quit$WHITE_FG Def=Quit $DEF> \c"; read input
			if [ "$input" = "Q" -o "$input" = "q" -o "$input" = "" ];then break; fi
			$MYEDITOR $BULOCATION/customize/commvault.pwd
			clear
			continue
		done
	fi
}

menu_cmd_build_rtn()
{
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled menu_cmd_build_rtn()"; set -x
	fi

	if [ "$2" -eq "1" -o "$2" -eq "0" ];then envnum=""; else envnum="$2"; fi
	TMP_PATH="$BASE_TMP_PATH$envnum"
	Cfg="$envnum"
	avail_grps=""; avail_grps_="$(grep -v "^#" $CFG | awk -F, '{print $1}' | sort -u | grep . | sed -n "1,999"p | grep -n "^" | sed -n "s/:/)/"p)"
	gcnt=0
	for list in $(echo "$avail_grps_")
	do
		if [ "$gcnt" -lt "1" ]
        	then
              		gcnt=$(expr $gcnt + 1)
			gline="$(echo "$list                                              " | cut -b1-25)"
        	else
              		gcnt=0; gline="$list\n"
        	fi
		avail_grps="$avail_grps $gline"
	done
	avail_grpsx="$(echo "$avail_grps" | sed -n "s/)/)  /"gp)"

	grpx=""; grpx_d=""; clientx=""; clientx_d=""; plugx=""; plugx_d=""; dayx=""; dayxnum="" sdatex=""; edatex=""; filterx=""; weekx=""; filterx_d=""; ndayx=""; rdayx=""; rdatex=""; rtypex=""; gnamex=""
	tapeout_cmd=""; select_cmd=""; optionx=""; nwk=0; Debug="1"; DEBUG=""
	if [ "$1" = "select" ]
	then
		grpx=""; clientx="0"; clientx_d="0"; dayxnum=0; sdatex_d=""; edatex_d=""; butypex=""; butype_d=""; ndayx_d=""; rdayx_d=""; rdatex_d=""; rtypex_d=""; gnamex_d=""; nwinc_=""; datax_=""; xdatax_=""
		datax=""; xdatax=""
		plugins="exch exchdb exchmsg exchvss lotus ndmp oracle shptvss shpt sql sybase hyperv vmimage vss FS"; plugx="FS"

		Avtar_Version="$($HOMEPATH/avtar --version | grep "  version: " | awk '{print $2}' | cut -b 1-3 | sed -n "s/\./ /"p)"
if [ "$(echo "$Avtar_Version" | awk '{print $1}')" -ge "6" -a "$(echo "$Avtar_Version" | awk '{print $2}')" -ge "1" -o "$(echo "$Avtar_Version" | awk '{print $1}')" -ge "7" ];then vss_ok=1; else vss_ok=0; fi
		if [ "$vss_ok" -eq "1" ]
		then
			plugins_display=" 1)$RED_FG Legacy Exch-DB (deprecated)$GREEN_FG\n 2) Exch-VSS $GREEN_FG\n 3)$RED_FG LinuxFastInc (deprecated)$GREEN_FG\n 4) Lotus\n 5) NDMP \n 6) Oracle \n 7) SharePoint-VSS \n 8) SAP\n 9) SQL\n 10) Vmimage\n 11) Hyper-V VSS\n 12)$RED_FG Sybase (deprecated)$GREEN_FG\n 13) System-State VSS (must use -archive pax) \n 14) CheckPoint \n 15)$WHITE_FG Default=File System"; plugx="FS"
		else
			plugins_display=" 1) Legacy Exch-DB $YELLOW_FG\n 2) Exch-VSS              (Select & View only)$GREEN_FG\n 3) Lotus\n 4) NDMP \n 5) Oracle $YELLOW_FG\n 6) SharePoint-VSS        (Select & View only)$GREEN_FG\n 7) SAP\n 8) SQL\n 9) Vmimage\n 10) HyperV $YELLOW_FG\n 11) Sybase\n 12) System-State VSS     (Select & View only)$GREEN_FG\n 12)$WHITE_FG Default=File System"; plugx="FS"
		fi

		butypes="$GREEN_FG 1) mod$DEF   Backups made on demand\n$GREEN_FG 2) cod$DEF   Backups initiated on the client\n$GREEN_FG 3) nah$DEF   Naked ad-hoc backups"
		filters="last last_F first first_F week nday rday rdate sdate edate rtype gname data xdata nwinc"; filterx="" 
		echo "\nThe next series of prompts requests user input needed to perform the ADMe backup selection process."
		echo "If a default value provided is acceptable, press enter to accept and continue."
		while true
		do
			clientx="0"
			echo "\n$GREEN_FG$avail_grpsx"
			grpx="$grpx_d"
			echo "$CYAN_FG\nEnter a client group by number. Def=[$WHITE_FG$grpx$CYAN_FG] or Q=Quit: >$DEF \c"; read grpx; ok=0

			if [ "$grpx" = "q" -o "$grpx" = "Q" ]; then return; fi
			if [ "$grpx" = "" ]
			then
				grpx="$grpx_d"
			elif [ "$(expr $grpx \% 2)" -eq "0" ]
			then
				grpx="$(echo "$avail_grpsx" | grep " $grpx)" | head -1 | awk '{print $4}')"
				grpx_d="$grpx"
			else
				grpx="$(echo "$avail_grpsx" | grep " $grpx)" | head -1 | awk '{print $2}')"
				grpx_d="$grpx"
			fi

			for x in `echo "$avail_grpsx"`
			do
				if [ "$grpx" = "$x" ];then ok=1; fi
				nwk=`grep "^$grpx," $CFG | head -1 | awk -F, '{print $4}' | grep -c "NetWorker"`
			done
			if [ "$ok" -eq "0" -o `echo "$grpx" | awk '{print NF}'` -gt "1" ]
			then 
				echo "$RED_FG\nGroup name or quantity invalid [$WHITE_FG$grpx$RED_FG]$DEF\c"; echo ":  <Press Enter to Continue> \c"; read
				grpx=""; continue
			fi

                        avail_clients=""; avail_clients_="$(grep -v "^#" $CFG | grep "^$grpx," | awk -F, '{print $5}' | sort -u | sed -n "1,999"p | grep -n "^" | sed -n "s/:/)/"p)"
                        ccnt=0
                        for list in $(echo "$avail_clients_")
                        do
                                if [ "$ccnt" -lt "1" ]
                                then
                                        ccnt=$(expr $ccnt + 1)
					cline="$(echo "$list                                                              " | cut -b1-70)"
                                else
                                        ccnt=0; cline="$list\n"
                                fi
                                avail_clients="$avail_clients $cline"
                        done
                        avail_clientsx="$(echo "$avail_clients" | sed -n "s/)/)  /"gp)"

                        echo "\n$GREEN_FG$avail_clientsx"; clientx="$clientx_d"
			echo "$CYAN_FG\nTo limit selection to a single client within group [$WHITE_FG$grpx$CYAN_FG], enter a client number 0=No Def=[$WHITE_FG$clientx$CYAN_FG] or R=Retry Q=Quit: > $DEF\c"; read clientx
			if [ "$clientx" = "q" -o "$clientx" = "Q" ]; then return; fi
			if [ "$clientx" = "r" -o "$clientx" = "R" ]
			then
				clientx="0";continue
			fi
			if [ "$clientx" = "" ]
			then
				clientx="$clientx_d"
			elif [ "$clientx" = "0" ]
			then
				set -
			elif [ "$(expr $clientx \% 2)" -eq "0" ]
			then
				clientx="$(echo "$avail_clientsx" | grep " $clientx)" | head -1 | awk '{print $4}')"
				clientx_d="$clientx"
			else
				clientx="$(echo "$avail_clientsx" | grep " $clientx)" | head -1 | awk '{print $2}')"
				clientx_d="$clientx"
			fi
			if [ "$clientx" != "0" ] 
			then
				if [ `grep "^$grpx," $CFG | grep -c ",$clientx,"` -eq "0" ] 
				then 
					echo "$RED_FG\nClient name not found [$WHITE_FG$grpx$RED_FG][$WHITE_FG$clientx$RED_FG]$DEF\c"; echo ":  <Press Enter to Continue> \c"; read
					clientx="0"; continue
				fi
			fi
			clientx_d="$clientx"

			if [ "$nwk" -eq "0" ]
			then
				filters="last last_F first first_F week nday rday rmonth rmonthx sdate edate rtype gname buid"; filterx="" 
				echo "\n$GREEN_FG$plugins_display"; plugx_d="$plugx"
				echo "$CYAN_FG\nSelect a plug-in type by number. Def=[$WHITE_FG$plugx$CYAN_FG] or R=Retry Q=Quit: > $DEF\c"; read plugx; ok=0
				if [ "$plugx" = "q" -o "$plugx" = "Q" ]; then return; fi
				if [ "$plugx" = "r" -o "$plugx" = "R" ]
				then
					plugx="FS"; continue
				fi
				if [ "$plugx" = "" ]; then plugx="$plugx_d"; fi
				if [ "$plugx" = "" ]
				then
					plugx="$plugx_d"
				elif [ "$plugx" = "1" ];then plugx="exchdb"
				elif [ "$plugx" = "2" ];then plugx="exchvss"
				elif [ "$plugx" = "3" ];then plugx="linuxfastinc"
				elif [ "$plugx" = "4" ];then plugx="lotus"
				elif [ "$plugx" = "5" ];then plugx="ndmp"
				elif [ "$plugx" = "6" ];then plugx="oracle"
				elif [ "$plugx" = "7" ];then plugx="shptvss"
				elif [ "$plugx" = "8" ];then plugx="sap"
				elif [ "$plugx" = "9" ];then plugx="sql"
				elif [ "$plugx" = "10" ];then plugx="vmimage"
				elif [ "$plugx" = "11" ];then plugx="hypervvss"
				elif [ "$plugx" = "12" ];then plugx="sybase"
				elif [ "$plugx" = "13" ];then plugx="vss"
				elif [ "$plugx" = "14" ];then plugx="chkpt"
				elif [ "$plugx" = "15" ];then plugx="FS"
				elif [ $(echo "$plugx" |egrep -c "exchdb|exchvss|linuxfastinc|lotus|ndmp|oracle|shptvss|sap|sql|sybase|hypervvss|vmimage|vss|chkpt|FS") -ne 1 -a "$plugx" != "" ]
				then 
					echo "$RED_FG\nPlug-IN selection is invalid, must be between 1-12 [$WHITE_FG$plugx$RED_FG]$DEF\c"; echo ":  <Press Enter to Continue> \c"; read
					plugx="FS"; continue
				fi

				echo "\n$GREEN_FG$butypes"; butype_d="$butypex"
				echo "$CYAN_FG\nTo include non-scheduled backups enter a backup-type by number from list provided. Def=[$WHITE_FG$butypex$CYAN_FG] or R=Retry Q=Quit: > $DEF\c"; read butypex; ok=0

				if [ "$butypex" = "q" -o "$butypex" = "Q" ]; then return; fi
				if [ "$butypex" = "r" -o "$butypex" = "R" ]
				then
					butypex=""; continue
				fi
				if [ "$butypex" = "" ]
				then
					butypex="$butype_d"
				elif [ "$butypex" = "1" ];then butypex="mod"
				elif [ "$butypex" = "2" ];then butypex="cod"
				elif [ "$butypex" = "3" ];then butypex="nah"
				else
					echo "$RED_FG\nBackup type selection is invalid, must be between 1-3 [$WHITE_FG$butypex$RED_FG]$DEF\c"; echo ":  <Press Enter to Continue> \c"; read
					butypex=""; continue
				fi
				if [ "$butypex" = "" ]; then butypex_=""; else butypex_="-but $butypex"; fi
				ok=0
			fi

			echo "\n$GREEN_FG 1)  [first]$DEF    Select first backup per client within the defined date range" > $TMP_PATH/filerts.tmp
			echo "$GREEN_FG 2)  [first_F]$DEF  Select first backup per client when multiples exist for a given day" >> $TMP_PATH/filerts.tmp
			echo "$GREEN_FG 3)  [last]$DEF     Select last backup per client within the defined date range" >> $TMP_PATH/filerts.tmp
			echo "$GREEN_FG 4)  [last_F]$DEF   Select last backup per client when multiples exist for a given day" >> $TMP_PATH/filerts.tmp
			echo "$GREEN_FG 5)  [week]$DEF     Select based on day of the week" >> $TMP_PATH/filerts.tmp
			echo "$GREEN_FG 6)  [nday]$DEF     Search based on a fixed number of days or extend auto start date" >> $TMP_PATH/filerts.tmp
			echo "$GREEN_FG 7)  [rday]$DEF     Select from a specific day(s) of the month" >> $TMP_PATH/filerts.tmp
			echo "$GREEN_FG 8)  [rmonth]$DEF   Select a relative starting date backwards in time by month up to the 1st of your current month" >> $TMP_PATH/filerts.tmp
			echo "$GREEN_FG 9)  [rmonthx]$DEF  Select a relative starting date backwards in time by month up to end of that month only" >> $TMP_PATH/filerts.tmp
			echo "$GREEN_FG 10) [sdate]$DEF    Override automated search start date" >> $TMP_PATH/filerts.tmp
			echo "$GREEN_FG 11) [edate]$DEF    Override automated search end date" >> $TMP_PATH/filerts.tmp

			if [ "$nwk" -eq "0" ]
			then
				echo "$GREEN_FG 12) [rtype]$DEF    Limit selection to a specific Avamar retention tag" >> $TMP_PATH/filerts.tmp
				echo "$GREEN_FG 13) [gname]$DEF    Limit selection to a unique Avamar policy group/label string value" >> $TMP_PATH/filerts.tmp
				echo "$GREEN_FG 14) [buid]$DEF    Limit selection to a series of backup label numbers" >> $TMP_PATH/filerts.tmp
				exclusive_list=" sdate+rmonth last+last_F+first+first_F sql+shptvss+oracle+lotus+ndmp tdelay+s+stageonly sdelay+t+tapeonly "
			else
				echo "$GREEN_FG 12) [data]$DEF     Include specific Networker backups by save-set names" >> $TMP_PATH/filerts.tmp
				echo "$GREEN_FG 13) [xdata]$DEF    Exclude specific Networker backups by save-set names" >> $TMP_PATH/filerts.tmp
				echo "$GREEN_FG 14) [nwinc]$DEF    Include Networker incremental backups" >> $TMP_PATH/filerts.tmp
				exclusive_list=" rmonth+sdate last+last_F+first+first_F data+xdata delay+s+stageonly sdelay+t+tapeonly " >> $TMP_PATH/filerts.tmp
				filters="last last_F first first_F week nday rday rmonth rmonthx sdate edate rtype data xdata nwinc buid "; filterx="" 
			fi

			cat $TMP_PATH/filerts.tmp; rm $TMP_PATH/filerts.tmp >/dev/null 2>&1
			while true
			do
				echo "$CYAN_FG\nApply reduction filters, enter by name/number or combination of both space separated. Def=[$WHITE_FG$filterx$CYAN_FG] or Q=Quit: > $DEF\c"; read filterx
				if [ "$filterx" = "q" -o "$filterx" = "Q" ];then return; fi
    				if [ "$filterx" = "" ];then filterx="$filterx_d"; fi
				filterx_=""

				for fx in $(echo "$filterx")
				do
					if [ "$fx" = "1" -o "$fx" = "first" ];then filterx_="$filterx_ first"
					elif [ "$fx" = "2" -o "$fx" = "first_F" ];then filterx_="$filterx_ first_F"
					elif [ "$fx" = "3" -o "$fx" = "last" ];then filterx_="$filterx_ last"
					elif [ "$fx" = "4" -o "$fx" = "last_F" ];then filterx_="$filterx_ last_F"
					elif [ "$fx" = "5" -o "$fx" = "week" ];then filterx_="$filterx_ week"
					elif [ "$fx" = "6" -o "$fx" = "nday" ];then filterx_="$filterx_ nday"
					elif [ "$fx" = "7" -o "$fx" = "rday" ];then filterx_="$filterx_ rday"
					elif [ "$fx" = "8" -o "$fx" = "rmonth" ];then filterx_="$filterx_ rmonth"
					elif [ "$fx" = "9" -o "$fx" = "rmonthx" ];then filterx_="$filterx_ rmonthx"
					elif [ "$fx" = "10" -o "$fx" = "sdate" ];then filterx_="$filterx_ sdate"
					elif [ "$fx" = "11" -o "$fx" = "edate" ];then filterx_="$filterx_ edate"; fi
					if [ "$nwk" -eq "0" ]
                        		then
						if [ "$fx" = "12" -o "$fx" = "rtype" ];then filterx_="$filterx_ rtype"
						elif [ "$fx" = "13" -o "$fx" = "gname" ];then filterx_="$filterx_ gname"
						elif [ "$fx" = "14" -o "$fx" = "buid" ];then filterx_="$filterx_ buid"; fi
					else
						if [ "$fx" = "12" -o "$fx" = "data" ];then filterx_="$filterx_ data"
						elif [ "$fx" = "13" -o "$fx" = "xdata" ];then filterx_="$filterx_ xdata"
						elif [ "$fx" = "14" -o "$fx" = "buid" ];then filterx_="$filterx_ buid"
						elif [ "$fx" = "15" -o "$fx" = "nwinc" ];then filterx_="$filterx_ nwinc"; fi
					fi
				done
				filterx="$filterx_"
				err=0
				for x in `echo $exclusive_list`
		        	do
               				cnt=0
              				xitems=`echo "$x" | sed -n "s/+/ /"gp`
                			for i in `echo $filterx`
                			do
                        			for y in `echo $xitems`
                        			do
                                			if [ "$i" = "$y" ]
                                			then
                                       		 		if [ "$i" = "data" ]
								then
									if [ `echo "$filterx" | grep -c "xdata"` -gt "0" ];then cnt=`expr $cnt + 2`; fi
								elif [ "$i" = "xdata" ]
								then
									if [ `echo "$filterx" | grep -c " data"` -gt "0" ];then cnt=`expr $cnt + 2`; fi
								else
									cnt=`expr $cnt + 1`
								fi
                                       		 		break
                                			fi
                        			done
                			done
                			if [ "$cnt" -gt "1" ]
                			then
                        			echo "\n$ERRORX-20S: Input parameters [$WHITE_FG$xitems$RED_FG] are mutually exclusive, for help use -h $DEF"
						err=1; filterx=""; continue
                			fi
        			done
				if [ "$err" -eq "1" ];then continue; else break; fi
			done

			for x in `echo "$filterx"`
			do
				for f in `echo "$filters"`
				do
					if [ "$x" = "$f" ]
					then
						if [ "$x" = "sdate" ]
						then
							sdatex_d="$sdatex"
							echo "$CYAN_FG\nEnter the Start date to begin search YYYY-MM-DD. Def=[$WHITE_FG$sdatex$CYAN_FG] or Q=Quit: > $DEF\c"; read sdatex_
							if [ "$sdatex_" = "q" -o "$sdatex_" = "Q" ]; then return; fi
				                        if [ "$sdatex_" = "" ]; then sdatex="$sdatex_d"; else sdatex="-sdate $sdatex_"; fi
							err=0
						fi

						if [ "$x" = "edate" ]
						then
							sdatex_d="$edatex"
							echo "$CYAN_FG\nEnter the End date to limit search YYYY-MM-DD. Def=[$WHITE_FG$edatex$CYAN_FG] or Q=Quit: > $DEF\c"; read edatex_
							if [ "$edatex_" = "q" -o "$edatex_" = "Q" ]; then return; fi
				                        if [ "$edatex_" = "" ]; then edatex="$edatex_d"; else edatex="-edate $edatex_"; fi
							err=0
						fi

						if [ "$x" = "nday" ]
						then
							if [ "$ndayx" -eq "" ];then ndayx=1; fi
							ndayx_d="$ndayx"
							echo "$CYAN_FG\nEnter a specific number of days to search or precede with + to extend auto date range. IE: 1-30 Def=[$WHITE_FG$ndayx$CYAN_FG] or Q=Quit: > $DEF\c"; read ndayx_
							if [ "$ndayx_" = "q" -o "$ndayx_" = "Q" ]; then return; fi
				                        if [ "$ndayx_" = "" ]; then ndayx="-nday $ndayx_d"; else ndayx="-nday $ndayx_"; fi
							err=0
						fi

						if [ "$x" = "rday" ]
						then
							if [ "$rdayx" -eq "" ];then rdayx=1; fi
							rdayx_d="$rdayx"
							echo "$CYAN_FG\nEnter a specific day of the month. IE: 1-31 Def=[$WHITE_FG$rdayx$CYAN_FG] or Q=Quit: > $DEF\c"; read rdayx_
							if [ "$rdayx_" = "q" -o "$rdayx_" = "Q" ]; then return; fi
				                        if [ "$rdayx_" = "" ]; then rdayx="-rday $rdayx_d"; else rdayx="-rday $rdayx_"; fi
							err=0
							if [ "$(echo "$rdayx" | awk '{print $2}')" -lt "1" -o "$(echo "$rdayx" | awk '{print $2}')" -gt "31" -a "$rdayx_" -ne "" ]
							then 
								echo "$RED_FG\nRelative day value is invalid, must be between 1-31 [$WHITE_FG$rdayx$RED_FG]$DEF\c"; echo ":  <Press Enter to Continue> \c"; read
								err=1; rdayx=""; continue
							fi
						fi

						if [ "$x" = "rmonth" ]
						then
							if [ "$rdatex" -eq "" ];then rdatex=1; fi
							rdatex_d="$rdatex"
							echo "$CYAN_FG\nEnter a relative month count backwards in time from current date. IE: 1-12 Def=[$WHITE_FG$rdatex$CYAN_FG] or Q=Quit: > $DEF\c"; read rdatex_
							if [ "$rdatex_" = "q" -o "$rdatex_" = "Q" ]; then return; fi
				                        if [ "$rdatex_" = "" ]; then rdatex="-rmonth $rdatex_d"; else rdatex="-rmonth $rdatex_"; fi
							err=0
							if [ "$(echo "$rdatex"|awk '{print $2}')" -lt "1" -o "$(echo "$rdatex"|awk '{print $2}')" -gt "12" -a "$rdatex_" -ne "" ]
							then 
								echo "$RED_FG\nRelative month count is invalid, must be between 1-12 [$WHITE_FG$rdatex$RED_FG]$DEF\c"; echo ":  <Press Enter to Continue> \c"; read
								err=1; rdatex=""; continue
							fi
						fi

						if [ "$x" = "rmonthx" ]
						then
							if [ "$rdatex" -eq "" ];then rdatex=1; fi
							rdatex_d="$rdatex"
							echo "$CYAN_FG\nEnter a relative month count backwards in time from current date. IE: 1-12 Def=[$WHITE_FG$rdatex$CYAN_FG] or Q=Quit: > $DEF\c"; read rdatex_
							if [ "$rdatex_" = "q" -o "$rdatex_" = "Q" ]; then return; fi
				                        if [ "$rdatex_" = "" ]; then rdatex="-rmonthx $rdatex_d"; else rdatex="-rmonthx $rdatex_"; fi
							err=0
							if [ "$(echo "$rdatex"|awk '{print $2}')" -lt "1" -o "$(echo "$rdatex"|awk '{print $2}')" -gt "12" -a "$rdatex_" -ne "" ]
							then 
								echo "$RED_FG\nRelative month count is invalid, must be between 1-12 [$WHITE_FG$rdatex$RED_FG]$DEF\c"; echo ":  <Press Enter to Continue> \c"; read
								err=1; rdatex=""; continue
							fi
						fi

						if [ "$x" = "rdate" ]
						then
							if [ "$rdatex" -eq "" ];then rdatex=1; fi
							rdatex_d="$rdatex"
							echo "$CYAN_FG\nEnter a relative month count backwards in time from current date. IE: 1-12 Def=[$WHITE_FG$rdatex$CYAN_FG] or Q=Quit: > $DEF\c"; read rdatex_
							if [ "$rdatex_" = "q" -o "$rdatex_" = "Q" ]; then return; fi
				                        if [ "$rdatex_" = "" ]; then rdatex="-rdate $rdatex_d"; else rdatex="-rdate $rdatex_"; fi
							err=0
							if [ "$(echo "$rdatex"|awk '{print $2}')" -lt "1" -o "$(echo "$rdatex"|awk '{print $2}')" -gt "12" -a "$rdatex_" -ne "" ]
							then 
								echo "$RED_FG\nRelative month count is invalid, must be between 1-12 [$WHITE_FG$rdatex$RED_FG]$DEF\c"; echo ":  <Press Enter to Continue> \c"; read
								err=1; rdatex=""; continue
							fi
						fi

						if [ "$x" = "gname" ]
						then
							gname_d="$gnamex"
							echo "$CYAN_FG\nEnter a policy group name to limit selection to. Def=[$WHITE_FG$gnamex$CYAN_FG] or Q=Quit: > $DEF\c"; read gnamex_
							if [ "$gnamex_" = "q" -o "$gnamex_" = "Q" ]; then return; fi
				                        if [ "$gnamex_" = "" ]; then gnamex="$gnamex_d"; else gnamex="-gname $gnamex_"; fi
							err=0
						fi


						if [ "$x" = "rtype" ]
                                                then
							if [ "$rtypex" -eq "" ];then rtypex="monthly"; fi
                                                        rtypex_d="$rtypex"
                                                        echo "$CYAN_FG\nLimit selection by retention tag where D=Daily W=Weekly M=Mmonthly N=None Y=Yearly or Def=[$WHITE_FG$rtypex$CYAN_FG] or Q=Quit: > $DEF\c"; read rtypex_
							if [ "$rtypex_" = "D" -o "$rtypex_" = "d" ];then rtypex="daily"
							elif [ "$rtypex_" = "W" -o "$rtypex_" = "w" ];then rtypex="weekly"
							elif [ "$rtypex_" = "M" -o "$rtypex_" = "m" ];then rtypex="monthly"
							elif [ "$rtypex_" = "N" -o "$rtypex_" = "n" ];then rtypex="none"
							elif [ "$rtypex_" = "Y" -o "$rtypex_" = "y" ];then rtypex="yearly"; fi
                                                        if [ "$rtypex_" = "q" -o "$rtypex_" = "Q" ]; then return; fi
                                                        if [ "$rtypex_" = "" ]; then rtypex="-rtype $rtypex_d"; else rtypex="-rtype $rtypex"; fi
                                                        err=0
							if [ `echo "$rtypex_" |egrep -c "d|D|w|W|m|M|y|Y|n|N"` -ne "1" -a "$rtypex_" != "" ]
							then 
								echo "$RED_FG\nRetention tag is invalid [$WHITE_FG$rtypex$RED_FG]$DEF\c"; echo ":  <Press Enter to Continue> \c"; read
								err=1; rtypex=""; continue
							fi
						fi	

						if [ "$x" = "data" ]
						then
							data_d="$data"
							echo "$CYAN_FG\nEnter specific folders only to be$WHITE_FG included$CYAN_FG during the Networker select operation, include leading slash and drive letter as required.\nDef=[$WHITE_FG$xdatax$CYAN_FG] or Q=Quit: > $DEF\c"; read datax_
							if [ "$datax_" = "q" -o "$datax_" = "Q" ]; then return; fi
							if [ `echo "$datax_" | cut -b1` = "/" ];then datax_=`echo "$datax_" | cut -b2-99`; fi
			                        	if [ "$datax_" = "" ]; then datax="\"$datax_d\""; else datax="$datax -data $datax_"; fi
							err=0
						fi

						if [ "$x" = "xdata" ]
						then
							xdata_d="$xdata"
							echo "$CYAN_FG\nEnter specific folders only to be$WHITE_FG excluded$CYAN_FG from the Networker select operation, include leading slash and drive letter as required.\nDef=[$WHITE_FG$xdatax$CYAN_FG] or Q=Quit: > $DEF\c"; read xdatax_
							if [ "$xdatax_" = "q" -o "$xdatax_" = "Q" ]; then return; fi
							if [ `echo "$xdatax_" | cut -b1` = "/" ];then xdatax_=`echo "$xdatax_" | cut -b2-99`; fi
			                        	if [ "$xdatax_" = "" ]; then xdatax="$xdatax_d"; else xdatax="$xdatax -xdata $xdatax_"; fi
							err=0
						fi

						if [ "$x" = "buid" ]
						then
							buid=""; buidx_=""; sabebuidx=""
							echo "$CYAN_FG\nEnter BUID#'s to include space separated. Def=[$WHITE_FG$buid$CYAN_FG] or Q=Quit: > $DEF\c"; read buidx_
							if [ "$buidx_" = "q" -o "$buidx_" = "Q" ]; then return; fi
							savebuidx="$buidx_"	
				                        if [ "$buidx_" = "" ]; then buidx="$buidx_d"; else buidx="-buid '$buidx_'"; fi
							err=0
						fi

						if [ "$x" = "nwinc" ]
						then
							nwinc_="-nwinc"
						fi
						
						if [ "$x" = "week" ]
						then
							echo "$GREEN_FG\nsun mon tue wed thu fri sat"
							dayx_="$dayx"
							echo "$CYAN_FG\nChoose the desired day of the week from list provided. Def=[$WHITE_FG$dayx$CYAN_FG] or Q=Quit: > $DEF\c"; read dayx
							if [ "$dayx" = "q" -o "$dayx" = "Q" ]; then return; fi
				                        if [ "$dayx" = "" ]; then dayx="$dayx_d"; fi
							echo "$GREEN_FG\n0 1 2 3 4 5"
							dayxnum_="$dayxnum"
							echo "$CYAN_FG\nChoose a day instance of the month from list provided where 0=All. Def=[$WHITE_FG$dayxnum$CYAN_FG] or Q=Quit: > $DEF\c"; read dayxnum
							if [ "$dayxnum" = "q" -o "$dayxnum" = "Q" ]; then return; fi
				                        if [ "$dayxnum" = "" ]; then dayxnum="$dayx_numd"; fi
							err=0
							if [ `echo "$dayx" |egrep -c "sun|mon|tue|wed|thu|fri|sat"` -ne "1" ]
							then 
								echo "$RED_FG\nDay of the week invalid [$WHITE_FG$dayx$RED_FG]$DEF\c"; echo ":  <Press Enter to Continue> \c"; read
								err=1; dayx="sun"; continue
							fi
							if [ `echo "$dayxnum" |egrep -c "1|2|3|4|5"` -ne "1" -a "$dayxnum" -ne "" ]
							then 
								echo "$RED_FG\nDay instance of the month invalid [$WHITE_FG$dayxnum$RED_FG]$DEF\c"; echo ":  <Press Enter to Continue> \c"; read
								err=1; dayxnum="0"; continue
							fi
						fi
					fi
				done
				if [ "$err" -eq "1" ];then continue; fi 
				if [ `echo "$filters" | grep -c "$x"` -eq "0" ]
				then 
					echo "$RED_FG\nA filter is invalid [$WHITE_FG$x$RED_FG]$DEF:  <Press Enter to Continue> \c"; read
					filterx=""; err=1
				else
					err=0
				fi
			done
			if [ "$err" -eq "0" ];then break; else continue; fi
		done
		if [ "$clientx" = "0" -o "$clientx" = "0" ];then clientx=""; else clientx="-client $clientx"; fi
		if [ "$plugx" = "FS" -o "$plugx" = "fs" ];then plugx=""; else plugx="-$plugx"; fi
		filterx_=""
		for x in `echo "$filterx"`
		do
			if [ "$x" = "week" ]
			then
				un="_"
				if [ "$dayxnum" -eq "0" ];then weekx_="$dayx"; else weekx_="$dayx$un$dayxnum"; fi
				weekx="-week $weekx_"
			fi
			if [ "$x" = "last" -o "$x" = "last_F" -o "$x" = "first" -o "$x" = "first_F" ];then filterx_="$filterx_ -$x"; fi
		done
		butypex="$butypex_"
		select_cmd_="$envnum -gid $grpx -$1 $clientx $filterx_ $weekx $plugx $ndayx $rdayx $rdatex $sdatex $edatex $butypex $gnamex $rtypex $nwinc_ $datax $xdatax $buidx"
		select_cmd=""
		for sx in `echo -E "$select_cmd_"`
		do
			select_cmd="$select_cmd $sx"
		done
 		if [ ! -s $TMP_PATH/.admebatch.lok ]
 		then
  			echo "Batch-Owner=ONDEMAND-SELECT PID=$$" > $TMP_PATH/.admebatch.lok
 		else
			chkpid=`awk -F= '{print $3}' $TMP_PATH/.admebatch.lok | head -1`
			result=`ps -ef | awk '{print $2,$3}' | grep -v grep | grep -c "$chkpid"`
			if [ `ps -ef | grep adme | awk '{print $2,$3}' | grep -v grep | grep -c "$chkpid"` -eq "0" ]
			then
				echo "\n$CYAN_FG Removing stale batch lock file for Env-$Env [$WHITE_FG $chkpid $CYAN_FG]$DEF" >> $LOG
 				echo "Batch-Owner=ONDEMAND-SELECT PID=$$" > $TMP_PATH/.admebatch.lok
			else
  				edate=`date +'20%y-%m-%d %H:%M'`
 				bywho=`tail -1 $TMP_PATH/.admebatch.lok | awk -F= '{print $3}'`
				if [ "$bywho" -eq "$$" ]
				then
					echo "\n$CYAN_FG Reusing lock file for Env-$envnum [$WHITE_FG `tail -1 $TMP_PATH/.admebatch.lok` $CYAN_FG]$DEF"
				else
  					echo "\n$RED_FG ADME-BATCH-FAILURE: Env#-$envnum is currently locked by [$WHITE_FG `tail -1 $TMP_PATH/.admebatch.lok` $RED_FG] Start-Time:$sdate End-Time:$edate Env#:$envnum $DEF" | tee -a $LOG
					echo "<Press Enter to Continue>"; read
					return 
				fi
			fi
		fi
		echo "\n$BLUE_BG$WHITE_FG Select-CMD$DEF:$GREEN_FG adme $select_cmd$DEF" 
		echo "\n$CYAN_FG Execute the selection process? [$WHITE_FG Def=Yes $CYAN_FG] or Q=Quit:$DEF > \c"; read go

		if [ "$(echo "$select_cmd" | grep -c "buid")" -ne "0" ]
		then
			echo "$HOMEPATH/adme $select_cmd" >/tmp/admeinitiate.sh
			chmod 770 /tmp/admeinitiate.sh
 			if [ "$go" = "" -o "$go" = "y" -o "$go" = "Y" ];then /tmp/admeinitiate.sh; fi 
			buidx=""; buidx_=""
			rm /tmp/admeinitiate.sh >/dev/null 2>&1
		else
 			if [ "$go" = "" -o "$go" = "y" -o "$go" = "Y" ];then $HOMEPATH/adme $select_cmd; fi 
		fi

		rm $TMP_PATH/.admebatch.lok >/dev/null 2>&1
		echo "\n$CYAN_FG Would you like to review the newly selected worklist for Env-$envnum?$WHITE_FG Y$CYAN_FG=Yes$WHITE_FG N$CYAN_FG=No$WHITE_FG [Def=Yes$CYAN_FG]:$DEF > \c"; read go
		if [ "$go" = "" -o "$go" = "y" -o "$go" = "Y" ];then $HOMEPATH/adme $envnum -v; fi
	elif [ "$1" = "tapeout" ]
	then
		grpx=""; sdatex_d=""; Debug="1"; DEBUG="0"
                options="avtar avflags archive Metadata delete tapeonly t server inc noincpath noprvpath nwksave stageonly s sdate xdata data nwbrowse path purge sdelay tpolicy tdelay upre upst d D vdp"; optionx=""
		err=1; debug1_d=""; debug2_d=""; delete_d=""; datax_d=""; xdatax_d="";  sdatex_d=""; inc_d=""; noincpath_d=""; noprvpath_d=""; nwksave_d=""; server_d=""; tapeonly_d=""; stageonly_d=""; vdp_d=""
		avtar_d=""; archive_d=""; archcomp_d=""; avflags_d=""; mccli_d=""; tpolicy_d=""; pathx_d=""; purge_d=""; sdelayx_d=""; tdelayx_d=""; debug1_d=""; debug2_d=""; upre_d=""; upst_d=""; nwbrowse=""; nwbrowse_d=""
		datax=""; xdatax=""; debug1=""; debug2=""; delete=""; inc=""; noincpath=""; noprvpath=""; nwksave=""; server=""; tapeonly=""; stageonly=""; sdatex=""; avtar=""; avflags=""; vdp=""
		mccli=""; tpolicy=""; pathx=""; purge=""; sdelayx=""; tdelayx=""; upre=""; upst=""; nwbrowse=""; uprex=""; upstx=""; metatdatax=""; archivex=""; archcomp=""

                echo "\nThe next series of prompts requests user input needed to perform the ADMe data migration process."
                echo "If a default value provided is acceptable, press enter to accept and continue."
		while true
		do
#			TMP_PATH=$BULOCATION/tmp/atocfg$Cfg; envnum="$Cfg"
#			if [ "$2" -eq "" ]
#			then
#				tempath="$TMP_PATH"; envnum="1"
#			else
#				tempath="$TMP_PATH"; envnum="$2"
#			fi

			grpx_d=`head -1 $TMP_PATH/.atositeid | awk '{print $1}'`
			nwk=`grep "^$grpx_d," $CFG | head -1 | awk -F, '{print $4}' | grep -c "NetWorker"`
			echo "$CYAN_FG\nUsing last selected group name for Environment-$envnum [$WHITE_FG$grpx_d$CYAN_FG] or Q=Quit: >$DEF \c"; read grpx; ok=0
			if [ "$grpx" = "q" -o "$grpx" = "Q" ]; then return; fi
			echo "$CYAN_FG\nWould you like to review selected backups in group [$WHITE_FG$grpx_d$CYAN_FG] before proceeding? Y/N Def=No or Q=Quit: >$DEF \c"; read view
			if [ "$view" = "q" -o "$view" = "Q" ]; then return
			elif [ "$view" = "y" -o "$view" = "Y" ]
			then
				echo
				$HOMEPATH/adme $envnum -v -d 2>/dev/null
			fi
			plugx_d=`grep "^ATORECOVER=" $TMP_PATH/.atositeid | awk -F= '{print $2}'`
			echo "$CYAN_FG\nAuto detected recovery method for this group will utilize [$WHITE_FG$plugx_d$CYAN_FG] or Q=Quit: > $DEF\c"; read plugx; ok=0
			if [ "$plugx" = "q" -o "$plugx" = "Q" ]; then return; fi
			if [ "$plugx_d" = "MCCLI" ];then plugx=""
			elif [ "$plugx_d" = "NETWORKER" ];then plugx=""
			elif [ "$plugx_d" = "AVEXVSS" ];then plugx=""
			elif [ "$plugx_d" = "AVTAR" ];then plugx="-avtar"; fi

 			optionx_d="$optionx"

			if [ "$nwk" -eq "0" ]
			then
				echo "\n\n$GREEN_FG[avtar | mccli]$DEF   Override auto detected recovery method forcing the use of avtar"
				echo "$GREEN_FG[archive]$DEF         Migrate a backup to a archived tar or  pax file, and optionally compress it" 
				echo "$GREEN_FG[avflags]$DEF         Apply a custom avtar flag value minus the leading hyphens to the staging process"
				echo "$GREEN_FG[D d]$DEF             D=log debug info to STDOUT d=log debug info to event log"
				echo "$GREEN_FG[data | xdata]$DEF    Specify folders to include or exclude from the staging process, repeat/folder"
				echo "$GREEN_FG[delete]$DEF          Force deletion of staged data when export backup fails or is unconfirmed"
				echo "$GREEN_FG[inc]$DEF             Enable incremental staging"
				echo "$GREEN_FG[Metadata]$DEF        Include a metadata file for the backup being migrated"
				echo "$GREEN_FG[noincpath]$DEF       Inhibit creation of the structured destination path when using the -inc option"
				echo "$GREEN_FG[noprvpath]$DEF       Inhibit creation of the original backup destination path when using -data option"
  				echo "$GREEN_FG[purge ]$DEF          Purge selected backups from Avamar only if export backup is confirmed successful"
				echo "$GREEN_FG[path]$DEF            Specify a path name to be appended to generated path for each client"
				echo "$GREEN_FG[nwksave]$DEF         With Networker tape application, force use of save command versus the default savefs"
				echo "$GREEN_FG[sdate]$DEF           Increase date range for recovery to include backups older than 1 year"
				echo "$GREEN_FG[sdelay]$DEF          Override delay between staging progress messages defined in environment file"
				echo "$GREEN_FG[server]$DEF          Initiate export backup script using the export backup server versus the staging client"
				echo "$GREEN_FG[stageonly | s]$DEF   Perform staging activity only and skip the export backup initiation"
				echo "$GREEN_FG[tapeonly | t]$DEF    Initiate export backup phase only skip all staging activity"
				echo "$GREEN_FG[tpolicy]$DEF         Override defined tape policy parameters present in FLd-12"
				echo "$GREEN_FG[tdelay]$DEF          Override delay between export backup progress messages defined in environment file"
				echo "$GREEN_FG[upre]$DEF            User defined pre-script called from auto generated tape script"
				echo "$GREEN_FG[upst]$DEF            User defined post-script called from auto generated tape script"
			elif [ "$nwk" -eq "1" ]
			then
				echo "$GREEN_FG[D d]$DEF             D=log debug info to STDOUT d=log debug info to event log"
				echo "$GREEN_FG[inc]$DEF             Enable incremental staging"
				echo "$GREEN_FG[nwbrowse]$DEF        Perform a Networker browse recovery versus default of SSID"
				echo "$GREEN_FG[path]$DEF            Specify a path name to be appended to generated path for each client"
				echo "$GREEN_FG[sdelay]$DEF          Override delay between staging progress messages defined in environment file"
				echo "$GREEN_FG[server]$DEF          Initiate export backup script from the export backup server versus the staging client"
				echo "$GREEN_FG[stageonly | s]$DEF   Perform staging activity only and skip the export backup initiation"
				echo "$GREEN_FG[tapeonly | t]$DEF    Initiate export backup phase only skip all staging activity"
				echo "$GREEN_FG[tdelay]$DEF          Override delay between export backup progress messages defined in environment file"
				echo "$GREEN_FG[upre]$DEF            User defined pre-script called from auto generated tape script"
				echo "$GREEN_FG[upst]$DEF            User defined post-script called from auto generated tape script" 
			fi

			while true
			do
				optionx_d="$optionx"
				echo "$CYAN_FG\nEnter on this line all required option names from the list provided. Based on your input additional parameters\nmay be requested. Def=[$WHITE_FG$optionx$CYAN_FG] or Q=Quit: > $DEF\c"; read optionx
				if [ "$optionx" = "q" -o "$optionx" = "Q" ]; then return; fi
				if [ "$optionx" = "" ];then optionx="$optionx_d"; fi

				exclusive_list=" avtar+mccli data+xdata t+s+tapeonly+stageonly+purge server+s+stageonly tdelay+s+stageonly sdelay+t+tapeonly s+stageonly+upre s+stageonly+upst " 
				err=0; pos=0
				for x in `echo $exclusive_list`
		        	do
					if [ "$optionx" = "" ];then break; fi
               				cnt=0; pos=`expr $pos + 1`
					dx=0; xd=0
              				xitems=`echo "$x" | sed -n "s/+/ /"gp`
                			for i in `echo $optionx`
                			do
                        			for y in `echo $xitems`
                        			do
    							if [ "$i" = "data" ];then dx=`expr $dx + 1`; fi
    							if [ "$i" = "xdata" ];then xd=`expr $xd + 1`; fi
							if [ "$dx" -ge "1" -a "$xd" -ge "1" -a "$pos" -eq "1" ]
							then
								cnt=99; break
							fi
                               				if [ "$i" = "data" ];then continue; fi
                               				if [ "$i" = "xdata" ];then continue; fi

                                			if [ "$i" = "$y" ]
                                			then
                                       		 		cnt=`expr $cnt + 1`
								if [ "$cnt" -gt "1" ];then break; fi
                                			fi
                        			done
 						if [ "$cnt" -gt "1" ];then break; fi
                			done
                			if [ "$cnt" -gt "1" ] 
                			then
                        			echo "\n$ERRORX-20T: Input parameters [$WHITE_FG$xitems$RED_FG] are mutually exclusive, for help use -h $DEF"
						err=1; optionx=""; continue
                			fi
        			done
				if [ "$err" -eq "1" ]
				then
					continue
				else
					err=0; break
				fi
			done

			for x in `echo "$optionx"`
			do
				for o in `echo "$options"`
				do
					if [ "$x" = "$o" ]
					then
						if [ "$x" = "sdate" ]
						then
							sdatex_d="$sdatex"
							echo "$CYAN_FG\nEnter a start date range to include the oldest selected backup, normal range is last 60 days YYYY-MM-DD. Def=[$WHITE_FG$sdatex$CYAN_FG] or Q=Quit: > $DEF\c"; read sdatex_
							if [ "$sdatex_" = "q" -o "$sdatex_" = "Q" ]; then return; fi
			                        	if [ "$sdatex_" = "" ]; then sdatex="$sdatex_d"; else sdatex="-sdate $sdatex_"; fi
							err=0
						elif [ "$x" = "data" ]
						then
							data_d="$data"
							echo "$CYAN_FG\nEnter specific folders only for inclusion in the staging operation, include leading slash and drive letter as required. Def=[$WHITE_FG$datax$CYAN_FG] or Q=Quit: > $DEF\c"; read datax_
							if [ "$datax_" = "q" -o "$datax_" = "Q" ]; then return; fi
							if [ `echo "$datax_" | cut -b2` = ":" ]
							then
								datax_="$datax_"
							elif [ `echo "$datax_" | cut -b1` != "/" ]
							then
								datax_="/$datax_"
							fi
			                        	if [ "$datax_" = "" ]; then datax="$datax_d"; else datax="$datax -data $datax_"; fi
							err=0
						elif [ "$x" = "xdata" ]
						then
							xdata_d="$xdata"
							echo "$CYAN_FG\nEnter specific folders only to be excluded from the staging operation, include leading slash and drive letter as required. Def=[$WHITE_FG$xdatax$CYAN_FG] or Q=Quit: > $DEF\c"; read xdatax_
							if [ "$xdatax_" = "q" -o "$xdatax_" = "Q" ]; then return; fi
							if [ `echo "$xdatax_" | cut -b1` = "/" ];then xdatax_=`echo "$xdatax_" | cut -b2-99`; fi
			                        	if [ "$xdatax_" = "" ]; then xdatax="$xdatax_d"; else xdatax="$xdatax -xdata $xdatax_"; fi
							err=0
						elif [ "$x" = "avflags" ]
						then
							avflags_d="$avflags"
							while true
							do
								echo "$CYAN_FG\nEnter a avtar flag value or option minus the two leading hyphens. Def=[$WHITE_FG$xpathx$CYAN_FG] or H=Help Q=Quit: > $DEF\c"; read avflags_ 
								if [ "$avflags_" = "q" -o "$avflags_" = "Q" ]; then return; fi
								if [ "$avflags_" = "h" -o "$avflags_" = "H" ]
								then
									avtar --help; continue
								fi
								break
							done
			                        	if [ "$avflags_" = "" ]; then avflags="$avflags_d"; else avflags="-avflags $avflags_"; fi
							err=0
						elif [ "$x" = "path" ]
						then
							path_d="$path"
							echo "$CYAN_FG\nEnter path name value to be appended to the default destination path. Def=[$WHITE_FG$xpathx$CYAN_FG] or Q=Quit: > $DEF\c"; read pathx_
							if [ "$pathx_" = "q" -o "$pathx_" = "Q" ]; then return; fi
			                        	if [ "$pathx_" = "" ]; then pathx="/$pathx_d"; else pathx="-path /$pathx_"; fi
							err=0
						elif [ "$x" = "tpolicy" ]
						then
							tpolicy_d="$tpolicy"
							echo "$CYAN_FG\nEnter the tape policy name to use. Def=[$WHITE_FG$xpathx$CYAN_FG] or Q=Quit: > $DEF\c"; read tpolicyx_
							if [ "$tpolicyx_" = "q" -o "$tpolicyx_" = "Q" ]; then return; fi
			                        	if [ "$tpolicyx_" = "" ]; then tpolicyx="$tpolicy_d"; else tpolicyx="-tpolicy $tpolicyx_"; fi
							err=0
 						elif [ "$x" = "upre" ]
 						then
 							upre_d="$upre"
 							echo "$CYAN_FG\nEnter user defined pre-script name. Def=[$WHITE_FG$upre$CYAN_FG] or Q=Quit: > $DEF\c"; read uprex_
 							if [ "$uprex_" = "q" -o "$uprex_" = "Q" ]; then return; fi
 			                        	if [ "$uprex_" = "" ]; then uprex="$upre_d"; else uprex="-upre $uprex_"; fi
 							err=0
 						elif [ "$x" = "archive" ]
 						then
 							archive_d="-archive tar"
  							echo "$CYAN_FG\nEnter archive format.$WHITE_FG tar, pax, tarcomp, paxcomp$CYAN_FG Def=[$WHITE_FG$archive_d$CYAN_FG] or Q=Quit: > $DEF\c"; read archivex_
  							if [ "$archive_" = "q" -o "$archivex_" = "Q" ]; then return; fi
  			                        	if [ "$archivex_" = "" ];then archivex="$archive_d"; else archivex="-archive $archivex_"; fi
 							err=0
 						elif [ "$x" = "Metadata" ]
 						then
 							metadata_d="-Metadata txt"
  							echo "$CYAN_FG\nEnter metadata file format.$WHITE_FG txt, xml, txtcomp, xmlcomp$CYAN_FG Def=[$WHITE_FG$metadata_d$CYAN_FG] or Q=Quit: > $DEF\c"; read metadatax_
  							if [ "$metadatax_" = "q" -o "$metadatax_" = "Q" ]; then return; fi
  			                        	if [ "$metadatax_" = "" ];then metadatax="$metadata_d"; else metadatax="-Metadata $metadatax_"; fi
 							err=0
 						elif [ "$x" = "upst" ]
 						then
 							upst_d="$upst"
  							echo "$CYAN_FG\nEnter user defined post-script name. Def=[$WHITE_FG$upst$CYAN_FG] or Q=Quit: > $DEF\c"; read upstx_
  							if [ "$upstx_" = "q" -o "$upstx_" = "Q" ]; then return; fi
  			                        	if [ "$upstx_" = "" ];then upstx="$upst_d"; else upstx="-upst $upstx_"; fi
 							err=0
						elif [ "$x" = "sdelay" ]
						then
							sdelat_d="$sdelay"
							echo "$CYAN_FG\nEnter delay value in seconds used between staging progress messages. Def=[$WHITE_FG$sdelayx$CYAN_FG] or Q=Quit: > $DEF\c"; read sdelayx_ 
							if [ "$sdelayx_" = "q" -o "$sdelayx_" = "Q" ]; then return; fi
			                        	if [ "$sdelayx_" = "" ]; then sdelayx="$sdelayx_d"; else sdelayx="-sdelay $sdelayx_"; fi
							err=0
						elif [ "$x" = "tdelay" ]
						then
							sdelat_d="$tdelay"
        						echo "$CYAN_FG\nEnter delay value in seconds used between export backup progress messages. Def=[$WHITE_FG$tdelayx$CYAN_FG] or Q=Quit: > $DEF\c"; read tdelayx_
        						if [ "$tdelayx_" = "q" -o "$tdelayx_" = "Q" ]; then return; fi
        						if [ "$tdelayx_" = "" ]; then tdelayx="$tdelayx_d"; else tdelayx="-tdelay $tdelayx_"; fi
        						err=0
						elif [ "$x" = "nwbrowse" ]
						then
							nwbrowse_d="-nwbrowse"
							err=0
						elif [ "$x" = "nwksave" ]
						then
							nwksave_d="-nwksave"
							err=0
						elif [ "$x" = "inc" ]
						then
							inc_d="-inc"
							err=0
						elif [ "$x" = "delete" ]
						then
							delete_d="-delete"
							err=0
						elif [ "$x" = "noincpath" ]
						then
							noincpath_d="-noincpath"
							err=0
						elif [ "$x" = "noprvpath" ]
						then
							noprvpath_d="-noprvpath"
							err=0
						elif [ "$x" = "purge" ]
						then
							purge_d="-purge"
							err=0
						elif [ "$x" = "server" ]
						then
							server_d="-server"
							err=0
						elif [ "$x" = "stageonly" ]
						then
							stageonly_d="-stageonly"
							err=0
						elif [ "$x" = "s" ]
						then
							stageonly_d="-stageonly"; err=0
						elif [ "$x" = "t" -o "$x" = "tapeonly" ]
						then
							tapeonly_d="-tapeonly"; err=0
						elif [ "$x" = "d" ] 
						then
							debug1_d="$debug1_d -d"; err=0; Debug=`expr $Debug + 1`
						elif [ "$x" = "D" ] 
						then
							debug2_d="$debug2_d -D"; err=0; DEBUG=`expr $DEBUG + 1`
						elif [ "$x" = "avtar" ] 
						then
							avtar_d="-avtar"; err=0; plugx="-avtar"
						elif [ "$x" = "vdp" ] 
						then
							vdp_d="-vdp"; err=0; vdp="-vdp"
						elif [ "$x" = "mccli" ] 
						then
							mccli_d="-mccli"; err=0; plugx="-mccli"
						else
							err=1
						fi
					fi
				done
			done
			
			if [ "$optionx" = "" ]
			then
				err=0; break
			elif [ `echo "$options" | grep -c "$x"` -eq "0" ]
			then 
				echo "$RED_FG\nAn option is invalid [$WHITE_FG$x$RED_FG]$DEF:  <Press Enter to Continue> \c"; read
				optionx=""; err=1; continue
			else
				err=0; break
			fi
		done
		optionx_=""
		tapeout_cmd_="$envnum -gid $grpx_d -$1 -d -D $nwksave_d $delete_d $stageonly_d $inc_d $noincpath_d $noprvpath_d $server_d $pathx $purge_d $plugx $datax $xdatax $sdatex $archivex $metadatax $sdelayx $tdelayx $debug1_d $debug2_d $tapeonly_d $tpolicyx $uprex $upstx $nwbrowse_d $avflags $vdp_d"

		tapeout_cmd=""
		for tx in `echo -E "$tapeout_cmd_"`
		do
			tapeout_cmd="$tapeout_cmd $tx"
		done
		echo "\n$BLUE_BG$WHITE_FG Export-CMD$DEF:$GREEN_FG adme $tapeout_cmd$DEF" 
		while true
		do
		echo "$CYAN_FG\nInitiate data migration process as a batch job: [$WHITE_FG Y$CYAN_FG=Yes ] or$WHITE_FG Q$CYAN_FG=Quit:$DEF > \c"; read go
		if [ "$go" = "" ]
		then
			continue
		elif [ "$go" = "q" -o "$go" = "Q" -o "$go" = "" ]
		then
			break
		elif [ "$go" = "y" -o "$go" = "Y" ]
		then
			if [ -f /tmp/admbatch-ONDEMAND.chk ]
		 	then
				echo "\n$ERRORX-40K: A previous on demand batch session is locked preventing this session from starting"
				echo "           Remove lock file [$WHITE_FG /tmp/admbatch-ONDEMAND.chk $RED_FG] if appropriate and try again.$DEF"
				echo "\n<Press Enter to Continue>"; read
				continue
			fi
 			echo "#!/bin/ksh" > /tmp/admbatch-ONDEMAND.$$
 			echo "HOMEPATH=\"/usr/local/avamar/bin\"" >> /tmp/admbatch-ONDEMAND.$$
 			echo "sdate=\"\`date +'20%y-%m-%d %H:%M'\`\"" >> /tmp/admbatch-ONDEMAND.$$
 			echo "LOG=\"$BULOCATION/log/admbatch-ONDEMAND.log\"" >> /tmp/admbatch-ONDEMAND.$$

			if [ "$envnum" -eq "1" ];then envlok=""; else envlok="$envnum"; fi
			echo "echo \"BATCHPID=\$\$\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
 			echo "if [ ! -s $TMP_PATH/.admebatch.lok ]" >> /tmp/admbatch-ONDEMAND.$$ 
 			echo "then" >> /tmp/admbatch-ONDEMAND.$$
  			echo "echo \"Batch-Owner=$filebase$cfg PID=\$\$\" > $TMP_PATH/.admebatch.lok" >> /tmp/admbatch-ONDEMAND.$$
 			echo "else" >> /tmp/admbatch-ONDEMAND.$$
			echo "chkpid=\`awk -F= '{print \$3}' $TMP_PATH/.admebatch.lok | head -1\`" >> /tmp/admbatch-ONDEMAND.$$
			echo "if [ \`ps -ef | grep adme | awk '{print \$2,\$3}' | grep -v grep | grep -c \"\$chkpid\"\` -eq \"0\" ]" >> /tmp/admbatch-ONDEMAND.$$
			echo "then" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"\\n$CYAN_FG Removing stale batch lock file for Env-$Env [$WHITE_FG $chkpid $CYAN_FG]$DEF\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
  			echo "echo \"Batch-Owner=$filebase$cfg PID=\$\$\" > $TMP_PATH/.admebatch.lok" >> /tmp/admbatch-ONDEMAND.$$
			echo "else" >> /tmp/admbatch-ONDEMAND.$$
   			echo "edate=\`date +'20%y-%m-%d %H:%M'\`" >> /tmp/admbatch-ONDEMAND.$$
 			echo "bywho=\`tail -1 $TMP_PATH/.admebatch.lok\`" >> /tmp/admbatch-ONDEMAND.$$
  			echo "echo \"\\n$RED_FG ADME-BATCH-FAILURE: Env#-$Env is currently locked by [$WHITE_FG \$bywho $RED_FG] Start-Time:\$sdate End-Time:\$edate Env#:$Env $DEF\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$ 
  			echo "exit 1" >> /tmp/admbatch-ONDEMAND.$$
 			echo "fi" >> /tmp/admbatch-ONDEMAND.$$
 			echo "fi" >> /tmp/admbatch-ONDEMAND.$$

			echo "echo \"RUNNING: \$sdate\" > /tmp/admbatch-ONDEMAND.chk" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"=====================================\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \" ADMe BATCH Session Started: `date +'%d/%m/%y %H:%M'` MYPID=\$\$\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \" Batch Script Name: /tmp/admbatch-ONDEMAND.$$\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \" BaseGroupName=$grpx SubGrpx#=0 Env#=$envnum Filters=NONE TAPEOUT-OPT=$tapeout_cmd\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"=====================================\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "/usr/local/avamar/bin/adme $envnum -v -d  >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "/usr/local/avamar/bin/adme $tapeout_cmd >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "rc=\$?" >> /tmp/admbatch-ONDEMAND.$$
			echo "start_line=\`grep -n \"BATCHPID=\$\$\" \$LOG | tail -1 | sed -n \"s/:/ /\"p | awk '{print \$1}'\`" >> /tmp/admbatch-ONDEMAND.$$
	                echo "last_line=\`wc -l \$LOG | awk '{print \$1}'\`" >> /tmp/admbatch-ONDEMAND.$$
			echo "stage_result2=\`sed -n \"\$start_line,\$last_line\"p \$LOG | grep \"STAGING SUMMARY: Total Backup Size:\" | tail -1\`" >> /tmp/admbatch-ONDEMAND.$$
			echo "stage_result3=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"Staging-Server-Type:\" | tail -1\`" >> /tmp/admbatch-ONDEMAND.$$ 
                        echo "stage_result=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"INFO-15A:|ERROR-09:\" | tail -1 \`" >> /tmp/admbatch-ONDEMAND.$$
			echo "tape_result=\`sed -n \"\$start_line,\$last_line\"p \$LOG | egrep \"TAPE_BACKUP_|ERROR-05|ERROR-11|Staged data was|Staged data has NOT|INFO-09D:\" | tail -1 \`" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "if [ \"\$stage_result2\" = \"\" ];then stage_result2=\"        $RED_BG$WHITE_FG WARNING: $DEF No backups were selected\"; fi" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "if [ \"\$stage_result\" = \"\" ];then stage_result=\"n/a\"; fi" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "if [ \"\$tape_result\" = \"\" ];then tape_result=\"n/a\"; fi" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "tape_result_=\"\$tape_result\"" >> /tmp/admbatch-ONDEMAND.$$
			echo "if [ \$rc -ne 0 ]" >> /tmp/admbatch-ONDEMAND.$$
			echo "then" >> /tmp/admbatch-ONDEMAND.$$
			echo "edate=\"\`date +'20%y-%m-%d %H:%M'\`\"" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			ultcho "if [ \`echo \"\$tape_result_\" | grep -c \"NOTOK\"\` -gt \"0\" ];then tape_result=\"$RED_FG \$t10ape_result_ $DEF \"; fi" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"    \$stage_result2\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"\$stage_result3\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"$CYAN_FG  Final-Stage-Result:$DEF \$stage_result\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"$CYAN_FG   Final-Export-Result:$DEF \$tape_result\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "echo >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"   \$stage_result2\" >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"\$stage_result3\" >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"$CYAN_FG  Final-Stage-Result:$DEF \$stage_result\" >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "echo \"$CYAN_FG   Final-Export-Result:$DEF \$tape_result\" >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "echo >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"$RED_BG$WHITE_FG ADME-TAPEOUT-ON-DEMAND-FAILURE: [-migrate] RC=[\$rc] Start-Time:\$sdate End-Time:\$edate Env#:$envnum $DEF\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"$RED_BG$WHITE_FG ADME-TAPEOUT-ON-DEMAND-FAILURE: [-migrate] RC=[\$rc] Start-Time:\$sdate End-Time:\$edate Env#:$envnum $DEF\" >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$
			echo "rm /tmp/admbatch-ONDEMAND.chk" >> /tmp/admbatch-ONDEMAND.$$
			echo "rm $TMP_PATH/.admebatch.lok" >> /tmp/admbatch-ONDEMAND.$$
			echo "exit 1" >> /tmp/admbatch-ONDEMAND.$$
			echo "fi" >> /tmp/admbatch-ONDEMAND.$$
			echo "edate=\"\`date +'20%y-%m-%d %H:%M'\`\"" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"    \$stage_result2\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"\$stage_result3\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"$CYAN_FG  Final-Stage-Result:$DEF \$stage_result\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"$CYAN_FG   Final-Export-Result:$DEF \$tape_result\" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "echo >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"    \$stage_result2\" >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"\$stage_result3\" >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"$CYAN_FG  Final-Stage-Result:$DEF \$stage_result\" >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "echo \"$CYAN_FG   Final-Export-Result:$DEF \$tape_result\" >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$ 
			echo "echo >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"$GREEN_BG$WHITE_FG ADME-TAPEOUT-ON-DEMAND-SUCCEEDED: Start-Time:\$sdate End-Time:\$edate Env#:\$envnum $DEF \" >> $BULOCATION/log/atoevent.log$envlok" >> /tmp/admbatch-ONDEMAND.$$
			echo "echo \"$GREEN_BG$WHITE_FG ADME-TAPEOUT-ON-DEMAND-SUCCEEDED: Start-Time:\$sdate End-Time:\$edate Env#:\$envnum $DEF \" >> \$LOG" >> /tmp/admbatch-ONDEMAND.$$
			echo "rm /tmp/admbatch-ONDEMAND.chk" >> /tmp/admbatch-ONDEMAND.$$
			echo "rm $TMP_PATH/.admebatch.lok" >> /tmp/admbatch-ONDEMAND.$$
			chmod +x /tmp/admbatch-ONDEMAND.$$
                        echo "/tmp/admbatch-ONDEMAND.$$" > /tmp/initiate$envnum
                        chmod +x /tmp/admbatch-ONDEMAND.$$ /tmp/initiate$envnum
                         /usr/bin/at -f /tmp/initiate$envnum now >/dev/null 2>&1
			echo "\nBATCH Session Initiated Using:$GREEN_FG [Env-$envnum Job-Policy-admbatch-ONDEMAND File-admbatch-ONDEMAND.$$]$DEF"
			echo "          To Monitor Progress:$GREEN_FG Return to Job Manager DASHBOARD$DEF"
			sleep 1
			break
		elif [ "$go" = "i" -o "$go" = "I" ]
		then
			if [ "$envnum" -eq "1" ];then envlok=""; else envlok="$envnum"; fi
 			if [ ! -s $TMP_PATH/.admebatch.lok ]
 			then
  				echo "Batch-Owner=$filebase$cfg PID=$$" > $TMP_PATH/.admebatch.lok
 			else
				chkpid=`awk -F= '{print $3}' $TMP_PATH/.admebatch.lok | head -1`
				if [ `ps -ef | awk '{print $2,$3}' | grep -v grep | grep -c "$chkpid"` -eq "0" ]
				then
					echo "\n$CYAN_FG Removing stale batch lock file for Env-$Env [$WHITE_FG $chkpid $CYAN_FG]$DEF" | tee -a $LOG
  					echo "Batch-Owner=$filebase$cfg PID=$$" > $TMP_PATH/.admebatch.lok
				else
   					edate=`date +'20%y-%m-%d %H:%M'`
 					bywho=`tail -1 $TMP_PATH/.admebatch.lok`
  					echo "\n$RED_FG ADME-BATCH-FAILURE: Env#-$envnum is currently locked by [$WHITE_FG $bywho $RED_FG] Start-Time:$sdate End-Time:$edate Env#:$envnum $DEF"
  					exit 1
				fi
			fi
			$HOMEPATH/adme $tapeout_cmd
			rm $TMP_PATH/.admebatch.lok >/dev/null 2>&1
			break
		fi
		done
	fi
}

menu_rtn()
{
	if [ `ps -ef | grep "/usr/sbin/atd" | grep -v grep | wc -l | awk '{print $1}'` -eq "0" ]
	then
		echo
		echo "$RED_BG$WHITE_FG WARNING:$DEF$RED_FG The [$WHITE_FG atd $RED_FG] daemon required for ADMe batch job initiation is not currently running"
		echo "          Starting it now using CMD=[$WHITE_FG  service atd start$RED_FG]$DEF\n"
		 service atd start
#		echo "\nPress Enter to Continue"; read
#		exit 1
	fi
	rm -rf 1 >/dev/null 2>&1
	motd_rtn

	head_menu_="==< $CYAN_FG$(hostname)$DEF >============================================="
	head_menu=$(echo "$head_menu_                                                               " | cut -b1-58)
	TMP_PATH="$BASE_TMP_PATH"

	while true
	do
		touch /tmp/skipit99.txt >/dev/null 2>&1
		session_lock_rtn2 noblock
		clear
		termsize=`stty --all | grep "rows" | awk '{print $5,$7}' | sed -n "s/;//"gp`
		rows=`echo "$termsize" | awk '{print $1}'`; cols=`echo "$termsize" | awk '{print $2}'`
		rows=`expr $rows / 2`; rowpos=`expr $rows - 10`
		cols=`expr $cols / 2`; colpos=`expr $cols - 25`

		maintcheck_rtn
 		if [ "$Reasonx" = "" ]
		then
 			tput cup $rowpos $colpos; echo "$head_menu"
			tput cup `expr $rowpos + 1` $colpos; echo "|$BLUE_BG$WHITE_FG      ADMe Avamar Data Migration (Enabler)   $DEF|"
			tput cup `expr $rowpos + 2` $colpos; echo "|$BLUE_BG$WHITE_FG                MAIN -  MENU                 $DEF|"
			tput cup `expr $rowpos + 3` $colpos; echo "|                 UserID=$Userid                $DEF|"
		else
			tput cup $rowpos $colpos; echo "$head_menu"
			tput cup `expr $rowpos + 1` $colpos; echo "|$BLUE_BG$WHITE_FG    ADM(e) Avamar Data Migration (Enabler)   $DEF|"
			tput cup `expr $rowpos + 2` $colpos; echo "|$BLUE_BG$WHITE_FG                MAIN -  MENU $RED_BG$WHITE_FG($Reasonx)$BLUE_BG   $DEF|"
		fi
		tput cup `expr $rowpos + 4` $colpos; echo "|                $GREEN_FG$Version$DEF                  "
		tput cup `expr $rowpos + 5` $colpos; echo "$head_nl"
		tput cup `expr $rowpos + 6` $colpos; echo "|        1. J) Job Policy Manager             |"
		tput cup `expr $rowpos + 7` $colpos; echo "|        2. C) Client-Config Manager          |"
		tput cup `expr $rowpos + 8` $colpos; echo "|        3. E) Environment-File Manager       |"
		tput cup `expr $rowpos + 9` $colpos; echo "|        4. V) View Selection Worklist        |"
		tput cup `expr $rowpos + 10` $colpos; echo "|        5. L) Event Log View                 |"
		tput cup `expr $rowpos + 11` $colpos; echo "|        6. H) Help                           |"
		tput cup `expr $rowpos + 12` $colpos; echo "|        7. R) Recovery Manager               |"
		tput cup `expr $rowpos + 13` $colpos; echo "|        8. S) Interactive Selection          |"
		tput cup `expr $rowpos + 14` $colpos; echo "|        9. M) Interactive Migration          |"
		tput cup `expr $rowpos + 15` $colpos; echo "|       10. A) ADMe Administration            |"
		tput cup `expr $rowpos + 16` $colpos; echo "|       11. G) ADMe Upgrade                   |"
		tput cup `expr $rowpos + 17` $colpos; echo "|                                             |"
		tput cup `expr $rowpos + 18` $colpos; echo "$head_nl"
		tput cup `expr $rowpos + 19` $colpos; echo "$CYAN_FG Select By # or Alpha$WHITE_FG Q$CYAN_FG=Quit:$DEF > \c"; read input1
		if [ "$input1" = "" ];then continue
		elif [ "$input1" = "q" -o "$input1" = "Q" ]
		then
			lckpid=`awk '{print $2}' $BULOCATION/tmp/admmenu.lck 2>/dev/null`
#			if [ "$me" -eq "$lckpid" ];then rm -f $BULOCATION/tmp/admmenu.lck >/dev/null 2>&1; fi
			rm /tmp/skipit99.txt $TMP_PATH/dflag.tmp $TMP_PATH/clientgroup.dat.sav $TMP_PATH/input.tmp2 $TMP_PATH/input.vm $TMP_PATH/prfupdate.tmp $TMP_PATH/batchlist.tmp >/dev/null 2>&1
			exit 1
		elif [ "$input1" = "1" -o "$input1" = "j" -o "$input1" = "J" ]
		then
			list_rtn batch
		elif [ "$input1" = "2" -o  "$input1" = "c" -o "$input1" = "C" ]
		then
			if [ "$CMINHIBITCOUNTERS" = "true" ];then Nocalc=1; else Nocalc=0;fi
			Manager=1; add_v=0; clear; add_rtn $2
		elif [ "$input1" = "3" -o  "$input1" = "e" -o "$input1" = "E" ]
		then
			EnvMgr=1
			env_select_rtn `expr $rowpos + 21` $colpos; envnum=$?
 			if [ "$Summary" -eq "1" ]
			then
				Summary=0; continue
			fi
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
			if [ "$envnum" -eq "" -o "$envnum" -eq "0" ];then envnum_=""; else envnum_="$envnum"; fi
			if [ ! -f $BULOCATION/etc/atoenv.cfg$envnum_ ]
			then
				echo "\n$CYAN_FG Environment$WHITE_FG File-#$envnum$CYAN_FG doesn't currently exist, to create it enter$WHITE_FG Y$CYAN_FG=Yes$WHITE_FG N$CYAN_FG=No [$WHITE_FG Def=No $CYAN_FG]$DEF > \c"; read inputenv
				echo
				if  [ "$inputenv" = "Y" -o "$inputenv" = "y" ]
				then
       					echo "Establishing Env-File-#$envnum_ ..."
					$HOMEPATH/adme $envnum_ -env >/dev/null
   					init_env_rtn $envnum_
					envupdate_rtn $envnum_
				fi
			else 
				init_env_rtn $envnum_
				envupdate_rtn $envnum_
			fi
		elif [ "$input1" = "4" -o  "$input1" = "v" -o "$input1" = "V" ]
		then
			env_select_rtn `expr $rowpos + 21` $colpos; envnum=$?
			if [ "$envnum" -eq "" -o "$envnum" -eq "0"  ];then envnum_=""; else envnum_="$envnum"; fi
			TMP_PATH=`grep "^TMP_PATH=" $BULOCATION/etc/atoenv.cfg$envnum_ | tail -1 | awk -F= '{print $2}'`
			if [ -s $BULOCATION/etc/atoenv.cfg$envnum_ ]
			then
				Cfg="$envnum_"; Debug=0
				Rerun=0; Retry=0; view_rtn; read
			fi
		elif [ "$input1" = "5" -o  "$input1" = "l" -o "$input1" = "L" ]
		then
			env_select_rtn `expr $rowpos + 21` $colpos; envnum=$?
			if [ "$envnum" -eq "" ];then envnum_=""; else envnum_="$envnum"; fi
			if [ -s $BULOCATION/etc/atoenv.cfg$envnum_ ]
			then
				if [ "$envnum" -eq "0" ];then envnum=""; fi
				logfile=`grep "^LOG=" $BULOCATION/etc/atoenv.cfg$envnum | tail -1 | awk -F= '{print $2}'`
				Log_=2; Cfg=$envnum
				eventlog_rtn $logfile
			fi
		elif [ "$input1" = "6" -o  "$input1" = "h" -o "$input1" = "H" ]
		then
			usage_rtn $input1 | more
		elif [ "$input1" = "7" -o  "$input1" = "r" -o "$input1" = "R" ]
		then
			env_select_rtn `expr $rowpos + 21` $colpos; envnum=$?
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
			if [ "$envnum" -eq "1" -o "$envnum" -eq "0" ];then envnum_=""; else envnum_="$envnum"; fi
			Recover=1; TMP_PATH="$BULOCATION/tmp/atocfg$envnum_"; Cfg="$envnum_"; RecMenu=1
			tput cup `expr $rowpos + 23` $colpos; echo "$CYAN_FG Enter Recovery-Mode, [$WHITE_FG 1$CYAN_FG=Retry$WHITE_FG 2$CYAN_FG=Rerun ]$DEF: > \c"; read type
			if [ $type -eq 2 ]
			then
				Rerun=1; Retry=0; Action="rerun"; input=1 
			else
				Rerun=0; Retry=1; Action="retry"; input=1
			fi
			while true
			do
  				list_rtn $Action $input
				view_rtn $Action 
 				list_rtn $Action 0
				return_code="$?"
				if [ "$return_code" -eq "99" ]
				then
					break
				fi
			done
		elif [ "$input1" = "8" -o  "$input1" = "s" -o "$input1" = "S" ]
		then
			envnum="20"
			env_select_rtn `expr $rowpos + 21` $colpos; envnum=$?
  			session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
			if [ "$envnum" -eq "" ];then envnum_=""; else envnum_="$envnum"; fi
			if [ -s $BULOCATION/etc/atoenv.cfg$envnum_ ]
			then
				tput cup `expr $rowpos + 23` $colpos; echo "$CYAN_FG View Select History? Y/N [$WHITE_FG Def=N $CYAN_FG]:$DEF > \c"; read disp
				if [ "$disp" = "Y" -o "$disp" = "y" ]
				then
   					grep "^User-Input:" $BULOCATION/log/atoevent.log$envnum_ | grep -e "-select" | tail -20; read
				else
					menu_cmd_build_rtn select $envnum 
				fi
			fi
		elif [ "$input1" = "9" -o  "$input1" = "m" -o "$input1" = "M" ]
		then
			env_select_rtn `expr $rowpos + 21` $colpos; envnum=$?
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
			if [ "$envnum" -eq "" -o "$envnum" -eq "1" ];then envnum_=""; else envnum_="$envnum"; fi
			if [ -s $BULOCATION/etc/atoenv.cfg$envnum_ ]
			then
				tput cup `expr $rowpos + 23` $colpos; echo "$CYAN_FG View Migration History? Y/N [$WHITE_FG Def=N $CYAN_FG]:$DEF > \c"; read disp
				if [ "$disp" = "Y" -o "$disp" = "y" ]
				then
					grep "^User-Input:" $BULOCATION/log/atoevent.log$envnum_ | egrep -e "-migrate" | tail -20; read
				else
					menu_cmd_build_rtn tapeout $envnum 
				fi
			fi
		elif [ "$input1" = "10" -o  "$input1" = "a" -o "$input1" = "A" ]
		then
			if [ "$BACKUPPRODUCT" = "commvault" ];then cvtext="$WHITE_FG C$CYAN_FG=Commvault"; else cvtext=""; fi
			tput cup `expr $rowpos + 21` $colpos; echo "$WHITE_FG B$CYAN_FG=Backup$WHITE_FG R$CYAN_FG=RollBack$WHITE_FG G$CYAN_FG=Grab$WHITE_FG H/h$CYAN_FG=Health-Check$WHITE_FG L$CYAN_FG=File-Locator"
			tput cup `expr $rowpos + 22` $colpos; echo "$CYAN_FG$cvtext$WHITE_FG$WHITE_FG M$CYAN_FG=Maint-Alert$WHITE_FG S$CYAN_FG=Credentials$WHITE_FG A$CYAN_FG=ADMe-Customize$WHITE_FG W$CYAN_FG=WEB-UI-Customize "
			tput cup `expr $rowpos + 23` $colpos; echo "$CYAN_FG$cvtext$WHITE_FG$WHITE_FG V$CYAN_FG=Web-UI-Service$WHITE_FG P$CYAN_FG=Procedural-Docs/Tools "
			tput cup `expr $rowpos + 25` $colpos; echo "$WHITE_FG Def =$CYAN_FG Quit$DEF > \c"; read disp
			if [ "$disp" = "" -o "$disp" = "Q" -o "$disp" = "q" ]
			then
				chmod 770 -R $BULOCATION > /dev/null 2>&1 
				chmod 770 -R $BULOCATION/audit > /dev/null 2>&1 
				chmod 440 -R $BULOCATION/audit/*.txt > /dev/null 2>&1 
				continue
			elif [ "$disp" = "B" -o "$disp" = "b" ]
			then
				backup_rtn backup loop
			elif [ "$disp" = "D" -o "$disp" = "d" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
				backup_rtn delete loop
			elif [ "$disp" = "R" -o "$disp" = "r" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
				backup_rtn rollback loop
			elif [ "$disp" = "" -o "$disp" = "G" -o "$disp" = "g" ]
			then
				backup_rtn grab loop
			elif [ "$disp" = "l" -o "$disp" = "L" ]
			then
				filelist_rtn
			elif [ "$disp" = "p" -o "$disp" = "P" ]
			then
				echo "$CYAN_FG PATH-Procedures=$WHITE_FG$BULOCATION/tools$GREEN_FG\n"
				ls -rtl $BULOCATION/tools |awk '{print $NF}'| grep -E "\.pdf|\.cfg" | sort -u
				echo "\n$CYAN_FG PATH-Tools=$WHITE_FG$BULOCATION/tools$GREEN_FG\n"
				ls -rtl $BULOCATION/tools |awk '{print $NF}'| grep -E "\.sh" | sort -u
				echo "$DEF\n <Press Enter to Continue>"; read
					
			elif [ "$disp" = "v" -o "$disp" = "V" ]
			then
				gui_rtn status
				echo "\n$CYAN_FG Enter desired action:$WHITE_FG S$CYAN_FG=Start$WHITE_FG P$CYAN_FG=Stop$WHITE_FG R$CYAN_FG=Restart$WHITE_FG T$CYAN_FG=Status > $Asciesc $DEF"; read gui
				if [ "$gui" = "s" -o "$gui" = "S" ];then gui_rtn start
				elif [ "$gui" = "p" -o "$gui" = "P" ];then gui_rtn stop
				elif [ "$gui" = "r" -o "$gui" = "R" ];then gui_rtn restart
				elif [ "$gui" = "t" -o "$gui" = "T" ];then gui_rtn status; fi
				echo "\n <Press Enter to Continue>"; read
			elif [ "$disp" = "m" -o "$disp" = "M" ]
			then
				maint_rtn
			elif [ "$disp" = "c" -o "$disp" = "C" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
				commvault_rtn
			elif [ "$disp" = "S" -o "$disp" = "s" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
				security_rtn
#			elif [ "$disp" = "u" -o "$disp" = "U" ]
#			then
#				session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
#				
#				menu_lock_rtn
			elif [ "$disp" = "v" -o "$disp" = "V" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
				vmimage_edit_rtn
			elif [ "$disp" = "a" -o "$disp" = "A" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
				echo "\n$GREEN_FG ADMe-Core customizable parameter settings:\n$DEF"
				sort -k1 $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.srt
				mv $BULOCATION/customize/adme.cfg.srt $BULOCATION/customize/adme.cfg
				grep -n "." $BULOCATION/customize/adme.cfg | sed -n "s/:/ /"p
				echo "\n==========================================="
				echo "\n$CYAN_FG To edit above parameters Enter:$WHITE_FG Y$CYAN_FG=Yes [$WHITE_FG Def=N$CYAN_FG ]:> \c"; read inputa
				if [ "$inputa" = "Y" -o "$inputa" = "y" ];then $MYEDITOR $BULOCATION/customize/adme.cfg; fi
				cp $BULOCATION/customize/adme.cfg $BULOCATION/customize/.gold_adme.cfg
			elif [ "$disp" = "w" -o "$disp" = "W" ]
			then
				session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
				echo "\n$GREEN_FG WEB-UI customizable parameter settings:\n$DEF"
				sort -k1 $BULOCATION/customize/webui.txt | sort -u > $BULOCATION/customize/webui.txt.srt
				mv $BULOCATION/customize/webui.txt.srt $BULOCATION/customize/webui.txt
				grep "^WEBUI_" $BULOCATION/customize/webui.txt | grep -n "." | sed -n "s/:/. /"p
				echo "\n==========================================="
				echo "\n$CYAN_FG To edit above parameters Enter:$WHITE_FG Y$CYAN_FG=Yes [$WHITE_FG Def=N$CYAN_FG ]:> \c"; read inputa
				if [ "$inputa" = "Y" -o "$inputa" = "y" ];then $MYEDITOR $BULOCATION/customize/webui.txt; fi
				cp $BULOCATION/customize/webui.txt $BULOCATION/customize/.gold_webui.txt
			elif [ "$disp" = "h" ]
			then
				health_rtn
			elif [ "$disp" = "H" ]
			then
				health_rtn display
			fi
			chmod 770 -R $BULOCATION > /dev/null 2>&1 
			chmod 770 -R $BULOCATION/audit > /dev/null 2>&1 
			chmod 660 -R $BULOCATION/audit/*.txt > /dev/null 2>&1 
		elif [ "$input1" = "11" -o "$input1" = "g" -o "$input1" = "G" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then continue; fi
			tput cup `expr $rowpos + 22` $colpos; echo "$WHITE_FG H$CYAN_FG=History$WHITE_FG L$CYAN_FG=ADMe-Web-Link$WHITE_FG U$CYAN_FG=Upgrade$WHITE_FG Q$CYAN_FG=Quit$DEF > \c"; read disp
			if [ "$disp" = "" -o "$disp" = "Q" -o "$disp" = "q" ];then continue
			elif [ "$disp" = "H" -o "$disp" = "h" ]
			then
				cat $BULOCATION/.admeupgrade.dat | grep -v "I-AM-TRAINED"; read
			elif [ "$disp" = "L" -o "$disp" = "l" ]
			then
				echo "\n$RED_BG$WHITE_FG IMPORTANT: $DEF Check frequently for ADMe updates at $CYAN_FG $WEBLINK $DEF"; read
			elif [ "$disp" = "U" -o "$disp" = "u" ]
                        then
				admeupgrade_rtn menu
				exit
			fi
			
		else
			tput cup `expr $rowpos + 17` `expr $colpos + 32`; echo "$RED_FG Input Invalid$DEF"; sleep 1
		fi
 	done
}

session_lock_rtn2()
{
        block="$1"; me=$$
        if [ ! -s $BULOCATION/tmp/admmenu.lck ]
        then
		pts=`ps axu | grep "$lckpid" | egrep -v "grep|admebatch|admbatch|batch cfg" | awk '{print $7}' | head -1 | sed -n "s/\///"p`
                echo "ADMe-MENU-LOCK $me $pts" > $BULOCATION/tmp/admmenu.lck
        else
		lckpid=`awk '{print $2}' $BULOCATION/tmp/admmenu.lck`
                pts=`ps axu | grep "$me" | egrep -v "grep" | awk '{print $7}' | head -1 | sed -n "s/\///"p`
                ptsorig=`awk '{print $3}' $BULOCATION/tmp/admmenu.lck`
                actpid=`ps axu | grep "$lckpid" | egrep -v "grep|admebatch|admbatch|batch cfg" |grep adme | awk '{print $2}'|grep "$lckpid" | head -1`
                if [ "$actpid" -eq "" ]
                then
                        echo "\n$CYAN_FG Removing stale ADMe-MENU-LOCK Pid=$lckpid $DEF"
                        echo "ADMe-MENU-LOCK $me $pts" > $BULOCATION/tmp/admmenu.lck
                        return 0

                elif [ "$me" -eq "$actpid" -o "$pts" = "$ptsorig" ];then return 0
                elif [ "$actpid" -eq "$lckpid" ]
                then
                        if [ "$block" = "block" ]
                        then
                                echo "\n$RED_FG Function blocked ADMe-MENU-LOCKED [$WHITE_FG Owner-pid=$lckpid Your-pid=$me $RED_FG] $DEF"
				if [ "$MENULOCK" = "false" ]
				then
					echo "\n <Press Enter to OVERRIDE>"; read; return 0
                                else
					echo "\n <Press Enter to CONTINUE>"; read; return 1
				fi
                	else
                        	return 0
                   	fi
                fi
        fi
}

archive_file_rtn()
{
        limit=$MAX_RECOVERY_SESSIONS
	if [ -s $TMP_PATH/.$1.tmp ]
        then
                t=`egrep -c "TAPE_NOTOK" $TMP_PATH/.$1.tmp`
                s=`egrep -c "|" $TMP_PATH/.$1.tmp`
        fi	
	base=1; ptr=1
	for x in `ls -al $TMP_PATH/.$1.tmp.* 2>/dev/null |  awk '{print $NF}'`
	do
         	num=`echo "$x" | awk -F. '{print $NF}'`
		if [ ! -f $TMP_PATH/.$1.tmp.$ptr ]; then mv $x $TMP_PATH/.$1.tmp.$ptr; fi
                ptr=`expr $ptr + 1`
        	if [ "$ptr" -ge "$limit" ]; then break; fi
	done
        if [ "$t" -gt "0" -o "$s" -gt "0" ]
        then
                while [ "$limit" -gt "0" ]
                do
                        old=`expr $limit - 1`
                        if [ -f $TMP_PATH/.$1.tmp.$old ];then mv $TMP_PATH/.$1.tmp.$old $TMP_PATH/.$1.tmp.$limit 2>/dev/null; fi
                        limit=`expr $limit - 1`
                done
		if [ -s $TMP_PATH/.rerun.tmp0 -a ! -s $TMP_PATH/.rerun.tmp ]
		then		
			if [ `grep -c "|" $TMP_PATH/.rerun.tmp0` -eq "0" ]
			then
				rm $TMP_PATH/.rerun.tmp0 >/dev/null 2>&1
		fi
		elif [ -s $TMP_PATH/.rerun.tmp0 -a -s $TMP_PATH/.rerun.tmp ]
 		then
			if [ "$Cfg" -eq "" ]; then envx=1; else envx=$Cfg; fi
			pidx=`cat $TMP_PATH/adm.lck 2>/dev/null | awk -F= '{print $2}'| awk '{print $1}'`
			actionx=`cat $TMP_PATH/adm.lck 2>/dev/null | awk -F= '{print $3}' | awk '{print $1}'`
			if [ `ps -ef | grep "$pidx" | cut -b1-50 | grep -v gr | wc -l | awk '{print $1}'` -ne "0" ]
			then
				echo
#				echo "DEBUG2: dont touch rerun files as this is an active session, should return at this point" >
			else
 				mv $TMP_PATH/.rerun.tmp0 $TMP_PATH/.rerun.tmp.1	>/dev/null 2>&1
 				rm $TMP_PATH/.rerun.tmp >/dev/null 2>&1
				echo "$ERRORX-90: The previous ADMe session ended prematurely, event log has been truncated$DEF" >> $LOG
			fi
 		fi
                mv $TMP_PATH/.$1.tmp $TMP_PATH/.$1.tmp.1 2>/dev/null
        fi
}

mode_chk()
{
	for s in `echo "$Siteid"`
	do
		mode_=`grep -w "^$s" $CFG | tail -1 | awk -F, '{print $15}' | wc -l | awk '{print $1}'`
		if [ "$mode_" -eq "" ]
		then
			echo "\n$(date +'%Y-%m-%d %H:%M:%S') ==== $Version ==== SELECT \n" >> $LOG
			echo "User-Input: $ARGS" | tee -a $LOG
			echo "$ERRORX-06E: GroupID [$WHITE_FG$s$RED_FG] not found$DEF" | tee -a $LOG
			mail_rtn
			exit 1
		fi

 		if [ -f $HOMEPATH/mccli -o -L $HOMEPATH/mccli ]
		then
			if [ "$mode_" -ne "" ]
			then
				if [ `grep -w "^$s" $CFG | tail -1 | awk -F, '{print $15}'` = "LINUX" ]
				then
					echo "\n$(date +'%Y-%m-%d %H:%M:%S') ==== $Version ==== SELECT \n" >> $LOG
					echo "User-Input: $ARGS" >> $LOG
					echo "This is a Utility Node" | tee -a $LOG
					echo "$ERRORX-06C: GroupID [$WHITE_FG$s$RED_FG] is configured for a LINUX SS, must execute from a LINUX SS$DEF" | tee -a $LOG
					mail_rtn
					exit 1
				fi
			fi
		else
			if [ "$mode_" -ne "" ]
			then
				if [ `grep -w "^$s" $CFG | tail -1 | awk -F, '{print $15}'` = "WINDOWS" -o `grep -w "^$s" $CFG | tail -1 | awk -F, '{print $15}'` = "UNIX" ]
				then
					echo "\n$(date +'%Y-%m-%d %H:%M:%S') ==== $Version ==== SELECT \n" >> $LOG
					echo "User-Input: $ARGS" >> $LOG
					echo "\nThis is not a Utility Node" | tee -a $LOG
					echo "$ERRORX-06D: GroupID [$WHITE_FG$s$RED_FG] is configured for a UNIX or WINDOWS SS, must run script from the Utility node$DEF" | tee -a $LOG
					mail_rtn
					exit 1
				fi
			fi
		fi
 	done
}

networker_ssid_rtn()
{
	
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled networker_ssid_rtn()"; set -x 
	fi
	dmx=`echo "$1" | awk -F/ '{print "/"$2"/"$3}'`
	clx=`echo "$1" | awk -F/ '{print $4}'`
	buid=`echo "$2" | awk -F\| '{print $1}'`
	yr=`echo "$3" | awk -F- '{print $1}'`; mo=`echo "$3" | awk -F- '{print $2}'`; dy=`echo "$3" | awk -F- '{print $3}'`
	since="$mo/$dy/$yr"
	edate="$4"
	if [ "$NWclx" != "$clx" ]
	then
		echo "Discovering Networker dedup save set-ids for client [$clx]... "
		buids=`/usr/sbin/mminfo -s $BUSERVER_NAME -S -q dedupe -c $clx -v -xc, -t $since | awk -F, '{print $16}' | awk -F"session id:" '{print $2}' | awk '{print $1}' | sed -n "s/;//"p | grep -v "^ "`
		Buids_save="$buids"
		/usr/sbin/mminfo -s $BUSERVER_NAME -S -q dedupe -c $clx -v -xc, -t $since | awk -F, '{print $1,$2,$5,$6}' | egrep -v "^ |^ssid" > $TMP_PATH/nwk_ssid.tmp
		/usr/sbin/mminfo -s $BUSERVER_NAME -q dedupe -c $clx -v -r name -t $since > $TMP_PATH/nwk_name.tmp
		NWclx="$clx"
	else
		buids="$Buids_save"
	fi
	linex=1; lline=`wc -l $TMP_PATH/nwk_ssid.tmp | awk '{print $1}'`
	buid_cnt="$(echo "$buids" | wc -l | awk '{print $1}')"; buid_cntx=1
	for x in `echo "$buids"`
	do
		buid_cntx="$(expr $buid_cntx + 1)"
		SSID=""
		line=`sed -n "$linex,$linex"p $TMP_PATH/nwk_ssid.tmp`
		name=`sed -n "$linex,$linex"p $TMP_PATH/nwk_name.tmp`
		if [ "$Debug" -gt "0" -a "$DEBUG" -gt "0" ]
		then
			echo "Validating Networker save setid [$name] association to Avamar BUID [$x] [$buid_cntx of $buid_cnt]                                            \r\c"
		fi
		if [ "$x" -eq "$buid" ]
		then
			echo "$GREEN_FG\nAssociation found for Networker save setid [$name] to Avamar BUID [$x]...             $DEF"
			ssid_lvl=`echo "$line" | awk '{print $1"+"$NF}'`
			SSID_="$ssid_lvl+$name"
			if [ `echo "$line" | grep -c "incr"` -eq "1" -a "$Nwinc" -eq "0" ]
			then
				SSID="$SSID_+REMOVE"; break
			fi
			if [ `echo "$line" | grep -c "manual"` -eq "1" ]
			then
				SSID="$SSID_+REMOVE"; break
			fi
			if [ `echo "$line" | egrep -c "SYSTEM FILES:|SYSTEM STATE:|APPLICATIONS:|VSS "` -eq "1" ]
			then
				SSID="$SSID_+REMOVE"; break
			fi

			flagx=""; nwlist=""
			if [ "$edate" != "" ]
                        then
				nwdate=`echo "$line" | awk '{print $2}' | sed -n "s/\// /"gp`	
				nwy=`echo "$nwdate" | awk '{print $3}'`; nwm=`echo "$nwdate" | awk '{print $1}'`; nwd=`echo "$nwdate" | awk '{print $2}'`
				usry=`echo "$edate" | awk -F- '{print $1}'`; usrm=`echo "$edate" | awk -F- '{print $2}'`; usrd=`echo "$edate" | awk -F- '{print $3}'`
				nwm=`expr $nwm + 0`; nwd=`expr $nwd + 0`
				usrm=`expr $usrm + 0`; usrd=`expr $usrd + 0`
				while true
				do
					if [ "$nwy" -gt "$usry" ]
					then
						flagx="REMOVE"; break
					fi
					if [ "$nwm" -gt "$usrm" ]
                                        then
                                                flagx="REMOVE"; break
                                        fi
					if [ "$nwd" -gt "$usrd" ]
                                        then
                                                flagx="REMOVE"; break
					else
						flagx="KEEPIT"; break
                                        fi
				done
			elif [ "$Nwxdata" != "" ]
			then
				flagx="REMOVE"
				if [ `echo "$Nwxdata" | grep -c ":"` -gt "0" ];then nwlist=`echo -E "$Nwxdata" | sed -n "s/\//\\\\\\\\\\\\\/"gp`;else nwlist="$Nwxdata"; fi
			elif [ "$Nwdata" != "" ]
			then
				flagx="KEEPIT"
				if [ `echo "$Nwdata" | grep -c ":"` -gt "0" ];then nwlist=`echo "$Nwdata" | sed -n "s/\//\\\\\\\\\\\\\/"gp`;else nwlist="$Nwdata"; fi
			elif [ `grep "^$Siteid," $CFG | awk -F, '{print $8}' | grep -c "n/a"` -eq "0" ]
			then
				Nwxdata=`grep "^$Siteid," $CFG | awk -F, '{print $8}'`
				if [ `echo "$Nwxdata" | grep -c ":"` -gt "0" ];then nwlist=`echo -E "$Nwxdata" | sed -n "s/\//\\\\\\\\\\\\\/"gp`;else nwlist="$Nwxdata"; fi
				flagx="REMOVE"
			elif [ `grep "^$Siteid," $CFG | awk -F, '{print $17}' | grep -c "n/a"` -eq "0" ]
			then
				Nwdata=`grep "^$Siteid," $CFG | awk -F, '{print $17}'`
				if [ `echo "$Nwdata" | grep -c ":"` -gt "0" ];then nwlist=`echo "$Nwdata" | sed -n "s/\//\\\\\\\\\\\\\/"gp`;else nwlist="$Nwdata"; fi
				flagx="KEEPIT"
			fi
			if [ "$flagx" != "" ]
			then
				cmax=6; cnt=0
				if [ `echo "$nwlist" | grep -c "|"` -gt "0" ]
				then
					while true
					do
						if [ "$cnt" -gt "$cmax" ];then break; else cnt=`expr $cnt + 1`; fi
         					if [ "$cnt" -eq "1" ];then fx=`echo -E "$nwlist" | awk -F\| '{print $1}'`; fi
         					if [ "$cnt" -eq "2" ];then fx=`echo -E "$nwlist" | awk -F\| '{print $2}'`; fi
         					if [ "$cnt" -eq "3" ];then fx=`echo -E "$nwlist" | awk -F\| '{print $3}'`; fi
        					if [ "$cnt" -eq "4" ];then fx=`echo -E "$nwlist" | awk -F\| '{print $4}'`; fi
        					if [ "$cnt" -eq "5" ];then fx=`echo -E "$nwlist" | awk -F\| '{print $5}'`; fi
        					if [ "$cnt" -eq "6" ];then fx=`echo -E "$nwlist" | awk -F\| '{print $6}'`; fi

						if [ "$fx" != "" -a `echo "$line" | egrep -c "$fx i|$fx f"` -gt "0" ]
						then
							SSID="$SSID_$flagx"; break
						fi
					done
				elif [ `echo -E "$line" | grep -c "$nwlist"` -gt "0" ]
				then
					SSID="$SSID_$flagx"; break
				fi
			fi
			if [ "$SSID" = "" ];then SSID="$SSID_"; fi
			break
		fi
		linex=`expr $linex + 1`
		if [ "$linex" -gt "$lline" ];then break; fi
	done	
}

select_rtn()
{

	if [ "$CloudDataPurge" -eq "1" ]
	then
#debug		echo "$INFO-XX: Preparing for CloudDataPurge, skipping backup selection phase"
		CDPurge=1
	fi
	if [ -f $BULOCATION/customize/debug_env_trace.txt ]
	then
		echo "DEBUG-SelectRtn ENVCFG=$ENVCFG GID=$Siteid" >> $BULOCATION/customize/debug_env_trace.txt
	fi
	today=`date +'20%y-%m-%d'`;
	todayabsolute="$today"
	yx="$(echo "$today" | cut -b 1-4)"; mx="$(echo "$today" | cut -b 6-7)"; dx="$(echo "$today" | cut -b 9-10)"
	if [ "$mx" -eq "01" -o "$mx" -eq "03" -o "$mx" -eq "05" -o "$mx" -eq "08" -o "$mx" -eq "10" -o "$mx" -eq "12" ]
	then
		if [ "$dx" -lt "31" ];then dx="$(expr $dx + 1)"
		else 
			dx="1"
			if [ "$mx" -ne "12" ];then mx="$(expr $mx + 1)"
			else
				yx="$(expr $yx + 1)"; mx="1"; dx="1"
			fi
		fi

	elif [ "$mx" -eq "04" -o "$mx" -eq "06" -o "$mx" -eq "07" -o "$mx" -eq "09" -o "$mx" -eq "11" ]
	then
		if [ "$dx" -lt "30" ];then dx="$(expr $dx + 1)" 
		else 
			dx="01"; mx="$(expr $mx + 1)"
		fi
	elif [ "$mx" -eq "02" ]
	then
		if [ "$dx" -lt "28" ];then dx="$(expr $dx + 1)"
		else 
			dx="01"; mx="03"
		fi
	fi
	if [ "$dx" -lt "10" -a "$(echo "$dx" | cut -b 1)" -ne "0" ];then dx="0$dx"; fi
	if [ "$mx" -lt "10" -a "$(echo "$mx" | cut -b 1)" -ne "0" ];then mx="0$mx"; fi
	today="$yx$dash$mx$dash$dx"
	firstday="01"
	save_today="$yx$dash$mx$dash$firstday"
	year=`date +'20%y'`; month=`date +'%m'`; startdate="$year-$month-01"
	atositeid_rtn
	firstpass=0
	if [ "$Skipselect" -eq "1" ];then return; fi

	if [ "Rdate" -ne "" ]
	then
		if [ "$Rdate" -gt "$month" ]
		then
			syear=`expr $year - 1`; rdif=`expr $Rdate - $month`; smonth=`expr 12 - $rdif`
			year=`expr $year - 1`; month=`expr $smonth + 1`
		elif [ "$Rdate" -eq "$month" ]
		then
			syear=`expr $year - 1`; smonth=12
			month=01
		elif [ "$Rdate" -lt "$month" ]
		then
			smonth=`expr $month - $Rdate`
		elif [ "$month" -eq "1" ]
		then
			syear=`expr $year - 1`; rdif=`expr $Rdate - 1`; smonth=`expr 12 - $rdif`
		fi

 		if [ "$smonth" -le "9" ]; then smonth="0$smonth"; fi
		if [ "smonth" -eq "01" -o "$smonth" -eq "03" -o "$smonth" -eq "05" -o "$smonth" -eq "07" -o "$smonth" -eq "08" -o "$smonth" -eq "10" -o "$smonth" -eq "12" ]
		then
			day=31
		elif [ "$smonth" -eq "02" ];then day=28
		else day=30; fi

		if [ "$syear" = "" ];then syear="$year"; fi
		today="$save_today"
		if [ "$Rdatex" -ne "" ]
		then
			if [ "$smonth" -lt "12" ];then emonth="$(expr $smonth + 1)"; fi
			if [ "$smonth" -eq "12" ]
			then
				eyear="$(expr $syear + 1)"; emonth="01"
			else
				eyear="$syear"
			fi

			if [ "$emonth" -lt "10" -a "$(echo "$emonth" | cut -b 1)" -ne "0" ];then emonth="0$emonth"; fi
			today="$eyear-$emonth-01"
		fi
		startdate="$syear-$smonth-01"
	fi

 	if [ "$Rday" -ne "" ]
 	then
 		if [ "$(echo "$Rday" | grep -c "\-")" -eq "0" ]
 		then
  			if [ "$Rday" -le "9" ];then fday="0$Rday"; else fday="$Rday"; fi
 			lday_="$(expr $Rday + 1)"
 			if [ "$lday_" -le "9" ];then lday="0$lday_"; else lday="$lday_"; fi
 		else
 			fday="$(echo "$Rday" | awk -F- '{print $1}')"
 			lday="$(echo "$Rday" | awk -F- '{print $2}')"

			rdayx="$(echo "$startdate" | cut -b 9-10)"
			rmonthx="$(echo "$startdate" | cut -b 6-7)"
			ryearx="$(echo "$startdate" | cut -b 1-4)"
			lastdayx="$(cal $rmonthx $ryearx | tail -2 | head -1 | awk '{print $NF}')"
			if [ "$lday" -lt "$lastdayx" ];then lday=$(expr $lday + 1)
			elif [ "$lday" -eq "$lastdayx" ]
			then
				lday=1; 
				if [ "$rmonthx" -lt "12" ];then rmonthx=$(expr $rmonthx + 1)
				else
					rmonthx=-01; ryearx="$(expr $ryearx + 1)"
				fi
			fi
 			if [ "$fday" -ge "1" -a "$fday" -le "9" ];then fday="0$fday"; fi
 			if [ "$lday" -ge "1" -a "$lday" -le "9" ];then lday="0$lday"; fi
	
			today="$ryearx$dash$month$dash$lday"
 		fi

#		if [ "$Rdate" -ne "" ];then yrm="$(echo "$startdate" | cut -b 1-8)"; else yrm="$(echo "$startdate" | cut -b 1-8)"; fi
		yrm="$(echo "$startdate" | cut -b 1-8)"
 		startdate="$yrm$fday"
 		today="$yrm$lday"
 	fi



	if [ `echo "$Nday" | grep -c "+"` -eq "1" ]
	then
		Nday_=`echo "$Nday" | sed -n "s/+//"p`; nday_plus="1"
	else
		Nday_="$Nday"; nday_plus="0"
	fi
	Nday="$Nday_"

	if [ "$Nday" -gt "0" -a "$Nday" -le "30" ]
	then
		syearx=`echo "$startdate" | awk -F- '{print $1}'`; smonthx=`echo "$startdate" | awk -F- '{print $2}'`; sdayx=`echo "$startdate" | awk -F- '{print $3}'`
		if [ "$(echo "$today" | cut -b 9-10)" -eq "01" ]
		then
			mx="$(echo "$today" | cut -b 6-7)"
			mx="$(expr $mx - 1)"
			if [ "$mx_" -lt "10" ];then mx_="0$mx"; fi
			yx="$(echo "$today" | cut -b 1-5)"	
			today="$yx$mx_-30"
		fi
		eyearx=`echo "$today" | awk -F- '{print $1}'`; emonthx=`echo "$today" | awk -F- '{print $2}'`; edayx=`echo "$today" | awk -F- '{print $3}'`

		if [ "$nday_plus" -eq "1" ]
		then
			sdiffx=`expr 30 - $Nday`
			sdayx="$sdiffx"
		else
			sdiffx="$(expr $edayx - $Nday)"
			if [ "$sdiffx" -lt "1" ]
			then
				sdiffx="$(expr $sdiffx \* -1)"
				sdayx="$(expr 30 - $sdiffx)"
				prevmonth=1
			else
				prevmonth=0
				sdayx="$sdiffx"
			fi
			if [ "$sdayx" -lt "10" ];then sdayx="0$sdayx"; else sdayx="$sdayx"; fi
		fi
#		if [ "$Nday" -gt "$edayx" -o "$nday_plus" -eq "1" ]
		if [ "$Nday" -ge "$edayx" -o "$nday_plus" -eq "1" ]
		then
			if [ "$smonthx" -gt "01" ]
			then
				smonthx=`expr $smonthx - 1`
				if [ "$smonthx" -lt "10" ];then smonthx="0$smonthx"; fi
			else
				syearx=`expr $syearx - 1`; smonthx="12"
			fi
		fi
		if [ "$sdayx" -eq "00" ];then sdayx="01"; fi
		if [ "$sdayx" -gt "28" -a "$smonthx" -eq "02" ];then sdayx="28"; fi
		startdate="$syearx-$smonthx-$sdayx";

#		date to the 1st of the next month 
		yx_="$(echo "$today" | cut -b 1-4)"; mx_="$(echo "$today" | cut -b 6-7)"; dx_="$(echo "$today" | cut -b 9-10)"
		if [ "$mx_" -ne "12" ]
		then
			mx_=$(expr $mx_ + 1)
			if [ $mx_ -lt 10 ];then mx_="0$mx_"; fi
		else
			mx_="01"; yx_="$(expr $yx_ + 1)"
		fi
		dx_="01"; hy="-"
		nday_end="$yx_$hy$mx_$hy$dx_"

	elif [ "$Nday" -gt "30" ]
	then
		echo "\n$ERRORX-06H: An invalid -nday argument was specified [$WHITE_FG $Nday $RED_FG], max is 30 days $DEF"
		mail_rtn
		exit 1
	fi

	if [ "$Edate" = "" ]
	then
		Edate="$today"
#	elif [ "!lday" != "" ]
#	then
#		today="$lday"
	else
		today="$Edate"
	fi

	prevcnt=0; updcnt=0; diffcnt=0; first_pass=0

	echo "\n$(date +'%Y-%m-%d %H:%M:%S') ==== $Version ==== SELECT \n" >> $LOG
	if [ "$CDPurge" -ne "1" ]
	then
		echo "User-Input: $ARGS" | tee -a $LOG
	else
		echo "User-Input: $ARGS" >> $LOG
	fi
	if [ "$Sdate" -ne "" ]; then startdate="$Sdate"; fi


	if [ "$startdate" = "$todayabsolute" ]
	then
		startdateyear="$(echo "$startdate" | cut -b 1-4)" ; startdatemonth="$(echo "$startdate" | cut -b 6-7)"; startday="-28"
		if [ "$startdatemonth" != "01" ]
		then
			startdatemonth_="$(expr $startdatemonth - 1)"
			if [ "$startdatemonth_" -lt "10" ];then startdatemonth_="0$startdatemonth_"; fi
			startdate="$startdateyear$dash$startdatemonth_$startday"
		else
			startdateyear="$(expr $startdateyear - 1)"
			startdatemonth="12"
			startdate="$startdateyear$dash$startdatemonth$startday"
		fi
		today1="$(echo "$todayabsolute" | cut -b 1-8)"; today2="02"
		today="$today1$today2"
	fi

	if [ "$CDPurge" -ne "1" ]
	then
 		echo "INFO-01A: Active-Auto Date Range - $startdate to $today" | tee -a $LOG
	else
 		echo "INFO-01A: Active-Auto Date Range - $startdate to $today" >> $LOG
	fi

	echo "$startdate $today" > $TMP_PATH/.Search_Startdate.txt
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled select_rtn()"; set -x 
	fi
 	multisite=`echo "$Siteid" | awk '{print NF}'`

  	pseudoclient_cleanup 5

	if [ ! -f $BULOCATION/customize/hyperv-$Siteid.txt -a "$HypervFlag" -eq "1" ]
        then
                echo "# ################################################" > $BULOCATION/customize/hyperv-$Siteid.txt
                echo "# This file is used to specify which Hyper-V virtual machines are to be included in a tapeout session for the assigned ADMe group" >> $BULOCATION/customize/hyperv-$Siteid.txt
                echo "# Define one VM per line using the following syntax convention" >> $BULOCATION/customize/hyperv-$Siteid.txt
                echo "# system-name<Resource-Name> where brackets <> shown must be included." >> $BULOCATION/customize/hyperv-$Siteid.txt
                echo "# Existing entries may be commented out using the # character in column-1" >> $BULOCATION/customize/hyperv-$Siteid.txt
                echo "# ################################################" >> $BULOCATION/customize/hyperv-$Siteid.txt
        fi

	echo "PID=$$ Action=select From:`date`" > $TMP_PATH/adm.lck
	for x in `echo "$Siteid"`
	do
 		if [ `grep "^$x," $CFG | awk -F, '{print $4}' | grep -c "/NetWorker/"` -gt "0" ]
 		then
  			Networker=1; AvtarRes=2
  		fi
		if [ "$firstpass" -eq "0" ]
		then
			echo "$Siteid" > $Atositeid
 			if [ "$AvtarRes" -eq "1" ];then echo "ATORECOVER=AVTAR" >> $Atositeid
  			elif [ "$AvtarRes" -eq "2" ];then echo "ATORECOVER=NETWORKER" >> $Atositeid
  			elif [ "$AvtarRes" -eq "4" ];then echo "ATORECOVER=AVEXVSS" >> $Atositeid
			elif [ "$AvtarRes" -eq "6" ];then echo "ATORECOVER=AVHYPERVVSS" >> $Atositeid
			elif [ "$AvtarRes" -eq "5" ]
			then
				echo "ATORECOVER=AVMOSSVSS" >> $Atositeid
				echo "SHPT-CREDENTIALS: $SHPT_flags" >> $Atositeid
  			else echo "ATORECOVER=MCCLI" >> $Atositeid; fi
  			firstpass=1
		fi
		if [ "$clientx" -eq "1" ]
		then
 			siteid_=`grep "^$x," $CFG | grep "$Client_," | awk -F, '{print $1","$2","$3","$4","$5","$6","$7","dummy","$9","$10","$11}'`
 			if [ "$siteid_" = "" ]
 			then
 				echo "$ERRORX-06B: Client not found, [$WHITE_FG$Client_$RED_FG]$DEF" | tee -a $LOG
 				echo "INFO-11: Exiting script..." | tee -a $LOG
				if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
				mail_rtn
 				exit 1
 			fi 
		else
   			siteid_=`grep "^$x," $CFG | awk -F, '{print $1","$2","$3","$4","$5","$6","$7","dummy","$9","$10","$11}'`
 			if [ "$siteid_" = "" ]
 			then
 				echo "$ERRORX-06A: GroupId not found, [$WHITE_FG$Siteid$RED_FG]$DEF" | tee -a $LOG
 				echo "INFO-11: Exiting script..." | tee -a $LOG
				if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
				mail_rtn
 				exit 1
 			fi 
		fi
		rm $TMP_PATH/.selectbuinfo.tmp >/dev/null 2>&1
		for y in `echo "$siteid_"` 	
		do
			start=`echo "$y" | awk -F, '{print $2}'`
			end=`echo "$y" | awk -F, '{print $3}'`
			if [ "$Sdate" -ne "" -a "$Edate" -ne "" ]
			then
				start="$Sdate"; end="$Edate"
			elif [ "$Sdate" -ne "" -a "$end" = "AUTO" ]
			then
				start="$Sdate"; end="$today"
			elif [ "$start" = "AUTO" -a "$end" = "AUTO" ]
			then
				if [ "$month" -eq "12" ]
				then
					emonth="01"; eyear=`expr $year + 1`
				else
					emonth=`expr $month + 1`; eyear="$year"
					if [ "$emonth" -le "9" ];then emonth="0$emonth"; fi
				fi
				if [ "$Rdate" = "" ];then end="$eyear-$emonth-01"; else end="$year-$month-01"; fi
				if [ "$Nday" != "" ];then end="$nday_end"; fi
				start="$startdate"
			elif [ "$start" != "AUTO" -a "$end" = "AUTO" ]
			then
				start="$start"; end="$today"
			elif [ "$start" != "AUTO" -a "$end" != "AUTO" ]
			then
				start="$start"; end="$end"
			else
				echo "$ERRORX-03: Unexpected date values or staging path name in config file, run parse check against the client configuration file $DEF" | tee -a $LOG
				echo "INFO-11: Exiting script..." | tee -a $LOG
				if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
				mail_rtn
				exit 1
			fi

			include=`echo "$y" | awk -F, '{print $4}'`
			replicate=`echo "$include" | grep -c "REPLICATE"`

			if [ "$VMQUALIFIEDNAMES" = "false" -a "$VMimage" -eq "1" ]
			then
				vmname="$(echo "$y" | awk -F, '{print $5}')"
				vmdomain="$(echo "$y" | awk -F, '{print $4}')"
				client="$(grep "$vmdomain" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | grep "$vmname" | head -1 | awk -F, '{print $2}' | awk -F/ '{print $NF}')"
				if [ "$client" = "" ];then client="$vmname"; fi	
			elif [ "$VMimage" -eq "1" ]
                        then
                                vmname="$(echo "$y" | awk -F, '{print $5}')"
                                vmdomain="$(echo "$y" | awk -F, '{print $4}')"
                                client="$(grep " $vmdomain" $BULOCATION/tmp/atocfg/.input.dat1.discover | grep "^$vmname" | head -1 | awk '{print $1}')"
				realclient2="$client"
				if [ "$client" = "" ];then client="$vmname"; fi	
			else
				client=`echo "$y" | awk -F, '{print $5}'`
			fi

			if [ "$clientx" -eq "1" -a "$client" != "$Client_" ]
                        then

                                if [ "$VMQUALIFIEDNAMES" = "false" -a "$VMimage" -eq "1" ]
                                then
					vmname="$(echo "$y" | awk -F, '{print $5}')"
					vmdomain="$(echo "$y" | awk -F, '{print $4}')"
					realclient1="$(grep "$vmdomain" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | grep "$Client_" | head -1 | awk -F, '{print $2}' | awk -F/ '{print $NF}')"
                                        if [ "$clientx" -eq "1" -a "$Client_" != "$realclient1" ];then Client_="$realclient1"; fi
                                elif [ "$VMimage" -eq "1" ]
                                then
#					vmname="$(echo "$y" | awk -F, '{print $5}')"
#					vmdomain="$(echo "$y" | awk -F, '{print $4}')"
#					realclient2="$(grep "$vmdomain" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | grep "$Client_" | head -1 | awk -F, '{print $2}' | awk -F/ '{print $NF}')"
					if [ "$clientx" -eq "1" -a "$Client_" = "$realclient2" ];then Client_="$realclient2"; fi
                                fi
                        fi

			sitex=`echo "$y" | awk -F, '{print $1}'`
			if [ "$client" != "ALL" ]; then include="$include/$client"; fi
			exclude=`echo "$y" | awk -F, '{print $6}'`
			retention=`echo "$y" | awk -F, '{print $7}'`
 			output_filex=`echo "$y" |awk -F, '{print $9}'`
			if [ "$output_filex" = "DEFAULT" ] 
			then
				output_file="$TMP_PATH/snapups2tape.txt"
				opf_="snapups2tape.txt"	
			elif [ "$output_filex" != "AVAMAR" ]
			then
				output_file="$output_filex"	
			else
				output_file="snapups2tape.txt"	
				opf="snapups2tape.txt"
			fi
			if [ "$first_pass" -eq "0" ]
			then 
				rm $output_file >/dev/null 2>&1; first_pass=1 
			fi
 			touch $output_file

			prevcnt=`wc -l $output_file | awk '{print $1}'`
 			touch $output_file
			if [ "$replicate" -ne "0" ]; then mv $output_file $TMP_PATH/replicate_hold.tmp; fi

			if [ ! -f /usr/local/avamar/etc/atoselect ]
			then
				Perl=1
			else
				chkclient=`grep -c "^$client" /usr/local/avamar/etc/atoselect`
				if [ "$chkclient" -ne "0" ];then Perl=0; else Perl=1; fi
			fi

			if [ "$output_filex" = "AVAMAR" -a "$Perl" -eq "1" ]
			then
				retention=1; exclude="/"
 				cmd_build="$CMD_select --snapupoutput=$snapupoutput --start=$start --end=$end --retention=$retention --include=$include --exclude=$exclude $Quiet"
			else
				
				Perl=0
				if [ "$Rtype" -eq "1" ]
				then
					rtype_cmd="--retention-type=$Rtype_"

				elif [ `grep "^$Siteid," $CFG | egrep ",$client,|,$vmname," |head -1 |  awk -F, '{print $7}' | grep -c "n/a"` -eq "0" ]
				then
					rtype_val=`grep "^$Siteid," $CFG | egrep ",$client,|,$vmname," |head -1 | awk -F, '{print $7}'`
					rtype_cmd="--retention-type=$rtype_val"
				else
					rtype_cmd=""
				fi

				if [ "$Gname" -eq "1" ]
				then
					gname_val="$Gname_"
				elif [ `grep "^$Siteid," $CFG | grep ",$client," | awk -F, '{print $6}' | grep -c "n/a"` -eq "0" ]
				then
					gname_val=`grep "^$Siteid," $CFG | grep ",$client," | awk -F, '{print $6}'`
				else
					gname_val=""
				fi

                                if [ "$(echo "$rtype_cmd" | grep -c "+")" -gt "0" ]
                                then
                                        rtype_convert="$(echo "$rtype_cmd" | sed -n "s/\+/,/"gp)"
                                        rtype_cmd="$rtype_convert"
                                fi

				avtarmessage=""
				$HOMEPATH/avmgr getl --account=$include >/dev/null 2>&1
				avtarstat="$?"
				if [ "$avtarstat" -ne "74" ]
				then
					$HOMEPATH/avtar --backups $Plugx --acnt=$include $AVTAR_credential --after=$startdate --before=$today $rtype_cmd $Quiet $CTselect 2>/dev/null | sed -n "3,99999"p >> $TMP_PATH/.selectbuinfo.tmp11
				else
					avtarmessage="$RED_FG <<< This account not found in Avamar database$DEF"
					touch $TMP_PATH/.selectbuinfo.tmp11 >/dev/null 2>&1
				fi

				clientname="$(echo "$include" | awk -F/ '{print $NF}')"
                                tmp11cntlast="$(wc -l $TMP_PATH/.selectbuinfo.tmp11 | awk '{print $1}')"
                                tmp11cnt=1
                                while true
                                do
                                        linex="$(sed -n "$tmp11cnt,$tmp11cnt"p $TMP_PATH/.selectbuinfo.tmp11)"
                                        if [ "$linex" = "" ];then break; fi
                                        echo -e "$clientname $linex" >> $TMP_PATH/.selectbuinfo.tmp
                                        tmp11cnt="$(expr $tmp11cnt + 1)"
                                        if [ "$tmp11cnt" -gt "$tmp11cntlast" ];then break; fi
                                done
                                rm $TMP_PATH/.selectbuinfo.tmp11 >/dev/null 2>&1

				if [ "$avtarstat" -ne "74" ]
				then
				cmd_build="$HOMEPATH/avtar --backups $Plugx --acnt=$include $AVTAR_credential --after=$startdate --before=$today $rtype_cmd $Quiet $CTselect"
				else
					cmd_build=""
				fi

				if [ "$Debug" -ge "2" ]; then echo "TRACE-05: $cmd_build\n" | sed -n "s/--password=$pw/--password=******/"p | tee -a $LOG; fi
 				if [ "$DEBUG" -ge "2" ]; then echo "TRACE-05: $cmd_build\n" | sed -n "s/--password=$pw/--password=******/"p; fi
				$cmd_build > $TMP_PATH/adamnew.txt
				if [ "$gname_val" = "" ]
				then
  					buids=`$cmd_build | sed -n "3,9999"p | egrep -v "$Filter" | awk '{print "+"$3"|adme|"$1}'`
				else
					buids=`$cmd_build | sed -n "3,9999"p | egrep "$gname_val" | egrep -v "$Filter" | awk '{print "+"$3"|adme|"$1}'`
				fi
				ssidx=""
				for bx in `echo "$buids" | awk -F+ '{print $2}'`
				do
					bx1=`echo "$bx" | awk -F\| '{print $1}'`
					bx2=`echo "$bx" | awk -F\| '{print $2}'`
					bx3=`echo "$bx" | awk -F\| '{print $3}'`
		 			bx0=`printf '%7.7d' $bx1`
					if [ `echo "$include" | grep -c "/NetWorker/"` -ne "0" ]
					then
						if [ "$Edate" -eq "" ];then Edate="$today"; fi
						Networker=1; AvtarRes=2
						networker_ssid_rtn $include $bx $start $Edate
						ssidx="|$SSID"
					fi	
					echo "$client|$include/$bx0|$bx2$ssidx|$bx3|$bx1" >> $output_file
				done
			fi
set -


			if [ "$replicate" -ne "0" ]
			then
				grep "$client" $output_file >> $TMP_PATH/replicate_hold.tmp 2>/dev/null
				mv $TMP_PATH/replicate_hold.tmp $output_file
			fi

			if [ "$CDPurge" -ne "1" ]
			then
				echo "Scanning-Group [$sitex]-[$client]...$avtarmessage                                            "
			fi
			$cmd_build >/dev/null
			if [ "$?" -eq "0" ]
			then
				spath=`grep "^$sitex," $CFG | grep "$client," | tail -1 | awk -F, '{print $10}'`
				echo "$client,$spath" >> $Atositeid
			fi
			updcnt=`wc -l $output_file | awk '{print $1}'`
			diffcnt=`expr $updcnt - $prevcnt`

			lx=`grep "^$y" $CFG | tail -1 | awk -F, '{print $4"/"$5}'`
			if  [ "$clientx" -eq "1" -a "$Client_" = "$client" -a "$Debug" -ge "1" ]
			then
				echo "INFO-01B: [$diffcnt] BU-ID's selected for -> $lx" >> $LOG
			fi
			if  [ "$clientx" -eq "1" -a "$Client_" = "$client" -a "$DEBUG" -ge "1" ]
			then
				echo "INFO-01B: [$diffcnt] BU-ID's selected for -> $lx"
			fi
			if [ "$clientx" -ne "1" -a "$Debug" -ge "1" ]
			then
				echo "INFO-01C: [$diffcnt] BU-ID's selected for -> $lx" >> $LOG 
			fi
			if [ "$clientx" -ne "1" -a "$DEBUG" -ge "1" ]
			then
				echo "INFO-01C: [$diffcnt] BU-ID's selected for -> $lx"
			fi
		done
	done

	destination_tapeclient_chk
	if [ "$?" -eq "1" ]
	then
		echo "INFO-06: Exiting script, Non-Zero return code, config check failed" | tee -a $LOG
		if [ "$Debug" -lt "3" ]; then rm $TMP_PATH$/* >/dev/null 2>&1; fi
		mail_rtn
		exit 1
	fi

	if [ "$Networker" -eq "1" ]
	then
		grep "KEEPIT" $output_file > $TMP_PATH/keepit
		if [ `grep -c "KEEPIT" $TMP_PATH/keepit` -gt "0" ]
		then
			cat $TMP_PATH/keepit | sed -n "s/KEEPIT//"p > $output_file
		else
			grep "KEEPIT" $output_file > $output_file
		fi
	fi

	sort -u $output_file > $TMP_PATH/worklist.tmp1
	mv $TMP_PATH/worklist.tmp1 $TMP_PATH/worklist.tmp2

 	weekly_rtn $start $end
 	minimum_rtn 


	date_buid="$(awk -F\| '{print $1"+"$4"+"$5}' $output_file)"
	rm -rf $TMP_PATH/selectbuinfo.tmp2 >/dev/null 2>&1
	for info in $(echo "$date_buid")
        do
                clix="$(echo "$info" | awk -F+ '{print $1}')"
                datx="$(echo "$info" | awk -F+ '{print $2}')"
                bux="$(echo "$info" | awk -F+ '{print $3}')"

                egrep "$clix" $TMP_PATH/.selectbuinfo.tmp | egrep " $datx" | grep " $bux " >> $TMP_PATH/selectbuinfo.tmp2
        done
	mv $TMP_PATH/selectbuinfo.tmp2 $TMP_PATH/.selectbuinfo.tmp >/dev/null 2>&1

	
	grep -v "|||" $output_file > $TMP_PATH/keepit.tmp
	mv $TMP_PATH/keepit.tmp $output_file

	snapcnt=`wc -l $output_file | awk '{print $1}'` 
	if [ "$CDPurge" -ne "1" ]
	then
 		echo "INFO-14:  Total backup count selected [$snapcnt]" | tee -a $LOG
	else
		echo "INFO-14:  Total backup count selected [$snapcnt]" >> $LOG
	fi
 	if [ ! -f $HOMEPATH/mccli -o ! -L $HOMEPATH/mccli ];then cp $output_file $TMP_PATH/$output_file >/dev/null 2>&1; fi


	if [ -f /usr/local/avamar/etc/atoselect -a "$Perl" -eq "0" ] 
	then
		clxloop=`awk -F\| '{print $1}' $output_file`
		cp $output_file $TMP_PATH/output.tmp1 >/dev/null 2>&1
		rm $TMP_PATH/output.tmp2 >/dev/null 2>&1
		for cl in `echo "$clxloop"`
		do 
			clx=`grep "^$cl" /usr/local/avamar/etc/atoselect | awk -F\| '{print $1}' | tail -1`
			clxos=`grep "^$cl" /usr/local/avamar/etc/atoselect | awk -F\| '{print $2}' | tail -1`
			if [ `grep -c "^$clx" $output_file` -gt "0" ]
			then
				part1=`awk -F\| '{print $1"|"$2}' $TMP_PATH/output.tmp1 | grep "^$cl" | tail -1`
				for c in `awk -F\| '{print $1"|"$2}' $TMP_PATH/output.tmp1`
				do
					if [ `echo "$c" | grep -c "^$clx"` -gt "0" ]
					then
						line="$c|$clxos"
					else
						line="ADME-OS-ERROR"
					fi
					echo "$line" >> $TMP_PATH/output.tmp2
				done
			fi
		done
		sort -u $TMP_PATH/output.tmp2 > $output_file
	fi
	if [ `grep -c ":" $output_file` -gt "0" ]
	then
		linex=1; lline=`wc -l $output_file | awk '{print $1}'`
		rm $TMP_PATH/backslash.tmp >/dev/null 2>&1
		while true
		do
			line=`sed -n "$linex,$linex"p $output_file`
			if [ `echo "$line" | grep -c ":"` -gt "0" ]
			then
				echo "$line" | sed -n "s/\\\/\//"gp >> $TMP_PATH/backslash.tmp
			else
				echo "$line" >> $TMP_PATH/backslash.tmp
			fi
			if [ "$linex" -lt "$lline" ]
			then
				linex=`expr $linex + 1`
			else
				mv $TMP_PATH/backslash.tmp $output_file >/dev/null 2>&1 
				break
			fi
		done
	fi

	cp $output_file $TMP_PATH/.snapups2tape.txt >/dev/null 2>&1
 	if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/*.* $TMP_PATH/* >/dev/null 2>&1; fi

	rcx=0
	if [ "$(grep "^$Siteid" $CFG | awk -F, '{print $15}' | head -1)" != "UNIX" -a "$VSS" -eq "1" ]
	then
 		echo "$ERRORX-04C System State backups were selected using$WHITE_FG -vss$RED_FG option must be staged to a Linux staging server\n          as an archive using the$WHITE_FG -archive$RED_FG option$DEF " | tee -a $LOG 
		mail_rtn; if [ "$Cfg" -eq "" ]; then Cfg=1; fi; exit 1
	elif [ ! -s $TMP_PATH/.snapups2tape.txt ]
	then
		rcx=1
		echo "\n$ERRORX-04A Backup selection list is empty due to no eligible backups found [$WHITE_FG RC=1 $RED_FG], this prevents the migration process from proceeding $DEF" | tee -a $LOG
		if [ "$VMimage" -eq "1" ]
		then
			echo "$RED_FG          For VMimage clients, confirm [$WHITE_FG VMQUALIFIEDNAMES=$VMQUALIFIEDNAMES ]$RED_FG setting in [$WHITE_FG adme.cfg ]$RED_FG file is set to a compatible value.$DEF"
		fi
		echo "Env-$Cfg Session Complete: RC=$rcx `date +'20%y-%m-%d %H:%M'`" | tee -a $LOG
		mail_rtn; if [ "$Cfg" -eq "" ]; then Cfg=1; fi; exit 1
	else
		for x in $(echo "$siteid_")
		do
			client=`echo "$x" | awk -F, '{print $5}'`
			disabled=`grep "$x," $CFG | grep ",$client," | awk -F, '{print $1}' | grep -c "#DISABLED "`
			if [ "$VMQUALIFIEDNAMES" = "false" ];then qualname="$(grep "$client" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | awk -F, '{print $2}' | awk -F/ '{print $NF}')"; fi

			if [ "$qualname" = "" ];then qualname="dummy"; fi
			if [ $(egrep -c "^$client|$qualname" $TMP_PATH/.snapups2tape.txt) -eq 0 -a $disabled -eq 0 ]
			then
				domainx=`echo "$x" | awk -F, '{print $4}'`; slash="/"
 				echo "$ERRORX-04B No backups have been selected for client [$WHITE_FG$domainx$slash$client$RED_FG]$DEF" | tee -a $LOG 
				if [ "$MASK_ERROR_04B" = "true" ];then rcx=0; else rcx=2; fi
			fi
		done	
		if [ "$CDPurge" -ne "1" ]
		then
			echo "Env-$Cfg Session Complete: RC=$rcx `date +'20%y-%m-%d %H:%M'`" | tee -a $LOG
		else
			echo "Env-$Cfg Session Complete: RC=$rcx `date +'20%y-%m-%d %H:%M'`" >> $LOG
		fi
		mail_rtn; if [ "$Cfg" -eq "" ]; then Cfg=1; fi; exit $rcx
	fi
}

weekly_rtn()
{
        rm $TMP_PATH/weekly.tmp >/dev/null 2>&1
        if [ "$Wkly" -eq "0" ]; then return; fi

        if [ "$Debug" -ge "6" ]
        then
                echo "TRACE: Enabled weekly_rtn()"; set -x
        fi

        dash="-"
        sm=`echo $1 | awk -F- '{print $2}'`; sy=`echo $1 | awk -F- '{print $1}'`

        em=`echo $2 | awk -F- '{print $2}'`; ey=`echo $1 | awk -F- '{print $1}'`
	if [ "$sm" -eq "12" ];then em="12"; fi

        if [ "$sy" -eq "$ey" ]
        then
                loop_cnt=`expr $em - $sm`
                if [ "$loop_cnt" -eq "0" ]
                then
                        loop_dat="$sy$dash$sm"
                else
                        loop_dat=""; mx="$sm"
                        while true
                        do
                                mx=`expr $mx \* 1`
                                if [ "$mx" -le "9" ]; then mx="0$mx"; fi
                                loop_dat="$loop_dat $ey$dash$mx"
                                if [ "$em" -eq "$mx" ]; then break; fi
                                mx=`expr $mx + 1`
                        done
                fi
        else
                echo "DEBUG - Weekly selection not supported across different years"; read
        fi

        if [ "$Weekly" = "sun" -o "$Weekly" = "sunday" ]; then dx=7
        elif [ "$Weekly" = "mon" -o "$Weekly" = "monday" ]; then dx=6
        elif [ "$Weekly" = "tue" -o "$Weekly" = "tuesday" ]; then dx=5
        elif [ "$Weekly" = "wed" -o "$Weekly" = "wednesday" ]; then dx=4
        elif [ "$Weekly" = "thu" -o "$Weekly" = "thursday" ]; then dx=3
        elif [ "$Weekly" = "fri" -o "$Weekly" = "friday" ]; then dx=2
        elif [ "$Weekly" = "sat" -o "$Weekly" = "saturday" ]; then dx=1; fi

	i=0
        for a in `echo $loop_dat`
        do
                mx=`echo "$a" | awk -F- '{print $2}'`
                yx="$ey"
                dates=`cal $mx $yx | head -9 | sed -n "3,10"p`
                fday=`cal $mx $yx | head -9 | sed -n "3,10"p | awk '{print NF}' | head -1`

                for x in `echo $dates`
                do
                        if [ "$x" -ge "1" ]
                        then
                                ndates[$i]=$x
                                i=`expr $i + 1`
                        fi
                done

                if [ "$fday" -eq "$dx" ]; then ptr=0
                elif [ "$fday" -lt "$dx" ]
                then
                        diff1=`expr $dx - $fday`; diff2=`expr 7 - $diff1`; ptr=$diff2
                elif [ "$fday" -gt "$dx" ]; then ptr=`expr $fday - $dx`; fi


                if [ "$Weekly_d" -eq "0" -o "$Weekly_d" -eq "1" ]
                then
                        if [ "${ndates[$ptr]}" -le "9" ]; then dnum="0${ndates[$ptr]}"; else dnum="${ndates[$ptr]}"; fi
                        echo "$yx$dash$mx$dash$dnum" >> $TMP_PATH/weekly.tmp
                fi
                ptr=`expr $ptr + 7`

                if [ "$Weekly_d" -eq "0" -o "$Weekly_d" -eq "2" ]
                then
                        if [ "${ndates[$ptr]}" -le "9" ]; then dnum="0${ndates[$ptr]}"; else dnum="${ndates[$ptr]}"; fi
                        echo "$yx$dash$mx$dash$dnum" >> $TMP_PATH/weekly.tmp
                fi
                ptr=`expr $ptr + 7`


                if [ "$Weekly_d" -eq "0" -o "$Weekly_d" -eq "3" ]
                then
                        echo "$yx$dash$mx$dash${ndates[$ptr]}" >> $TMP_PATH/weekly.tmp
                fi
                ptr=`expr $ptr + 7`

                if [ "$Weekly_d" -eq "0" -o "$Weekly_d" -eq "4" ]
                then
                        echo "$yx$dash$mx$dash${ndates[$ptr]}" >> $TMP_PATH/weekly.tmp
                fi
                ptr=`expr $ptr + 7`

                if [ "$Weekly_d" -eq "0" -o "$Weekly_d" -ge "4" ]
                then
                        if [ "$mx" -ne "02" -a "${ndates[$ptr]}" -gt "24" ]; then echo "$yx$dash$mx$dash${ndates[$ptr]}" >> $TMP_PATH/weekly.tmp; fi
                fi
        done
}


destination_tapeclient_chk()
{

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled destination_tapeclient_chk()"; set -x 
	fi
	rm $TMP_PATH/destination.tmp >/dev/null 2>&1
	rm $TMP_PATH/tapeclient.tmp >/dev/null 2>&1
	rm $TMP_PATH/tapebu.tmp >/dev/null 2>&1
	for x in `echo "$Siteid"`
	do
		if [ "$clientx" -eq "1" ]
		then
			grep -w "^$x" $CFG | grep "$Client_" | awk -F, '{print $10}' > $TMP_PATH/destination.tmp
			grep -w "^$x" $CFG | grep "$Client_" | awk -F, '{print $8}' > $TMP_PATH/tapeclient.tmp
			grep -w "^$x" $CFG | grep "$Client_" | awk -F, '{print $11}' > $TMP_PATH/tapebu.tmp
			grep -w "^$x" $CFG | grep "$Client_" | awk -F, '{print $9}' > $TMP_PATH/wolist.tmp
 			grep -w "^$x" $CFG | grep "$Client_" | awk -F, '{print $12}' > $TMP_PATH/pool.tmp
 			grep -w "^$x" $CFG | grep "$Client_" | awk -F, '{print $13}' > $TMP_PATH/eoypool.tmp
 			grep -w "^$x" $CFG | grep "$Client_" | awk -F, '{print $14}' > $TMP_PATH/group.tmp
 			grep -w "^$x" $CFG | grep "$Client_" | awk -F, '{print $15}' > $TMP_PATH/ss.tmp
		else
			grep "^$x," $CFG | awk -F, '{print $10}'  >> $TMP_PATH/destination.tmp
			grep "^$x," $CFG | awk -F, '{print $8}' >> $TMP_PATH/tapeclient.tmp
			grep "^$x," $CFG | awk -F, '{print $11}' >> $TMP_PATH/tapebu.tmp
			grep "^$x," $CFG | awk -F, '{print $9}' > $TMP_PATH/wolist.tmp
 			grep "^$x," $CFG | awk -F, '{print $12}' > $TMP_PATH/pool.tmp
 			grep "^$x," $CFG | awk -F, '{print $13}' > $TMP_PATH/eoypool.tmp
 			grep "^$x," $CFG | awk -F, '{print $14}' > $TMP_PATH/group.tmp
 			grep "^$x," $CFG | awk -F, '{print $15}' > $TMP_PATH/ss.tmp
		fi
	done


 	if [ "$BACKUPPRODUCT" = "avamar" -o "$BACKUPPRODUCT" = "networker" -o "$BACKUPPRODUCT" = "networker_save" -o "$BACKUPPRODUCT" = "networker_adv1" -o "$BACKUPPRODUCT" = "networker_adv2" -o "$BACKUPPRODUCT" = "netbackup" -o "$BACKUPPRODUCT" = "netvault" -o "$BACKUPPRODUCT" = "hpdp" -o "$BACKUPPRODUCT" = "HPDP" -o "$BACKUPPRODUCT" = "TSM" -o "$BACKUPPRODUCT" = "tsm" -o "$BACKUPPRODUCT" = "backupexec" -o "$BACKUPPRODUCT" = "backupexec2012" -o "$BACKUPPRODUCT" = "brightstore" -o "$BACKUPPRODUCT" = "arcserv" -o "$BACKUPPRODUCT" = "commvault" -o "$BACKUPPRODUCT" = "Cloud-GW" -o "$BACKUPPRODUCT" = "ppdm" ]
	then

		if [ "$(echo "$ENDOFYEAR" | grep -c ",")" -eq "0" ];then ENDOFYEAR_="$ENDOFYEAR"; else ENDOFYEAR_="$(echo "$ENDOFYEAR" | sed -n "s/,/\|/"gp)"; fi
		if [ "$ENDOFYEAR_" -eq "0" ]
                then
			Pool=`tail -1 $TMP_PATH/pool.tmp | awk -F, '{print $1}'`
		elif [ "$(echo "$(date +'%m')" | egrep -c "$ENDOFYEAR_")" -eq "1" ]
		then
			Pool=`tail -1 $TMP_PATH/eoypool.tmp | awk -F, '{print $1}'`
			echo "ENDOFYEAR: Yearly export condition has been met for month(s) [$ENDOFYEAR]" | tee -a $LOG
		else
			Pool=`tail -1 $TMP_PATH/pool.tmp | awk -F, '{print $1}'`
		fi
	fi

	sort -u $TMP_PATH/ss.tmp > $TMP_PATH/ss.srt
	if [ `wc -l $TMP_PATH/ss.srt | awk '{print $1}'` -gt "1" ]
	then
		echo "$ERRORX-01E: Selected Group-ID's have different Staging Server types specified in Fld-15 - Not-Ok$DEF" | tee -a $LOG
		cat $TMP_PATH/ss.srt | tee -a $LOG
		ssrv=1
	else
		Ssrv=`awk '{print $1}' $TMP_PATH/ss.srt | tail -1`
		if [ "$Debug" -gt "1" ]; then echo "INFO-07E: Selected Group-ID shares a common Staging Server type in FLd-15 - Ok" | tee -a $LOG; fi
		ssrv=0
	fi

	Wolist=`tail -1 $TMP_PATH/wolist.tmp`
	sort -u $TMP_PATH/destination.tmp > $TMP_PATH/destination.srt
	if [ "$Ssrv" = "LINUX" -a `wc -l $TMP_PATH/destination.srt | awk '{print $1}'` -gt "1" ]
	then
 		echo "$ERRORX-01A: Selected Group-ID's have different destination directories specified in Fld-10 - Not-Ok$DEF" | tee -a $LOG
		cat $TMP_PATH/destination.srt | tee -a $LOG
		desterr=1
	elif [ "$Ssrv" = "WINDOWS" -o "$Ssrv" = "UNIX" ]
	then
		for x in `cat $TMP_PATH/destination.tmp`
		do
			if [ "$x" = "INPLACE" ];then break; fi
			stat=`echo $x | cut -b 1-2`
			if [ "$stat" = "//" -a "$Ssrv" != "UNIX" ]
			then
 				echo "$INFO-01F: Selected Group-ID have a UNC destination path specified$DEF" | tee -a $LOG
				continue
			fi

			stat=`echo $x | cut -b 1`
			if [ "$stat" = "/" -a "$Ssrv" != "UNIX" -o "$stat" != "/" -a "$Ssrv" = "UNIX" ]
			then
 				echo "$ERRORX-01F: Selected Group-ID has an incompatible destination directory specified in Fld-10 - Not-Ok$DEF" | tee -a $LOG
				desterr=1; break
			fi
		done
	else
		desterr=0
	 	if [ "$Debug" -gt "1" ]; then echo "INFO-07A: Selected Group-ID's have valid destination staging directories specified in Fld-10 - Ok" | tee -a $LOG; fi
	fi

	sort -u $TMP_PATH/tapebu.tmp > $TMP_PATH/tapebu.srt
	if [ `wc -l $TMP_PATH/tapebu.srt | awk '{print $1}'` -gt "1" ]
	then
		echo "$ERRORX-01C: Selected Group-ID's have different Export-BU scripts specified in Fld-11 - Not-Ok$DEF" | tee -a $LOG
		cat $TMP_PATH/tapebu.srt | tee -a $LOG
		tapebu=1
	else
		Tapebu=`awk '{print $1}' $TMP_PATH/tapebu.srt | tail -1`
		if [ "$Debug" -gt "1" ]; then echo "INFO-07C: Selected Group-ID shares a common Export-BU script in Fld-11 - Ok" | tee -a $LOG; fi
		tapebu=0
	fi

	sort -u $TMP_PATH/group.tmp > $TMP_PATH/group.srt
	if [ `wc -l $TMP_PATH/group.srt | awk '{print $1}'` -gt "1" ]
	then
		echo "$ERRORX-01D: Clients in selected Group-id-ID have different export policies specified in Fld-14 - Not-Ok$DEF" | tee -a $LOG
		cat $TMP_PATH/group.srt | tee -a $LOG
		group=1
	else
		Group=`tail -1 $TMP_PATH/group.srt`
		if [ "$Debug" -gt "1" ]; then echo "INFO-07D: Selected Group-ID's shares a common export policy specified in FLd-14 - Ok" | tee -a $LOG; fi
		group=0
	fi

	sort -u $TMP_PATH/pool.tmp > $TMP_PATH/pool.srt
	if [ `wc -l $TMP_PATH/pool.srt | awk '{print $1}'` -gt "1" ]
	then
		echo "$ERRORX-01E: Clients in selected Group-ID have different export policies specified in Fld-12 - Not-Ok$DEF" | tee -a $LOG
		cat $TMP_PATH/pool.srt | tee -a $LOG
		pool=1
	else
		if [ "$Debug" -gt "1" ]; then echo "INFO-07E: Selected Group-ID shares a common export policy Fld-12 - Ok" | tee -a $LOG; fi
		pool=0
	fi

	sort -u $TMP_PATH/eoypool.tmp > $TMP_PATH/eoypool.srt
	if [ `wc -l $TMP_PATH/eoypool.srt | awk '{print $1}'` -gt "1" ]
	then
		echo "$ERRORX-01F: Clients in selected Group-ID have different EOY export policies specified in Fld-13  - Not-Ok$DEF" | tee -a $LOG
		cat $TMP_PATH/eoypool.srt | tee -a $LOG
		eoypool=1
	else
		if [ "$Debug" -gt "1" ]; then echo "INFO-07F: Selected Group-ID shares a common EOY export policy specified in Fld-13 - Ok" | tee -a $LOG; fi
		eoypool=0
	fi

	if [ "$desterr" -eq "1" -o "$tapecli" -eq "1" -o "$tapebu" -eq "1" -o "$group" -eq "1" -o "$ssrv" -eq "1"  -o "$pool" -eq "1"  -o "$eoypool" -eq "1" ]
	then
		return 1
	else
		if [ "$CDPurge" -ne "1" ]
		then
			echo "INFO-07:  Configuration check succeeded" | tee -a $LOG	
		else
			echo "INFO-07:  Configuration check succeeded" >> $LOG
		fi
		return 0
	fi 
}

postexport_script()
{

	PXLOG="$UNIXINSTALLPATH/etc/scripts/postexport$Cfg.stat"; PXLOG_W="$WININSTALLPATH/etc/scripts/postexport$Cfg.stat"
	stagingpathx="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $10}')"
	stgos="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $15}')"

	if [ "$stgos" = "WINDOWS" ]
	then 
		upstdrivex="$(echo "$Upst" | awk -F- '{print $2}')"
 		stgdrvx="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $10}' | cut -b 1-1)"
		if [ "$upstdrivex" = "C" -o "$upstdrivex" = "c" -o "$upstdrivex" = "D" -o "$upstdrivex" = "d" ]
		then
			echo "$ERRORX-11G: FORMAT COMMAND WAS SKIPPED as drive letters C or D are not supported [$WHITE_FG Drv-$upstdrivex $DEF]"
			return 1
		elif [ "$upstdrivex" != "$stgdrvx" ]
		then
			echo "$ERRORX-11H: FORMAT COMMAND WAS SKIPPED drive letter Drv-$upstdrivex does not match staging drive Drv-$stgdrvx" 
			return 1
		else
			echo "\nINFO-09F: Staging path aligns with -upst call $stagingpathx $Upst, staged data will be deleted via Post-ExportDeletion script"
		fi
	fi
	
	echo -E "echo ====== START: POST-EXPORT-DELETION-SCRIPT ====== > $PXLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/postexport$Cfg.bat
	echo -E "echo CMD: format  $upstdrivex: /Y /Q >> $PXLOG_W 2>&1" >> $TMP_PATH/postexport$Cfg.bat
	echo -E "format $upstdrivex: /Y /Q >> $PXLOG_W 2>&1" >> $TMP_PATH/postexport$Cfg.bat
	echo -E "echo ====== END: POST-EXPORT-DELETION-SCRIPT RC=%ERRORLEVEL% ====== >> $PXLOG_W 2>&1" | sed -n "s/\//\\\/"gp  >> $TMP_PATH/postexport$Cfg.bat
      	echo -E "$WININSTALLPATH\bin\avtar -c --acnt=$snapupoutput --freezemethod=none --nocache $AVTAR_expire --label=postexport$Cfg.stat $TAPE_credential $Use_DD $WININSTALLPATH\etc\scripts\postexport$Cfg.stat" | sed -n "s/\//\\\/"gp >> $TMP_PATH/postexport$Cfg.bat

	echo "#!/bin/ksh" > $TMP_PATH/postexport$Cfg.sh
	echo "echo \"\\n====== START: POST-EXPORT-DELETION-SCRIPT \$(/bin/date +\"%Y-%m-%d %H:%M:%S\") =====\" > $PXLOG 2>&1" >> $TMP_PATH/postexport$Cfg.sh

	groupfolder="$(echo "$stagingpathx" | awk -F/ '{print $NF}')"
	pathfolder="$(echo "$stagingpathx" | sed -n "s/$groupfolder//"gp)"
	deletefolder="admedelete_$groupfolder"
	echo "echo \"CMD1: /bin/mv $pathfolder$groupfolder $pathfolder$deletefolder\" >> $PXLOG 2>&1" >> $TMP_PATH/postexport$Cfg.sh
	echo "echo \"CMD2: /bin/rm -rf $pathfolder$deletefolder\" >> $PXLOG 2>&1" >> $TMP_PATH/postexport$Cfg.sh
	echo "/bin/mv $pathfolder$groupfolder $pathfolder$deletefolder" >> $TMP_PATH/postexport$Cfg.sh 
	echo "/bin/rm -rf $pathfolder$deletefolder" >> $TMP_PATH/postexport$Cfg.sh 

	echo "echo \"====== END: POST-EXPORT-DELETION-SCRIPT RC=\$? \$(/bin/date +\"%Y-%m-%d %H:%M:%S\") =====\" >> $PXLOG 2>&1" >> $TMP_PATH/postexport$Cfg.sh
       	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$snapupoutput --freezemethod=none $AVTAR_expire $Quiet --label=postexport$Cfg.stat $TAPE_credential $Use_DD $UNIXINSTALLPATH/etc/scripts/postexport$Cfg.stat" >> $TMP_PATH/postexport$Cfg.sh
	chmod 770 $TMP_PATH/postexport$Cfg.sh

	loop_cnt_=0
	loop_cnt=3; sleep_time=10
	while true
	do
		if [ "$stgos" = "WINDOWS" ]
		then
			stgsrvx="$(grep "^WINDOWSS=" $ENVCFG | head -1 | awk -F= '{print $2}')"
			stgsrvname="$(echo "$stgsrvx" | awk -F/ '{print $NF}')"
			domname="$(echo "$stgsrvx" | sed -n "s/$stgsrvname//"gp)"
			scriptdir="$(grep "^WININSTALLPATH=" $ENVCFG | head -1 | awk -F= '{print $2"/etc/scripts"}')"
			ptype="3001"; pxscript="postexport$Cfg.bat"
			postexportscript="postexport$Cfg.bat"
		else
			stgsrvx="$(grep "^UNIXSS=" $ENVCFG | head -1 | awk -F= '{print $2}')"
			stgsrvname="$(echo "$stgsrvx" | awk -F/ '{print $NF}')"
			domname="$(echo "$stgsrvx" | sed -n "s/$stgsrvname//"gp)"
			scriptdir="$(grep "^UNIXINSTALLPATH=" $ENVCFG | head -1 | awk -F= '{print $2"/etc/scripts"}')"
			ptype="1001"; pxscript="postexport$Cfg.sh"
			postexportscript="postexport$Cfg.sh"
		fi

		loop_cnt_="$(expr $loop_cnt_ + 1)"
		sleep_time=15
  		$HOMEPATH/avtar -c --nocache --acnt=$snapupoutput --label=$pxscript $AVTAR_expire $Quiet $AVTAR_credential $Use_DD $TMP_PATH/$pxscript > /dev/null 2>&1
		avtar_stat="$?"
		if [ $avtar_stat -ne 0 ]
		then
			if [ "$loop_cnt_" -gt "$loop_cnt" ]
			then 
				echo "$ERRORX-08D: Backup of Post-Export script failed [$WHITE_FG$TMP_PATH/$pxscript RC=$WHITE_FG$avtar_stat$RED_FG] $DEF" | tee -a $LOG
				echo "INFO-11: Exiting Script ...."  | tee -a $LOG
				if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
				mail_rtn
				exit 1
			else
				readonly_rtn 5
				echo "$ERRORX-08E: Backup of Post-Export script failed, trying again [$WHITE_FG Loop-Cnt=$loop_cnt_ of $loop_cnt $CYAN_FG][$WHITE_FG RC=$avtar_stat$RED_FG] $DEF" | tee -a $LOG
				echo "Sleeping for $sleep_time seconds..."
				sleep $sleep_time
				continue
			fi
		else
			break
		fi
	done

	buid="$($HOMEPATH/avtar --backups --acnt=$snapupoutput $AVTAR_credential $Quiet | head -3 | tail -1 | awk '{print $3}')"
   	cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$TMP_PATH/$pxscript --dest-client-name=$stgsrvname --dest-client-domain=$domname --dest-dir=$scriptdir --labelNum=$buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end=$pxscript --plugin=$ptype --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT $M$CCLI_avflags"
	$cmd_build > $TMP_PATH/.activityid 2>&1
	activityid="$(cat $TMP_PATH/.activityid | grep "activity-id" | head -1 | awk '{print $2}')"

	timelimit=180; timedelay=30; timer=0
        activityidxstatus="$($HOMEPATH/mccli activity show $MCS_credential --active=true | grep "$activityid" | grep "$stgsrvname" | head -1 | awk '{print $2}')"
	while true
	do
        	activityidxstatus="$($HOMEPATH/mccli activity show $MCS_credential --active=true | grep "$activityid" | grep "$stgsrvname" | head -1 | awk '{print $2}')"
		if [ "$activityidxstatus" = "Restore" ]
		then
			sleep $timedelay
			timer="$(expr $timeer + $timedelay)"
			if [ "$timer" -gt "600" ];then timedelay=300; fi
			if [ "$timer" -gt "300" ];then timedelay=120; fi
			if [ "$timer" -gt "65" ];then timedelay=60; fi
			echo "\nINFO-09G: Current Post-Export-Deletion-Status:[$activityidxstatus] on Staging-Server:[$stgsrvname] Elapsed-Retry-Time:[$timer]"
		elif [ "$activityidxstatus" != "Restore" ]
		then
        		activityidxstatus="$($HOMEPATH/mccli activity show $MCS_credential --active=false | grep "$activityid" | grep "$stgsrvname" | head -1 | awk '{print $2}')"
			sleep 10
			postscrloop=0; sleeptime=30; looplimit=60
			while true
			do
				buid="$($HOMEPATH/avtar --backups --acnt=$snapupoutput $AVTAR_credential $Quiet | grep "postexport$Cfg.stat" | head -1 | awk '{print $3}')"
				if [ "$buid" -eq "" ];then sleep $sleeptime; else break; fi
				postscrloop="$(expr $postscrloop + 1)"
				if [ "$postscrloop" -gt "$looplimit" ];then break ;fi
			done

			if [ "$buid" -ne "" ]
			then
 				$HOMEPATH/avtar -x --acnt=$snapupoutput --labelnum=$buid --overwrite=always $AVTAR_credential $Quiet --target=$TMP_PATH $scriptdir/postexport$Cfg.stat > /dev/null 2>&1
				if [ -s $TMP_PATH/postexport$Cfg.stat ]
				then 
					cat $TMP_PATH/postexport$Cfg.stat | tee -a $LOG
					if [ "$(grep -c "CMD: format " $TMP_PATH/postexport$Cfg.stat)" -eq "1" ]
					then 
						if [ "$(grep -c "POST-EXPORT-DELETION-SCRIPT RC=0" $TMP_PATH/postexport$Cfg.stat)" -ne "1" ]
						then 
							echo "$ERRORX-09I: Windows reported a non-zero RC against the quick format call used to erase the staged data, manually verify the drive letter involved" | tee -a $LOG
							break
						fi
					fi
				fi
				break
			else
				echo "$RED_BG$WHITE_FG WARNING-11J:$DEF Unable to parse postexport$Cfg.stat file, manually confirm if data was deleted from staging disk LoopCnt=[$postscrloop]$DEF"
				break
			fi
		fi
	done
	
	mv $TMP_PATH/postexport$Cfg.bat $TMP_PATH/.postexport$Cfg.tab >/dev/null 2>&1
	mv $TMP_PATH/postexport$Cfg.sh $TMP_PATH/.postexport$Cfg.sh >/dev/null 2>&1
	mv $TMP_PATH/postexport$Cfg.stat $TMP_PATH/.postexport$Cfg.stat >/dev/null 2>&1
}

common_tape_script1()
{	
	if [ "$Cfg" -eq "1" ];then Cfg=""; fi	
	TAPE_credential_="$(echo "$TAPE_credential" | sed -n "s/@\//adamk12/"gp)"
	if [ "$Servertape" -eq "1" ]
	then
		CLOG="$TAVAINSTALLPATH/etc/scripts/autotapeout$Cfg.stat"; LOG_W="$TAVAINSTALLPATH/etc/scripts/autotapeout$Cfg.stat"
	else
		CLOG="$UNIXINSTALLPATH/etc/scripts/autotapeout$Cfg.stat"; CLOG_W="$WININSTALLPATH/etc/scripts/autotapeout$Cfg.stat"
	fi

	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	newlog="echo \"$BACKUPPRODUCT Script-Created: $builddate\" > $CLOG 2>&1"
	newlog_w="echo $BACKUPPRODUCT Script-Created: $builddate > $CLOG_W 2>&1"

	echo "#!/bin/ksh" > $TMP_PATH/autotapeout$Cfg.sh
#	echo "#!/bin/bash" > $TMP_PATH/autotapeout$Cfg.sh
	echo "$newlog" >> $TMP_PATH/autotapeout$Cfg.sh
	echo "$newlog_w" | sed -n "s/\//\\\/"gp  > $TMP_PATH/autotapeout$Cfg.bat

	if [ "$Upre" != "" -a "$Servertape" -eq "0" ]
	then
		echo -E "echo \"USER PRE SCRIPT CALL:\" >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/autotapeout$Cfg.bat
		echo -E "call $WININSTALLPATH/etc/scripts/$Upre >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/autotapeout$Cfg.bat
		echo -E "echo USER_PRE_SCRIPT RC=%ERRORLEVEL% >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp  >> $TMP_PATH/autotapeout$Cfg.bat

		echo "echo \"USER PRE SCRIPT CALL:\" >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
		echo "$UNIXINSTALLPATH/etc/scripts/$Upre >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
		echo "echo \"USER_PRE_SCRIPT RC=\$?\" >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
	fi

	if [ "$BACKUPPRODUCT" = "backupexec" -a "$Srvinit" -eq "0" -a "$Buexec_cli" -eq "0" ]
        then
		echo -E "move $WININSTALLPATH/etc/scripts/buexec.txt $WININSTALLPATH/etc/scripts/buexec.old" | sed -n "s/\//\\\/"gp  >> $TMP_PATH/autotapeout$Cfg.bat
      		$HOMEPATH/avtar -c --nocache --acnt=$snapupoutput --freezemethod=none --label=buexec.txt $AVTAR_expire $AVTAR_credential $Use_DD $Quiet $TMP_PATH/buexec.txt >/dev/null 2>&1
		buexecid=`$HOMEPATH/avtar --backups --acnt=$snapupoutput $AVTAR_credential $Quiet | grep "buexec.txt" | head -1 | awk '{print $3}'`

		echo -E "mv $UNIXINSTALLPATH/etc/scripts/buexec.txt $UNIXINSTALLPATH/etc/scripts/buexec.old" >> $TMP_PATH/autotapeout$Cfg.sh
    		echo -E "$UNIXINSTALLPATH/bin/avtar -x --labelnum=$buexecid $Quiet --acnt=$snapupoutput $TAPE_credential --target=$UNIXINSTALLPATH/etc/scripts --force $TMP_PATH/buexec.txt >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
	elif [ "$BACKUPPRODUCT" = "backupexec2012" -a "$Srvinit" -eq "0" ]
	then

		set -
	fi
	if [ "$BACKUPPRODUCT" = "commvault" ]
	then
  		if [ "$Save_cvp" != "" ]; then echo -E "echo \"CMD: $Save_cvp" | sed -n "s/>>/\" >>/"p >> $TMP_PATH/autotapeout$Cfg.sh; fi
  		if [ "$Save" != "" ]; then echo -E "echo \"CMD: $Save\" >> $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh; fi
  		echo "$Save_cvp" >> $TMP_PATH/autotapeout$Cfg.sh
    		echo "CVjobid=\$($Save)" >> $TMP_PATH/autotapeout$Cfg.sh
  		echo "echo \"DEBUG: CVjobid=\$CVjobid\"" >> $TMP_PATH/autotapeout$Cfg.sh
 		echo "timer=60; runflag=0; Completion=1" >> $TMP_PATH/autotapeout$Cfg.sh
   		echo "while true" >> $TMP_PATH/autotapeout$Cfg.sh
  		echo "do" >> $TMP_PATH/autotapeout$Cfg.sh
  		echo "if [ \"\$CVjobid\" -eq \"\" ]" >> $TMP_PATH/autotapeout$Cfg.sh
  		echo "then" >> $TMP_PATH/autotapeout$Cfg.sh
  		echo "echo \"NULLCHK: CVjobid=\$CVjobid Unexpected NULL jobid encountered during CV-BU initiation TAPE_BACKUP_NOTOK=1\" >> $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
 		echo "Completion=1" >> $TMP_PATH/autotapeout$Cfg.sh
  		echo "break" >> $TMP_PATH/autotapeout$Cfg.sh
  		echo "else" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "cvinfo=\"\$($BACKUPPRODUCTHOMEUNIX/qlist job -j \$CVjobid | grep \"\$CVjobid\" | tail -1 | awk '{print \$1,\$2,\$3,\$4}')\"" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "cvbuoper=\"\$(echo \"\$cvinfo\" | awk '{print \$2}')\"" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "cvbustatus=\"\$(echo \"\$cvinfo\" | awk '{print \$3}')\"" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "if [ \"\$cvbustatus\" = \"Running\" ]" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "then" >> $TMP_PATH/autotapeout$Cfg.sh
 		echo "if [ \"\$runflag\" -eq \"0\" ]" >> $TMP_PATH/autotapeout$Cfg.sh
 		echo "then" >> $TMP_PATH/autotapeout$Cfg.sh
 		echo "runflag=1" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "echo \"Running: CVstatus=\$cvbustatus Sleeping=\$timer\" >> $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
 		echo "else" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "echo \"CVstatus=\$cvbustatus Sleeping=\$timer\"" >> $TMP_PATH/autotapeout$Cfg.sh
 		echo "fi" >> $TMP_PATH/autotapeout$Cfg.sh
  	 	echo "sleep \$timer" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "elif [ \"\$cvbustatus\" = \"Waiting\" ]" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "then" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "echo \"Waiting: CVbstatus=\$cvbustatus Sleeping=\$timer\" >> $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
	 	echo "sleep \$timer" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "elif [ \"\$cvbustatus\" = \"Completed\" ]" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "then" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "echo \"Completed: CVstatus=\$cvbustatus TAPE_BACKUP_OK=0\" >> $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
		echo "Completion=0" >> $TMP_PATH/autotapeout$Cfg.sh
	 	echo "break" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "else" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "echo \"Unknown: CVstatus=\$cvinfo Unexpected condition TAPE_BACKUP_NOTOK=1\" >> $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
		echo "Completion=1" >> $TMP_PATH/autotapeout$Cfg.sh
	 	echo "break" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "fi" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "fi" >> $TMP_PATH/autotapeout$Cfg.sh
                echo "done" >> $TMP_PATH/autotapeout$Cfg.sh
	else
  		if [ "$Save" != "" ]; then echo -E "echo \"CMD: $Save_CMD" | sed -n "s/>>/\" >>/"p >> $TMP_PATH/autotapeout$Cfg.sh; fi
		echo "$Save" >> $TMP_PATH/autotapeout$Cfg.sh
	fi


	if [ "$BACKUPPRODUCT" = "networker" -a "$Srvinit" -eq "0" ]
	then
		if [ -f $TMP_PATH/networker_win.tmp ];then cat $TMP_PATH/networker_win.tmp >> $TMP_PATH/autotapeout$Cfg.bat; fi
	else
		if [ "$BACKUPPRODUCT" = "backupexec" -a "$Srvinit" -eq "0" -a "$Buexec_cli" -eq "0" ]
                then
			cp $TMP_PATH/buexec.tmp $TMP_PATH/.buexec.txt >/dev/null 2>&1
    			echo -E "$WININSTALLPATH\bin\avtar -x --labelnum=$buexecid $Quiet --acnt=$snapupoutput $TAPE_credential_ --target=$WININSTALLPATH/etc/scripts --force $TMP_PATH/buexec.txt >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp | sed -n "s/adamk12/@\//"gp >> $TMP_PATH/autotapeout$Cfg.bat
			pass=0
		elif [ "$BACKUPPRODUCT" = "backupexec2012" ]
		then
			$HOMEPATH/avtar -c --nocache --acnt=$snapupoutput --label=buex2012.ps1 $AVTAR_expire $AVTAR_credential $Quiet $Use_DD $BULOCATION/buex2012.ps1 >/dev/null 2>&1
##			buexecid=`$HOMEPATH/avtar --backups --acnt=$snapupoutput --hfsaddr=$AVAMAR_UTILNODE_NAME --id=$AVA_user --password=$AVA_password $Quiet | grep "buex2012.ps1" | head -1 | awk '{print $3}'`
			buexecid=`$HOMEPATH/avtar --backups --acnt=$snapupoutput $AVTAR_credential $Quiet | grep "buex2012.ps1" | head -1 | awk '{print $3}'`
    			echo -E "$WININSTALLPATH\bin\avtar -x --labelnum=$buexecid $Quiet --acnt=$snapupoutput $TAPE_credential_ --target=$WININSTALLPATH/etc/scripts --force $BULOCATION/buex2012.ps1 >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp | sed -n "s/adamk12/@\//"gp >> $TMP_PATH/autotapeout$Cfg.bat
		fi
		if [ "$BACKUPPRODUCT" = "commvault" ]
		then
			echo -E "echo CMD\: $Save_wcvp" | sed -n "s/\\\/\//"gp >> $TMP_PATH/autotapeout$Cfg.bat
			echo -E "  >>echo CMD\: $Save_w" | sed -n "s/\\\/\//"gp >> $TMP_PATH/autotapeout$Cfg.bat
			echo -E "$Save_wcvp" | sed -n "s/\//\\\/"gp >> $TMP_PATH/autotapeout$Cfg.bat
 			echo -E "$Save_w" | sed -n "s/\//\\\/"gp >> $TMP_PATH/autotapeout$Cfg.bat
		else
			if [ -s $BULOCATION/customize/tape_custom.txt ]
			then
				echo -E "echo CMD\: $Save_w" >> $TMP_PATH/autotapeout$Cfg.bat
 				echo -E "$Save_w" >> $TMP_PATH/autotapeout$Cfg.bat
			else
				if [ "$(grep -c "^AVAMIGRATE=" $ENVCFG)" -eq "1" ]
                                then
                                        echo -E "echo CMD\: $Save_w" >> $TMP_PATH/autotapeout$Cfg.bat
                                else
					cat $TMP_PATH/networker_win.tmp >> $TMP_PATH/autotapeout$Cfg.bat 2>/dev/null
                                        echo -E "echo CMD\: $Save_w" | sed -n "s/\\\/\//"gp >> $TMP_PATH/autotapeout$Cfg.bat
                                fi
#				echo -E "echo CMD\: $Save_w" | sed -n "s/\\\/\//"gp >> $TMP_PATH/autotapeout$Cfg.bat
				if [ "$(echo "$Save_w" | grep -c "+")" -ne "0" ]
				then
 					echo -E "$Save_w" | sed -n "s/\//\\\/"gp | sed -n "s/+/\//"gp >> $TMP_PATH/autotapeout$Cfg.bat
				else
 					echo -E "$Save_w" | sed -n "s/\//\\\/"gp >> $TMP_PATH/autotapeout$Cfg.bat
				fi
			fi
		fi

		if [ "$BACKUPPRODUCT" =  "backupexec" -o "$BACKUPPRODUCT" = "backupexec2012" ]
		then
			echo "if ERRORLEVEL 2 GOTO NOTOK" >> $TMP_PATH/autotapeout$Cfg.bat
			echo "if ERRORLEVEL 1 GOTO OK" >> $TMP_PATH/autotapeout$Cfg.bat
		else
			echo "if ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/autotapeout$Cfg.bat
		fi
	fi

	if [ "$BACKUPPRODUCT" = "backupexec" -o "$BACKUPPRODUCT" = "backupexec2012" ]
        then
		echo "if NOT ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/autotapeout$Cfg.bat
	else
		echo "if ERRORLEVEL 0 GOTO OK" >> $TMP_PATH/autotapeout$Cfg.bat
		echo "if ERRORLEVEL -1 GOTO NOTOK" >> $TMP_PATH/autotapeout$Cfg.bat
	fi
	echo ":OK" >> $TMP_PATH/autotapeout$Cfg.bat

	echo -E "echo TAPE_BACKUP_OK RC=%ERRORLEVEL% >> $CLOG_W" | sed -n "s/\//\\\/"gp  >> $TMP_PATH/autotapeout$Cfg.bat

	if [ "$BACKUPPRODUCT" = "avamar" ]
	then
		if [ "$(grep -c "^AVAMIGRATE=" $ENVCFG)" -eq "1" ]
		then
			uid="$(grep "^AVAMIGRATE=" $ENVCFG | tail -1 | awk -F= '{print $2}' | awk '{print $1}')"
			pwid="$(grep "^AVAMIGRATE=" $ENVCFG | tail -1 | awk -F= '{print $2}' | awk '{print $2}')"
		fi
		after_date="$(date +'%Y-%m-%d')"
		echo "echo =========================================== >> $CLOG_W" >> $TMP_PATH/autotapeout$Cfg.bat
		echo "$BACKUPPRODUCTHOMEWIN/avtar.exe --backups --hfsaddr=$BUSERVER_NAME --quiet $AVAmigrate --after=$after_date --id=$uid --password=$pwid >> $CLOG_W" >> $TMP_PATH/autotapeout$Cfg.bat
		echo "echo =========================================== >> $CLOG_W" >> $TMP_PATH/autotapeout$Cfg.bat
	fi
	if [ "$BACKUPPRODUCT" = "ppdm" ]
	then
		echo "echo =========================================== >> $CLOG_W" >> $TMP_PATH/autotapeout$Cfg.bat
		echo "$BACKUPPRODUCTHOMEWIN/ddfsadmin backup query -local -t=2h >> $CLOG_W" >> $TMP_PATH/autotapeout$Cfg.bat
		echo "echo =========================================== >> $CLOG_W" >> $TMP_PATH/autotapeout$Cfg.bat
	fi

	for line in `awk '{print $1","$2}' $TMP_PATH/incdel.tmp`
	do
		d=`echo "$line" | awk -F, '{print $1}'`
		clx=`echo -E "$d" | awk -F/ '{print $NF}'`
		spx=`echo -E "$d" | awk '{print $1}' | sed -n "s/\/$Mode1Path\/$clx//"p`
		del=`echo -E "$line" | awk -F, '{print $2}'`
		if [ `grep -c "$clx,$spx" $Atositeid` -eq "0" ]; then continue; fi
		if [ "$del" = "INCDEL" -o "$Mode1" -ne "1" ]
		then
 			if [ `echo $d | grep -c "/"` -gt "0" ]
 			then
 				d_=`echo "$d" | sed -n "s/\//\\\\\\/"gp`
				d="$d_"
 			fi
 			if [ "$Upst" = "" -a "$BACKUPPRODUCT" != "commvault" ];then echo -E "rmdir /S /Q $d" >> $TMP_PATH/autotapeout$Cfg.bat; fi

		fi
	done

	if [ "$Servertape" -eq "1" ]	
	then
		backupservername="$(grep "^BUSERVER_NAME=" $ENVCFG | head -1 | awk -F= '{print $2}')"
		stagingos="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $15}')"
		if [ "$stagingos" = "WINDOWS" ];then stagingservername="$(grep "^WINDOWSS=" $ENVCFG | head -1 | awk -F= '{print $2}' | awk -F/ '{print $NF}')"
		else stagingservername="$(grep "^UNIXSS=" $ENVCFG | head -1 | awk -F= '{print $2}' | awk -F/ '{print $NF}')"; fi
		if [ "$(echo "^$stagingservername" | grep -c "$backupservername")" -ne "0" ];then enabledelete="1"; else enabledelete="0"; fi
	else
		enabledelete="1"
	fi

	if [ "$Upst" != "" -a "$enabledelete" -eq "1" ]
	then
		echo "echo === USER_POST_SCRIPT CALL: =========== >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/autotapeout$Cfg.bat
		if [ "$(echo "$Upst" | grep -c "FORMAT-")" -eq "1" -a "$nodelete" -eq "0" ]
		then	
			
			drvx="$(echo "$Upst" | awk -F- '{print $2}')"
			grpdrv="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $10}' | cut -b 1-1)"
			if [ "$drvx" = "C" -o "$drvx" = "c" -o "$drvx" = "D" -o "$drvx" = "d" -o "$drvx" != "$grpdrv" ]
			then
				echo "xyz" >> $TMP_PATH/autotapeout$Cfg.bat
				echo "echo $ERRORX-11I: FORMAT COMMAND WAS SKIPPED as drive letter Drv-$drvx is out of range or invalid for this client group$DEF >> $CLOG_W 2>&1" >> $TMP_PATH/autotapeout$Cfg.bat
			else
				echo "format  $drvx: +Y +Q >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp | sed -n "s/+/\//"gp  >> $TMP_PATH/autotapeout$Cfg.bat
			fi
		else
			echo -E "call $WININSTALLPATH/etc/scripts/$Upst >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/autotapeout$Cfg.bat
		fi
		echo -E "echo === USER_POST_SCRIPT RC=%ERRORLEVEL% ========== >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp  >> $TMP_PATH/autotapeout$Cfg.bat
	fi

	for d in `cat $TMP_PATH/destination.srt`
	do
 		if [ `echo $d | grep -c "/"` -gt "0" ]
 		then
 			d_=`echo "$d" | sed -n "s/\//\\\\\/"gp`
			d="$d_"
 		fi
	done
	echo "GOTO END" >> $TMP_PATH/autotapeout$Cfg.bat
	echo ":NOTOK" >> $TMP_PATH/autotapeout$Cfg.bat
	if [ $DeleteFlag -eq 1 -a "$Servertape" -eq "0" ]
	then
		if [ "$Upst" != "" ]
		then
			echo "echo === USER_POST_SCRIPT CALL: ========== >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/autotapeout$Cfg.bat
			if [ "$(echo "$Upst" | grep -c "FORMAT-")" -eq "1" ]
			then	
				drvx="$(echo "$Upst" | awk -F- '{print $2}')"
				if [ "$drvx" = "C" -o "$drvx" = "c" -o "$drvx" =  "D" -o "$drvx" = "d" ]
				then
					echo "ERROR: FORMAT COMMAND WAS SKIPPED as drive letter Drv-$drvx is out of range" >> $TMP_PATH/autotapeout$Cfg.bat
				else
					echo "format  $drvx: +Y +Q >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp | sed -n "s/+/\//"gp  >> $TMP_PATH/autotapeout$Cfg.bat
				fi
			else
				echo -E "call $WININSTALLPATH/etc/scripts/$Upst >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/autotapeout$Cfg.bat
			fi
			echo -E "echo === USER_POST_SCRIPT RC=%ERRORLEVEL% ========== >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp  >> $TMP_PATH/autotapeout$Cfg.bat
		fi

		for line in `awk '{print $1","$2}' $TMP_PATH/incdel.tmp`
		do
			d=`echo "$line" | awk -F, '{print $1}'`
			clx=`echo -E "$d" | awk -F/ '{print $NF}'`
			spx=`echo -E "$d" | awk '{print $1}' | sed -n "s/\/$Mode1Path\/$clx//"p`
			del=`echo -E "$line" | awk -F, '{print $2}'`
			if [ `grep -c "$clx,$spx" $Atositeid` -eq "0" ]; then continue; fi
			if [ "$del" = "INCDEL" -o "$Mode1" -ne "1" ]
			then
 				if [ `echo $d | grep -c "/"` -gt "0" ]
 				then
 					d_=`echo "$d" | sed -n "s/\//\\\\\\/"gp`
					d="$d_"
 				fi
				if [ "$BACKUPPRODUCT" != "commvault" ];then echo -E "rmdir /S /Q $d" >> $TMP_PATH/autotapeout$Cfg.bat; fi
			fi
		done
	fi
	echo -E "echo TAPE_BACKUP_NOTOK RC=%ERRORLEVEL% >> $CLOG_W" | sed -n "s/\//\\\/"gp >> $TMP_PATH/autotapeout$Cfg.bat 
	echo "GOTO END" >> $TMP_PATH/autotapeout$Cfg.bat
	echo ":END" >> $TMP_PATH/autotapeout$Cfg.bat


	snapx=`echo "$snapupoutput" | sed -n "s/\//+/"gp`
	if [ -f $BULOCATION/customize/UOFH.txt ]
	then
		newx="tmp"
		echo "findstr +V 101638 $CLOG_W > $CLOG_W$newx" | sed -n "s/\//\\\/"gp | sed -n "s/+/\//"p >> $TMP_PATH/autotapeout$Cfg.bat
		echo "move +Y $CLOG_W$newx $CLOG_W" | sed -n "s/\//\\\/"gp | sed -n "s/+/\//"p >> $TMP_PATH/autotapeout$Cfg.bat
	fi
	if [ "$Servertape" -eq "1" ]
	then
      		echo -E "$TAVAINSTALLPATH\bin\avtar -c --acnt=$snapx --freezemethod=none --nocache $AVTAR_expire --label=autotapeout$Cfg.stat $TAPE_credential_ $Use_DD $CLOG_W" | sed -n "s/\//\\\/"gp | sed -n "s/adamk12/@\//"gp | sed -n "s/+/\//"gp >> $TMP_PATH/autotapeout$Cfg.bat
		echo -E "echo +++ > $TAVAINSTALLPATH\etc\scripts\autotapeout$Cfg.bat" >> $TMP_PATH/autotapeout$Cfg.bat
	else
      		echo -E "$WININSTALLPATH\bin\avtar -c --acnt=$snapx --freezemethod=none --nocache $AVTAR_expire --label=autotapeout$Cfg.stat $TAPE_credential_ $Use_DD $CLOG_W" | sed -n "s/\//\\\/"gp | sed -n "s/adamk12/@\//"gp | sed -n "s/+/\//"gp >> $TMP_PATH/autotapeout$Cfg.bat
		echo -E "echo +++ > $WININSTALLPATH\etc\scripts\autotapeout$Cfg.bat" >> $TMP_PATH/autotapeout$Cfg.bat
	fi
}

common_tape_script2()
{

	if [ "$Cfg" -eq "1" ];then Cfg=""; fi	
	if [ "$Servertape" -eq "1" ]
	then
		CLOG="$TAVAINSTALLPATH/etc/scripts/autotapeout$Cfg.stat"; COG_W="$TAVAINSTALLPATH/etc/scripts/autotapeout$Cfg.stat"
	else
		CLOG="$UNIXINSTALLPATH/etc/scripts/autotapeout$Cfg.stat"; CLOG_W="$WININSTALLPATH/etc/scripts/autotapeout$Cfg.stat"
	fi
	if [ "$Stageonly_" -eq "0" ]
	then
		if [ "$BACKUPPRODUCT" = "networker" -a "$Srvinit" -eq "0" ]
		then
			if [ -f $TMP_PATH/networker_unix.tmp ];then cat $TMP_PATH/networker_unix.tmp >> $TMP_PATH/autotapeout$Cfg.sh; fi
		else
			if [ "$BACKUPPRODUCT" = "backupexec" -o "$BACKUPPRODUCT" = "backupexec2012" ]
			then
 				echo "if [ \"\$?\" -eq \"1\" ]" >> $TMP_PATH/autotapeout$Cfg.sh
			elif [ "$BACKUPPRODUCT" = "commvault" ]
			then
				echo "if [ \"\$Completion\" -eq \"0\" ]" >> $TMP_PATH/autotapeout$Cfg.sh
			else
 				echo "if [ \"\$?\" -eq \"0\" ]" >> $TMP_PATH/autotapeout$Cfg.sh
			fi
 			echo "then" >> $TMP_PATH/autotapeout$Cfg.sh 
			if [ "$BACKUPPRODUCT" = "commvault" ]
                        then
				echo "echo \"TAPE_BACKUP_OK RC=\$Completion\" >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
			else
				echo "echo \"TAPE_BACKUP_OK RC=\$?\" >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
			fi
		fi
		for line in `awk '{print $1","$2}' $TMP_PATH/incdel.tmp`
		do
			d=`echo "$line" | awk -F, '{print $1}'`
 			clx=`echo -E "$d" | awk -F/ '{print $NF}'`
 			spx=`echo -E "$d" | awk '{print $1}' | sed -n "s/\/$Mode1Path\/$clx//"p`
 			del=`echo -E "$line" | awk -F, '{print $2}'`
 			if [ `grep -c "$clx,$spx" $Atositeid` -eq "0" ]; then continue; fi
 			if [ "$del" = "INCDEL" -o "$Mode1" -ne "1" -a "$enabledelete" -eq "1" -a "$Upst" = "" ]
			then
				stagingpathx="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $10}')"
				groupfolder="$(echo "$stagingpathx" | awk -F/ '{print $NF}')"
			        pathfolder="$(echo "$stagingpathx" | sed -n "s/$groupfolder//"gp)"
        			deletefolder="admedelete_$groupfolder"

				echo -E "/bin/date +\"======== START-Purge-Of-Staged-Data 20%y-%m-%d %H:%M:%S\" >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
        			echo "echo \"CMD1: /bin/mv $pathfolder$groupfolder $pathfolder$deletefolder\" >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
        			echo "echo \"CMD2: /bin/rm -rf $pathfolder$deletefolder\" >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
        			echo "/bin/mv $pathfolder$groupfolder $pathfolder$deletefolder" >> $TMP_PATH/autotapeout$Cfg.sh
        			echo "/bin/rm -rf $pathfolder$deletefolder" >> $TMP_PATH/autotapeout$Cfg.sh
				echo -E "/bin/date +\"======== END-Purge-Of-Staged-Data 20%y-%m-%d %H:%M:%S\" >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh

				break
#				echo -E "/bin/rm -rf $d" >> $TMP_PATH/autotapeout$Cfg.sh
			fi
		done
	fi

  	if [ "$BACKUPPRODUCT" = "networker" -a "$Srvinit" -eq "0" ]
  	then
		if [ "$Debug" -lt "4" -a "$DEBUG" -lt "4" -a "$Upst" != "" ]
		then
			if [ "$Upst" != "" ]
			then
				echo "echo \"=== USER_POST_SCRIPT CALL: ==========\" >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
				echo "$UNIXINSTALLPATH/etc/scripts/$Upst >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
				echo "echo \"=== USER_POST_SCRIPT RC=\$? ==========\" >> $CLOG 2>&1" >> $TMP_PATH/autotapeout$Cfg.sh
			fi
		fi


		if [ -f $BULOCATION/customize/UOFH.txt ]
		then
			newx=".tmp"
			echo "mv $CLOG $CLOG$newx" >> $TMP_PATH/autotapeout$Cfg.sh
			echo "grep -v 101638 $CLOG$newx > $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
		fi
        	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$snapupoutput --freezemethod=none $AVTAR_expire $Quiet --label=autotapeout$Cfg.stat $TAPE_credential $Use_DD $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
		echo "/bin/rm -rf $UNIXINSTALLPATH/etc/scripts/autotapeout$Cfg.sh" >> $TMP_PATH/autotapeout$Cfg.sh
		echo "exit 0" >> $TMP_PATH/autotapeout$Cfg.sh
	else
		echo "else" >> $TMP_PATH/autotapeout$Cfg.sh
		echo "echo \"TAPE_BACKUP_NOTOK RC=\$?\" >> $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
		if [ "$DeleteFlag" -eq "1" ]
		then
			for line in `awk '{print $1","$2}' $TMP_PATH/incdel.tmp`
			do
 				d=`echo "$line" | awk -F, '{print $1}'`
 				clx=`echo -E "$d" | awk -F/ '{print $NF}'`
 				spx=`echo -E "$d" | awk '{print $1}' | sed -n "s/\/$Mode1Path\/$clx//"p`
 				del=`echo -E "$line" | awk -F, '{print $2}'`
 				if [ `grep -c "$clx,$spx" $Atositeid` -eq "0" ]; then continue; fi
 				if [ "$del" = "INCDEL" -o "$Mode1" -ne "1" ]
				then
 					echo -E "/bin/rm -rf $d" >> $TMP_PATH/autotapeout$Cfg.sh
				fi
			done
		fi
    		echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$snapupoutput --freezemethod=none --nocache $AVTAR_expire $Quiet --label=autotapeout$Cfg.stat $TAPE_credential $Use_DD $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
		if [ "$Debug" -lt "4" -a "$DEBUG" -lt "4" -a "$DeleteFlag" -eq "1" ]
		then
			echo "/bin/rm -rf $UNIXINSTALLPATH/etc/scripts/autotapeout$Cfg.sh" >> $TMP_PATH/autotapeout$Cfg.sh
		fi
		echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh

		echo "fi" >> $TMP_PATH/autotapeout$Cfg.sh
		echo "echo =========================================== >> $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
		if [ "$BACKUPPRODUCT" = "avamar" ]
		then 
			echo "$BACKUPPRODUCTHOMEUNIX/avtar --backups --hfsaddr=$BUSERVER_NAME --quiet $AVAmigrate --after=$after_date --id=$uid --password=$pwid >> $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
		elif [ "$BACKUPPRODUCT" = "ppdm" ]
		then
			echo "$BACKUPPRODUCTHOMEUNIX/ddfsadmin backup query -local -t=2h >> $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
		fi
			echo "echo =========================================== >> $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
       		echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$snapupoutput --freezemethod=none --nocache $AVTAR_expire $Quiet --label=autotapeout$Cfg.stat $TAPE_credential $Use_DD $CLOG" >> $TMP_PATH/autotapeout$Cfg.sh
		if [ "$Debug" -lt "4" -a "$DEBUG" -lt "4" ]
		then
			if [ "$Servertape" -eq "1" ]
			then
				echo "/bin/rm -rf $TAVAINSTALLPATH/etc/scripts/autotapeout$Cfg.sh" >> $TMP_PATH/autotapeout$Cfg.sh
			else
				echo "/bin/rm -rf $UNIXINSTALLPATH/etc/scripts/autotapeout$Cfg.sh" >> $TMP_PATH/autotapeout$Cfg.sh
			fi
		fi
		echo "exit 0" >> $TMP_PATH/autotapeout$Cfg.sh
  	fi
}

common_tape_adv1()
{

	sescnt=0
	CLOG="$UNIXINSTALLPATH/etc/scripts/autotapeout$Cfg.stat"; CLOG_W="$WININSTALLPATH/etc/scripts/autotapeout$Cfg.stat"
	echo "#!/bin/ksh" > $TMP_PATH/unixscript.txt

	builddate="$(date +'%Y-%m-%d %H:%M:%S')" 
	echo "echo \"$BACKUPPRODUCT Script-Created: $builddate\" > $CLOG 2>&1" >> $TMP_PATH/unixscript.txt
	echo "echo \"$BACKUPPRODUCT Script-Created: $builddate\" > $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/windowsscript.txt

	for x in `sed -n "3,9999"p $Atositeid`
	do
		sescnt=`expr $sescnt + 1`
		clx=`echo -E "$x" | awk -F, '{print $1}'`; spx=`echo -E "$x" | awk -F, '{print $2}'`
		echo "" >> $TMP_PATH/unixscript.txt
		echo "" >> $TMP_PATH/windowsscript.txt
		echo "echo \"TAPE-SESSION=$sescnt Client=$clx\" >> $CLOG 2>&1" >> $TMP_PATH/unixscript.txt
		echo "echo \"TAPE-SESSION=$sescnt Client=$clx\" >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/windowsscript.txt

		if [ "$BACKUPPRODUCT" = "networker_adv1" ]
		then
			echo "echo \"CMD-$sescnt: savefs -s $BUSERVER_NAME -c $clx -g '$Pool' -q $spx/$Mode1Path/$clx\" >> $CLOG 2>&1" >> $TMP_PATH/unixscript.txt
			echo "echo \"CMD-$sescnt: savefs -s $BUSERVER_NAME -c $clx -g '$Pool' -q $spx/$Mode1Path/$clx\" >> $CLOG_W 2>&1"| sed -n "s/\//\\\/"gp >> $TMP_PATH/windowsscript.txt
			echo -E "$BACKUPPRODUCTHOMEUNIX/savefs -s $BUSERVER_NAME -c $clx -g '$Pool' -q $spx/$Mode1Path/$clx >> $CLOG 2>&1" >> $TMP_PATH/unixscript.txt
			echo "$BACKUPPRODUCTHOMEWIN/savefs -s $BUSERVER_NAME -c $clx -g $Pool -q $spx/$Mode1Path/$clx >> $CLOG_W 2>&1"| sed -n "s/\//\\\/"gp >> $TMP_PATH/windowsscript.txt
		elif [ "$BACKUPPRODUCT" = "networker_adv2" ]
		then
			echo "echo \"CMD-$sescnt: save -s $BUSERVER_NAME -c $clx -b '$Pool' -q $spx/$Mode1Path/$clx\" >> $CLOG 2>&1" >> $TMP_PATH/unixscript.txt
			echo "echo \"CMD-$sescnt: save -s $BUSERVER_NAME -c $clx -b '$Pool' -q $spx/$Mode1Path/$clx\" >> $CLOG_W 2>&1"| sed -n "s/\//\\\/"gp >> $TMP_PATH/windowsscript.txt
			echo -E "$BACKUPPRODUCTHOMEUNIX/save -s $BUSERVER_NAME -c $clx -b '$Pool' -q $spx/$Mode1Path/$clx >> $CLOG 2>&1" >> $TMP_PATH/unixscript.txt
			echo "$BACKUPPRODUCTHOMEWIN/save -s $BUSERVER_NAME -c $clx -b $Pool -q $spx/$Mode1Path/$clx >> $CLOG_W 2>&1"| sed -n "s/\//\\\/"gp >> $TMP_PATH/windowsscript.txt

		fi
		echo -E "if ERRORLEVEL 1 ( echo Client=$clx TAPE_BACKUP_NOTOK RC=%ERRORLEVEL% >> $CLOG_W" | sed -n "s/\//\\\/"gp >> $TMP_PATH/windowsscript.txt	
		echo -E ") ELSE ( echo Client=$clx TAPE_BACKUP_OK RC=0 >> $CLOG_W )" | sed -n "s/\//\\\/"gp >> $TMP_PATH/windowsscript.txt
		echo "if [ \"\$?\" -eq \"0\" ]; then" >> $TMP_PATH/unixscript.txt
		echo "echo \"Client=$clx TAPE_BACKUP_OK RC=\$?\" >> $CLOG 2>&1" >> $TMP_PATH/unixscript.txt
	done

	echo "" >> $TMP_PATH/unixscript.txt
	echo "" >> $TMP_PATH/windowsscript.txt

 	for x in `sed -n "3,9999"p $Atositeid`
 	do
 		clx=`echo -E "$x" | awk -F, '{print $1}'`; spx=`echo -E "$x" | awk -F, '{print $2}'`
 		linex=`grep "^$spx/$Mode1Path/$clx" $TMP_PATH/incdel.tmp | tail -1`	
 		delx=`echo "$linex" | awk '{print $NF}'`
 		d="$spx/$Mode1Path/$clx" 
 		if [ "$delx" = "INCDEL" -o "$Mode1" -ne "1" ]
 		then
  			if [ `echo "$d" | grep -c "/"` -gt "0" ]
  			then
  				d_=`echo "$d" | sed -n "s/\//\\\\\\/"gp`
 				d="$d_"
  			fi
 			echo -E "rmdir /S /Q $d" >> $TMP_PATH/windowsscript.txt	
 			echo -E "/bin/rm -rf $d/*" >> $TMP_PATH/unixscript.txt	
 		fi
 	done
 
  	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$snapupoutput --freezemethod=none $AVTAR_expire $Quiet --password=$AVA_password $Use_DD $CLOG" >> $TMP_PATH/unixscript.txt
 	echo "exit 0" >> $TMP_PATH/unixscript.txt
 	snapupoutput_w=`echo "$snapupoutput" | sed -n "s/\//%/"gp`
	echo "else" >> $TMP_PATH/unixscript.txt
 	echo "echo \"Client=$clx TAPE_BACKUP_NOTOK RC=\$?\" >> $CLOG 2>&1" >> $TMP_PATH/unixscript.txt
  	echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$snapupoutput --freezemethod=none $AVTAR_expire $Quiet $TAPE_credential $Use_DD $CLOG" >> $TMP_PATH/unixscript.txt
 	echo "exit 1" >> $TMP_PATH/unixscript.txt
	echo "fi" >> $TMP_PATH/unixscript.txt

	echo -E "$WININSTALLPATH\bin\avtar -c --acnt=$snapupoutput_w --freezemethod=none $AVTAR_expire $TAPE_credential $Use_DD $CLOG_W" | sed -n "s/\//\\\/"gp | sed -n "s/%/\//"gp >> $TMP_PATH/windowsscript.txt

	mv $TMP_PATH/unixscript.txt $TMP_PATH/autotapeout$Cfg.sh
	mv $TMP_PATH/windowsscript.txt $TMP_PATH/autotapeout$Cfg.bat
}

build_tape_script()
{

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled build_tape_script()"; set -x 
	fi
	ss_="$1"
	if [ "$Servertape" -eq "1" ]
        then
		CLOG="$TAVAINSTALLPATH/etc/scripts/autotapeout$Cfg.stat"; CLOG_W="$TAVAINSTALLPATH/etc/scripts/autotapeout$Cfg.stat"
	else
		CLOG="$UNIXINSTALLPATH/etc/scripts/autotapeout$Cfg.stat"; CLOG_W="$WININSTALLPATH/etc/scripts/autotapeout$Cfg.stat"
	fi
	if [ "$ss_" = "WINDOWS" ]; then ss_name=`echo -E "$WINDOWSS" | awk -F/ '{print $NF}'`; fi
	if [ "$ss_" = "UNIX" ]; then ss_name=`echo -E "$UNIXSS" | awk -F/ '{print $NF}'`; fi
	if [ "$ss_" = "LINUX" ]; then ss_name=`echo -E "$LINUXSS" | awk -F/ '{print $NF}'`; fi

	if [ "$Mode1" -ge "1" ]; then px="/INCREMENTAL"
	elif [ "$ss_" = "LINUX" ]; then px=""
	else px="/BYDATE"; fi
	stagedir=""
 	for d in `cat $TMP_PATH/destination.srt`
	do
		grep ",$d$" $Atositeid >/dev/null 2>&1
		if [ "$?" -ne "0" ]; then continue; fi 
		if [ "$BACKUPPRODUCT" = "brightstore" -o "$BACKUPPRODUCT" = "arcserv" ]
		then
			stagedir="$stagedir -filesystem $d$px"
		elif [ "$BACKUPPRODUCT" = "TSM" -o "$BACKUPPRODUCT" = "tsm" ]
		then
			stagedir="$stagedir $d$px/"
		else
			stagedir="$stagedir $d$px"	
		fi
	done
	if [ `echo "$stagedir" | grep -c "/"` -gt "0" ]; then stagedir_w=`echo "$stagedir" | sed -n "s/\//\\\\\/"gp`; fi

	subchar="~"; one="1"
	if [ "$Tpolicy" != "" ]
	then
		dash1="-1"; tilda1="~1"
		Group_="$Group"; Pool_="$Pool"

		if [ "$BACKUPPRODUCT" != "ppdm" ]
		then
			if [ `echo -E "$Group_" | grep -c "$subchar"` -gt "0" ];then Group=`echo -E "$Group_" | sed -n "s/$subchar/-/"gp`; fi
			if [ `echo -E "$Pool_" | grep -c "$subchar"` -gt "0" ];then Pool=`echo -E "$Pool_" | sed -n "s/$subchar/-/"gp`; fi

			if [ `echo -E "$Group" | grep -ce "$dash1"` -gt "0" ];then Group=`echo -E "$Group" | sed -n "s/$dash1/$tilda1/"gp`; fi
			if [ `echo -E "$Pool" | grep -ce "$dash1"` -gt "0" ];then Pool=`echo -E "$Pool" | sed -n "s/$dash1/$tilda1/"gp`; fi
		elif [ "$BACKUPPRODUCT" = "ppdm" ]
		then
			subchar_a="~a "; subchar_s="~s"
			if [ `echo -E "$Pool_" | grep -c "$subchar_a"` -gt "0" ];then Pool=`echo -E "$Pool_" | sed -n "s/$subchar_a/-a /"gp`; fi
			Pool_save="$Pool"
			if [ `echo -E "$Pool_save" | grep -c "$subchar_s"` -gt "0" ];then Pool=`echo -E "$Pool_save" | sed -n "s/$subchar_s/-s/"gp`; fi
#			if [ "$(echo -E "$Pool" | grep -ce "progra$dash1")" -gt "0" ];then Pool="$(echo -E "$Pool" | sed -n "s/progra$dash1/progra$tilda1/"gp)"; fi
		fi	
	fi

	if [ -s $BULOCATION/customize/networker.bug1 ];then NTWKBUG1=`head -1 $BULOCATION/customize/networker.bug1`; else NTWKBUG1=""; fi

	if [ "$BACKUPPRODUCT" = "commvault" ]
	then
		if [ -s $BULOCATION/customize/commvault.pwd -a `cat $BULOCATION/customize/commvault.pwd | grep -c "\-u"` -eq "1" -a `cat $BULOCATION/customize/commvault.pwd | grep -c "\-p"` -eq "1" ]
		then
			CV_pwd=`head -1 $BULOCATION/customize/commvault.pwd`
		else
			echo "\n$ERRORX-80G Unable to detect proper Commvault authentication syntax [$WHITE_FG`head -1 $BULOCATION/customize/commvault.pwd`$RED_FG] maintained in file [$WHITE_FG$BULOCATION/customize/commvault.pwd$RED_FG]$DEF"
			mail_rtn
			exit 1
		fi
	fi



 	if [ "$BACKUPPRODUCT" = "networker_adv1" -o "$BACKUPPRODUCT" = "networker_adv2" ]
 	then
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh

		elif [ -f $Atositeid ]
		then
 			common_tape_adv1
		fi
 	elif [ "$BACKUPPRODUCT" = "networker" ]
 	then
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh


		elif [ "$Servertape" -eq "1" -a "$Group" != "n/a" ]
		then
			if [ "$(/bin/rpm -qa | egrep "lgtoclnt-8" | wc -l)" -eq "1" ]
			then
				Save="$BACKUPPRODUCTHOMEUNIX/savegrp $Group >> $CLOG 2>&1"
				Save_w="$BACKUPPRODUCTHOMEWIN/savegrp $Group >> $CLOG_W 2>&1"
			elif [ "$(/bin/rpm -qa | egrep "lgtoclnt|lgtoxtdclnt"  | wc -l)" -eq "2" ]
			then
				if [ "$Tpolicy" != "" ]
				then
					Group="$(echo "$Tpolicy" | sed -n "s/~/\-/"gp)"
				elif [ "$ENDOFYEAR" -ne "0" ]
				then
					if [ "$(echo "$ENDOFYEAR" | grep -c ",")" -eq "0" ];then ENDOFYEAR_="$ENDOFYEAR"; else ENDOFYEAR_="$(echo "$ENDOFYEAR" | sed -n "s/,/\|/"gp)"; fi
					if [ "$(echo "$(date +'%m')" | egrep -c "$ENDOFYEAR_")" -eq "1" ]
                			then
						Group="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $13}')"
					fi
				fi
				Save="$BACKUPPRODUCTHOMEUNIX/nsrworkflow $Group >> $CLOG 2>&1"
				Save_w="$BACKUPPRODUCTHOMEWIN/nsrworkflow $Group >> $CLOG_W 2>&1"
			else
				echo "$ERRORX: Unable to detect the Networker 64 bit Linux agent is installed on Avamar utility node, both basic and extended rpms are required$DEF"; exit 1
			fi

			Srvinit=1
			common_tape_script1
		else
			rm $TMP_PATH/networker_unix.tmp $TMP_PATH/networker_win.tmp >/dev/null 2>&1

			firstpass=0
 			for dirpath in `sed -n "2,99"p $Atositeid | awk -F, '{print $2}' | sort -u`
			do
				if [ "$firstpass" -eq "0" ]
				then
					echo "echo === Start Networker Probe ==================== >> $CLOG_W 2>&1" >> $TMP_PATH/networker_win.tmp
					echo "echo \"=== Start Networker Probe ====================\" >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp
					if [ "$(grep -i -c "PROBE=Y" $BULOCATION/customize/networker.txt)" -ne "0" ]
					then
						echo "$BACKUPPRODUCTHOMEWIN/savefs $NTWKBUG1 -s $BUSERVER_NAME -g $Pool -q -p $dirpath$px >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/networker_win.tmp
  						echo "$BACKUPPRODUCTHOMEUNIX/savefs -s $BUSERVER_NAME -g $Pool -p -q $dirpath$px >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp
					else
						echo "echo \"INFO: Skipping Probe Operation set to N in $BULOCATION/customize/networker.txt file >> $CLOG 2>&1\"" >> $TMP_PATH/networker_unix.tmp
						echo "echo INFO: Skipping Probe Operation set to N in $BULOCATION/customize/networker.txt file >> $CLOG_W 2>&1" >> $TMP_PATH/networker_win.tmp
					fi
					echo "echo === End Networker Probe ==================== >> $CLOG_W 2>&1" >> $TMP_PATH/networker_win.tmp
					echo "echo \"=== End Networker Probe ====================\"  >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp
					firstpass=1
				fi
				echo -E "echo CMD: $BACKUPPRODUCTHOMEWIN/savefs $NTWKBUG1 -s $BUSERVER_NAME -g $Pool -q $dirpath$px >> $CLOG_W 2>&1" >> $TMP_PATH/networker_win.tmp
				echo -E "echo \"CMD: $BACKUPPRODUCTHOMEUNIX/savefs $NTWKBUG1 -s $BUSERVER_NAME -g $Pool -q $dirpath$px | grep -v ADAM\" >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp

				echo "$BACKUPPRODUCTHOMEWIN/savefs $NTWKBUG1 -s $BUSERVER_NAME -g $Pool -q $dirpath$px >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/networker_win.tmp
  				echo "$BACKUPPRODUCTHOMEUNIX/savefs -s $BUSERVER_NAME -g $Pool -q $dirpath$px >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp
				echo "if ERRORLEVEL 1 GOTO NOTOK" >> $TMP_PATH/networker_win.tmp
 				echo "if [ \"\$?\" -eq \"0\" ]" >> $TMP_PATH/networker_unix.tmp
 				echo "then" >> $TMP_PATH/networker_unix.tmp
				echo "echo \"TAPE_BACKUP_OK RC=\$?\" >> $CLOG"  >> $TMP_PATH/networker_unix.tmp
				echo "else"  >> $TMP_PATH/networker_unix.tmp
				echo "echo \"TAPE_BACKUP_NOTOK RC=\$?\" >> $CLOG" >> $TMP_PATH/networker_unix.tmp
				if [ -f $BULOCATION/customize/UOFH.txt ]
				then
					newx=".tmp"
					echo "mv $CLOG $CLOG$newx" >> $TMP_PATH/networker_unix.tmp
					echo "grep -v 101638 $CLOG$newx > $CLOG" >> $TMP_PATH/networker_unix.tmp
				fi
				if [ "$DeleteFlag" -eq "1" ]
				then
					if [ "$Upst" != "" -a "$BACKUPPRODUCT" = "networker" ]
					then
						echo "echo \"=== USER_POST_SCRIPT CALL: ==========\" >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp 
						echo "$UNIXINSTALLPATH/etc/scripts/$Upst >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp 
						echo "echo \"=== USER_POST_SCRIPT RC=\$? ==========\" >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp 
					fi
					for line in `awk '{print $1","$2}' $TMP_PATH/incdel.tmp`
					do
						d=`echo "$line" | awk -F, '{print $1}'`
						clx=`echo -E "$d" | awk -F/ '{print $NF}'`
 						spx=`echo -E "$d" | awk '{print $1}' | sed -n "s/\/$Mode1Path\/$clx//"p`
 						del=`echo -E "$line" | awk -F, '{print $2}'`
 						if [ `grep -c "$clx,$spx" $Atositeid` -eq "0" ]; then continue; fi
 						if [ "$del" = "INCDEL" -o "$Mode1" -ne "1" ]
						then
							echo -E "/bin/rm -rf $d" >> $TMP_PATH/networker_unix.tmp
						fi
					done
				fi
   				echo "$UNIXINSTALLPATH/bin/avtar -c --acnt=$snapupoutput --freezemethod=none $AVTAR_expire $TAPE_credential $Quiet $Use_DD $CLOG" >> $TMP_PATH/networker_unix.tmp
     				echo "/bin/rm -rf $UNIXINSTALLPATH/etc/scripts/autotapeout$Cfg.sh" >> $TMP_PATH/networker_unix.tmp 
				echo "exit 1" >> $TMP_PATH/networker_unix.tmp
				echo "fi" >> $TMP_PATH/networker_unix.tmp
			done
			Save_w=`cat $TMP_PATH/networker_win.tmp`
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "networker_save" ]
	then
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh


		elif [ "$Servertape" -eq "1" -a "$Group" != "n/a" ]
		then
			Save="$BACKUPPRODUCTHOMEUNIX/savegrp $Group >> $CLOG 2>&1"
			Save_w="$BACKUPPRODUCTHOMEWIN/savegrp $Group >> $CLOG_W 2>&1"
			Srvinit=1
			common_tape_script1
		else
			echo "echo === Start Networker Probe ==================== >> $CLOG_W 2>&1" >> $TMP_PATH/networker_win.tmp
			echo "echo \"=== Start Networker Probe ====================\" >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp
			if [ "$(grep -i -c "PROBE=Y" $BULOCATION/customize/networker.txt)" -ne "0" ]
			then
				echo "$BACKUPPRODUCTHOMEWIN/save $NTWKBUG1 -s $BUSERVER_NAME -n -b $Pool -q $stagedir_w >> $CLOG_W 2>&1" | sed -n "s/\//\\\/"gp >> $TMP_PATH/networker_win.tmp
  				echo "$BACKUPPRODUCTHOMEUNIX/save $NTWKBUG1 -s $BUSERVER_NAME -n -b $Pool -q $stagedir >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp
			else
				echo "echo \"INFO: Skipping Probe Operation set to N in $BULOCATION/customize/networker.txt file >> $CLOG 2>&1\"" >> $TMP_PATH/networker_unix.tmp
				echo "echo INFO: Skipping Probe Operation set to N in $BULOCATION/customize/networker.txt file >> $CLOG_W 2>&1" >> $TMP_PATH/networker_win.tmp
			fi
			echo "echo === End Networker Probe ==================== >> $CLOG_W 2>&1" >> $TMP_PATH/networker_win.tmp
			echo "echo \"=== End Networker Probe ====================\"  >> $CLOG 2>&1" >> $TMP_PATH/networker_unix.tmp

 			Save="$BACKUPPRODUCTHOMEUNIX/save $NTWKBUG1 -s $BUSERVER_NAME -b $Pool -q $stagedir >> $CLOG 2>&1"
			Save_w="$BACKUPPRODUCTHOMEWIN/save $NTWKBUG1 -s $BUSERVER_NAME -b $Pool -q $stagedir_w >> $CLOG_W 2>&1"
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "tsm" -o "$BACKUPPRODUCT" = "TSM" ]
	then
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh


		elif [ "$Servertape" -eq "1" -a "$Group" != "n/a" ]
		then
			Save="$BACKUPPRODUCTHOMEUNIX/dsmc archive -subdir=yes -archmc=$Group $stagedir >> $CLOG 2>&1"
			Save_w="$BACKUPPRODUCTHOMEWIN/dsmc.exe archive -subdir=yes -archmc=$Group $stagedir_w >> $CLOG_W 2>&1"
			Srvinit=1
			common_tape_script1
		else
 			Save="$BACKUPPRODUCTHOMEUNIX/dsmc archive -subdir=yes -archmc=$Pool $stagedir >> $CLOG 2>&1"
			Save_w="$BACKUPPRODUCTHOMEWIN/dsmc.exe archive -subdir=yes -archmc=$Pool $stagedir_w >> $CLOG_W 2>&1"
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "backupexec2012" ]
	then
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh


		elif [ "$Servertape" -eq "1" -a "$Group" != "n/a" ]
		then
			Save_w="$BACKUPPRODUCTHOMEWIN $WININSTALLPATH/etc/scripts/buex2012.ps1 $Group >> $CLOG_W 2>&1"
			Srvinit=1
			common_tape_script1
		else
			Save_w="$BACKUPPRODUCTHOMEWIN $WININSTALLPATH/etc/scripts/buex2012.ps1 $Pool >> $CLOG_W 2>&1"
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "backupexec" ]
	then
		if [ "$Group" = "n/a" ];then Group="";fi
		sserver_w=`echo "$WINDOWSS" | awk -F/ '{print $NF}'`
                stagedir_ww=`echo -E "$stagedir_w" | cut -b 2-100`


		if [ `echo -E "$Pool" | cut -b 1-1` = "/" ];then userfile="$Pool"; else userfile="none"; fi
		if [ "$Servertape" -eq "0" -a `echo "$Pool" | grep -c "\-j"` -eq "0" ]
		then
			if [ "$userfile" = "none" ] 
			then	
			General_list="JOB_PRIORITY JOB_NAME SERVER USERNAME PASSWORD"
				echo "[General]" > $TMP_PATH/buexec.tmp
				echo "JOB_TYPE=Backup" >> $TMP_PATH/buexec.tmp

				for ux in `echo $Pool`
				do
					ux_=`echo "$ux" | awk -F= '{print $1}'`
					if [ `echo "$General_list" | grep -c "$ux_"` -eq "0" ];then continue; fi 
					if [ `echo "$ux" | grep -c "SERVER="` -eq "1" ];then Bserver="$ux"; fi
					if [ `echo "$ux" | grep -c "USERNAME="` -eq "1" ];then Username="$ux"; fi
					if [ `echo "$ux" | grep -c "PASSWORD="` -eq "1" ];then Passwd="$ux"; fi
					if [ `echo "$ux" | grep -c "JOB_PRIORITY="` -eq "1" ];then Jprty="$ux"; fi
				done
				if [ "$Bserver" = "" ];then echo -E "SERVER=$BUSERVER_NAME" >> $TMP_PATH/buexec.tmp; else echo -E "$Bserver" >> $TMP_PATH/buexec.tmp;fi
				echo -E "$Username" >> $TMP_PATH/buexec.tmp
				echo -E "$Passwd" >> $TMP_PATH/buexec.tmp
				if [ "$Jprty" = "" ];then echo "JOB_PRIORITY=high" >> $TMP_PATH/buexec.tmp; else echo "$Jprty" >> $TMP_PATH/buexec.tmp;fi

				Backup_Options_list="BK_SET_NAME BK_METHOD DEVICE_NAME DEVICE_ID"
				echo "[Backup_Options]" >> $TMP_PATH/buexec.tmp
				for ux in `echo $Pool`
				do
					ux_=`echo "$ux" | awk -F= '{print $1}'`
					if [ `echo "$Backup_Options_list" | grep -c "$ux_"` -eq "0" ];then continue; fi 
					if [ `echo "$ux" | grep -c "BK_SET_NAME="` -eq "1" ];then Bksetname="$ux"; fi
					if [ `echo "$ux" | grep -c "BK_METHOD="` -eq "1" ];then Bkmethod="$ux"; fi
					if [ `echo "$ux" | grep -c "DEVICE_NAME="` -eq "1" ];then Devname="$ux"; fi
					if [ `echo "$ux" | grep -c "DEVICE_ID="` -eq "1" ];then Devid="$ux"; fi
				done
				if [ "$Bksetname" != "" ];then echo "$Bksetname" >> $TMP_PATH/buexec.tmp;fi
				if [ "$Bkmethod" = "" ];then echo "BK_METHOD=0" >> $TMP_PATH/buexec.tmp; else echo "$Bkmethod" >> $TMP_PATH/buexec.tmp;fi
				if [ "$Devname" != "" ];then echo "$Devname" >> $TMP_PATH/buexec.tmp;fi
				if [ "$Devid" != "" ];then echo "$Devid" >> $TMP_PATH/buexec.tmp;fi

				Media_options_list="MEDIA_SET APPEND VERIFY COMPRESSION_TYPE"
				echo "[Media Options]" >> $TMP_PATH/buexec.tmp
				for ux in `echo $Pool`
				do
					ux_=`echo "$ux" | awk -F= '{print $1}'`
					if [ `echo "$Media_options_list" | grep -c "$ux_"` -eq "0" ];then continue; fi 
					if [ `echo "$ux" | grep -c "MEDIA_SET="` -eq "1" ];then Mset="$ux"; fi
					if [ `echo "$ux" | grep -c "APPEND="` -eq "1" ];then Append="$ux"; fi
					if [ `echo "$ux" | grep -c "VERIFY="` -eq "1" ];then Verify="$ux"; fi
					if [ `echo "$ux" | grep -c "COMPRESSION_TYPE="` -eq "1" ];then Comp="$ux"; fi
				done
				if [ "$Mset" != "" ];then echo "$Mset" >> $TMP_PATH/buexec.tmp; fi
				if [ "$Append" != "" ];then echo "$Append" >> $TMP_PATH/buexec.tmp; fi
				if [ "$Verify" != "" ];then echo "$Verify" >> $TMP_PATH/buexec.tmp; else echo "VERIFY=1" >> $TMP_PATH/buexec.tmp; fi
				if [ "$COMPRESSION_TYPE" != "" ];then echo "$Comp" >> $TMP_PATH/buexec.tmp; fi

				List_all="$General_list $Backup_Options_list $Media_options_list"
				for chk in `echo "$Pool"`
				do
					if [ "$chk" = "n/a" ];then break; fi
					chk_=`echo "$chk" | awk -F= '{print $1}'`
					if [ `echo "$List_all" | grep -c "$chk_"` -eq "0" ]
					then
						echo "\n$ERRORX-80E: An unsupported Backupexec parameter has been specified [$WHITE_FG $chk $RED_FG]$DEF" | tee -a $LOG
						mail_rtn
						exit 1
					fi 
				done
				echo "[Selections]" >> $TMP_PATH/buexec.tmp
				pcnt=1
				for px in `echo -E "$stagedir_ww"`
				do
					echo -E "PATH$pcnt=$px\*.*" >> $TMP_PATH/buexec.tmp
					pcnt=`expr $pcnt + 1`
				done
				grep -v "^$" $TMP_PATH/buexec.tmp > $TMP_PATH/buexec.txt
			else
				if [ -s $userfile ]
				then
					cp $userfile $TMP_PATH/buexec.txt >/dev/null 2>&1
				else
					echo "\n$ERRORX-80F: The BackupExec user script specified in Fld-12 or 13 [$WHITE_FG $userfile $RED_FG] does not exist $DEF" | tee -a $LOG
					mail_rtn
					exit 1
				fi
			fi
		fi

		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh


		elif [ "$Servertape" -eq "1" -a "$Group" != "n/a" ]
		then
			if [ `echo "$Group" | grep -c "\-c"` -ne "0" ]
			then
				Save_w="$BACKUPPRODUCTHOMEWIN/bemcmd.exe -o1 $Group -w >> $CLOG_W 2>&1"
			else
				Save_w="$BACKUPPRODUCTHOMEWIN/bemcmd.exe -c$BUSERVER_NAME -o1 $Group -w >> $CLOG_W 2>&1"
			fi
			Srvinit=1
			common_tape_script1
		elif [ "$Servertape" -eq "0" -a `echo -E "$Pool" | grep -c "\-j"` -eq "1" ]
		then
			if [ `echo "$Group" | grep -c "\-c"` -ne "0" ]
			then
  				Save_w="$BACKUPPRODUCTHOMEWIN/bemcmd.exe -o1 $Pool -w >> $CLOG_W 2>&1"
			else
  				Save_w="$BACKUPPRODUCTHOMEWIN/bemcmd.exe -c$BUSERVER_NAME -o1 $Pool -w >> $CLOG_W 2>&1"
			fi
			Save="$BACKUPPRODUCTHOMEUNIX/bemcmd -o1 $Pool -w >> $CLOG 2>&1"
			Srvinit=0; Buexec_cli=1
			common_tape_script1
		elif [ "$Servertape" -eq "0" -a "$Pool" != "n/a" ]
		then
			if [ `echo "$Pool" | grep -c "\-sn:"` -eq "0" ];then Pool="$Pool -sn:$BUSERVER_NAME"; fi
 			Save="$BACKUPPRODUCTHOMEUNIX/bemcmd -o90 -w -v -f\"$UNIXINSTALLPATH/etc/scripts/buexec.txt\" >> $CLOG 2>&1"
			Save_w="$BACKUPPRODUCTHOMEWIN/bemcmd.exe -o90 -w -v -f\"$WININSTALLPATH/etc/scripts/buexec.txt\" >> $CLOG_W 2>&1"
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "commvault" ]
	then
		if [ `echo "$ss_name" | grep -c "."` -gt "0" ]
		then
			ss_name_="$ss_name"
			ss_name=`echo "$ss_name_" | awk -F. '{print $1}'`
		fi
		
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh

		elif [ "$Servertape" -eq "1" -a "$Group" != "n/a" ]
		then
 			Save_cvp="$BACKUPPRODUCTHOMEUNIX/qlogin $CV_pwd >> $CLOG 2>&1"
			Save="$BACKUPPRODUCTHOMEUNIX/qoperation backup -c $ss_name $Group"
 			Save_cvp="$BACKUPPRODUCTHOMEUNIX/qlogin $CV_pwd >> $CLOG_W 2>&1"
			Save_w="$BACKUPPRODUCTHOMEWIN/qoperation.exe backup -c $ss_name $Group"
			Srvinit=1
			common_tape_script1
		else
 			Save_cvp="$BACKUPPRODUCTHOMEUNIX/qlogin $CV_pwd >> $CLOG 2>&1"
 			Save="$BACKUPPRODUCTHOMEUNIX/qoperation backup -c $ss_name $Pool"
			Save_wcvp="$BACKUPPRODUCTHOMEWIN/qlogin.exe $CV_pwd >> $CLOG_W 2>&1"
			Save_w="$BACKUPPRODUCTHOMEWIN/qoperation.exe backup -c $ss_name $Pool"
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "avamar" ]
	then
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh
		else
			errx=0
			if [ "$(grep -c "^AVAMIGRATE=" $ENVCFG)" -eq "1" ]
			then
				uid="$(grep "^AVAMIGRATE=" $ENVCFG | tail -1 | awk -F= '{print $2}' | awk '{print $1}')"
				pwid="$(grep "^AVAMIGRATE=" $ENVCFG | tail -1 | awk -F= '{print $2}' | awk '{print $2}')"
			else
				echo "$ERRORX-60A: Environment file [$WHITE_FG $ENVCFG $RED_FG] missing AVAMIGRATE variable required to hold target Avamar credentials$DEF"
				errx=1	
			fi
			if [ "$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $12}' | grep -ce "--expires=")" -eq "0" ]
			then
				echo "$ERRORX-60B: No default retention value [$WHITE_FG --expires=<num-days>$RED_FG] defined in the client groups Monthly Export policy field$DEF"
				errx=1		
			fi

			ostype="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $15}')"
			if [ "$AVAmigrate" = "" ]
			then
				AVAmigrate="--acnt=/ADME/ADMEMigrations"
			elif [ "$AVAmigrate" = "--acnt=STAGING" ]
			then
				if [ "$ostype" = "WINDOWS" ];then AVAmigrate="--acnt=$WINDOWSS"; else AVAmigrate="--acnt=$UNIXSS"; fi
			elif [ "$AVAmigrate" = "--acnt=TAGGED" ]
                        then
                                if [ "$(grep "^$Siteid," $CFG | wc -l | awk '{print $1}')" -eq "1" ]
                                then
					targethostname="$(hostname -s)"
					if [ -f $BULOCATION/customize/multiads ]
					then
                                        	AVAmigrate="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print "--acnt=/ADME/AVASOURCE/"$5"-ADME"}' | sed -n "s/AVASOURCE/$targethostname/"gp)"
					else
                                        	AVAmigrate="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print "--acnt=/ADME/"$5"-ADME"}')"
					fi
                                       echo "INFO-60B: AVAmigrate using target account: $AVAmigrate"
                                else
                                        echo "$ERRORX-60C: Use of the$WHITE_FG TAGGED$RED_FG argument with$WHITE_FG -avamigrate$RED_FG is incompatible with group [$WHITE_FG $Siteid$RED_FG ]. Only one client per group$DEF"
                                        echo "         $RED_FG  is permitted or you can limit client selection to one using $WHITE_FG -client$RED_FG option within a job policies selection criteria$DEF"
                                        errx=1
                                fi

			elif [ "$AVAmigrate" = "--acnt=ORIGINAL" ]
			then
				if [ "$(grep "^$Siteid" $CFG | wc -l | awk '{print $1}')" -eq "1" ]
				then
					AVAmigrate="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print "--acnt="$4"/"$5}')"
#					echo "INFO-60B: AVAmigrate using target account: $AVAmigrate"
				elif [ "$(grep "^$Siteid" $CFG | wc -l | awk '{print $1}')" -gt "1" -a "$(wc -l $TMP_PATH/snapups2tape.txt | awk '{print $1}')" -eq "1" ]
				then
					clix="$(awk -F\| '{print $1}' $TMP_PATH/snapups2tape.txt)"
						AVAmigrate="$(grep "^$Siteid" $CFG | grep "$clix" | head -1 | awk -F, '{print "--acnt="$4"/"$5}')"
						echo "INFO-60C: AVAmigrate using target account: $AVAmigrate"
				else
					echo "$ERRORX-60C: Use of the$WHITE_FG ORIGINAL$RED_FG argument with$WHITE_FG -avamigrate$RED_FG is incompatible with group [$WHITE_FG $Siteid$RED_FG ]. Only one client per group$DEF"
					echo "         $RED_FG  is permitted or you can limit client selection to one using $WHITE_FG -client$RED_FG option within a job policies selection criteria$DEF"
					errx=1
				fi
			fi
			if [ "$errx" -ne "0" ];then exit 1; fi

			echo "$GREEN_BG$WHITE_FG TARGET-AVAMAR-INFO$DEF" 
			echo "$GREEN_FG       Target Avmamar: [$WHITE_FG $BUSERVER_NAME$GREEN_FG ]"
			echo "$GREEN_FG       Target Account: [$WHITE_FG $AVAmigrate$GREEN_FG ]"
			echo "$GREEN_FG Target Export Policy: [$WHITE_FG $Pool$GREEN_FG ]$DEF"
			echo ""
				
			if [ "$(echo "$Pool" | grep -c "ddr-index=")" -eq "0" -a "$(echo "$Tpolicy" | grep -c "ddr-index=")" -eq "0" ];then Ddrx="--ddr-index=1"; else Ddrx=""; fi

			dash=""
			if [ "$Labelx" = "" ];then labelname="ADME-$Siteid"
			else labelname="ADME-$Siteid$dash$Labelx"; fi
					
 			Save="$BACKUPPRODUCTHOMEUNIX/avtar -c --hfsaddr=$BUSERVER_NAME --label=$labelname --ddr $Ddrx $Quiet --id=$uid --password=$pwid $AVAmigrate $Pool $stagedir >> $CLOG 2>&1"
 			Save_w="$BACKUPPRODUCTHOMEWIN/avtar.exe -c --hfsaddr=$BUSERVER_NAME --label=$labelname --ddr $Ddrx $Quiet --freezemethod=none --id=$uid --password=$pwid $AVAmigrate $Pool $stagedir_w >> $CLOG_W 2>&1"
			Save_CMD_w="$BACKUPPRODUCTHOMEWIN/avtar.exe -c --hfsaddr=$BUSERVER_NAME --label=$labelname --ddr $Ddrx $Pool $Quiet --freezemethod=none --id=***** --password=***** $AVAmigrate $stagedir_w >> $CLOG_W 2>&1"
			Save_CMD="$BACKUPPRODUCTHOMEUNIX/avtar -c --hfsaddr=$BUSERVER_NAME --label=$labelname --ddr $Ddrx $Pool $Quiet --freezemethod=none --id=***** --password=***** $AVAmigrate $stagedir >> $CLOG 2>&1"
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "netbackup" ]
	then
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh


		elif [ "$Servertape" -eq "1" -a "$Group" != "n/a" ]
		then
			if [ $(echo "$Group" | grep -c "KEYDATE") -eq "1" ] 
			then
				Group_=$(echo "$Group" | sed -n "s/KEYDATE//"p); Group="$Group_"
				Keydate="-k $(head -1 $TMP_PATH/snapups2tape.txt 2>/dev/null | awk -F\| '{print $NF}')"
			else
				Keydate=""
			fi
			if [ `echo "$Group" | grep -c "\-i "` -eq "1" ]
			then
				Save="$BACKUPPRODUCTHOMEUNIX/bpbackup -S $BUSERVER_NAME $Group $Keydate -w  >> $CLOG 2>&1"
				Save_w="$BACKUPPRODUCTHOMEWIN/bpbackup.exe -S $BUSERVER_NAME $Group $Keydate -w >> $CLOG_W 2>&1"
			else
				Save="$BACKUPPRODUCTHOMEUNIX/bpbackup -i -S $BUSERVER_NAME -w $Keydate -p $Group  >> $CLOG 2>&1"
				Save_w="$BACKUPPRODUCTHOMEWIN/bpbackup.exe -i -S $BUSERVER_NAME -w $Keydate -p $Group >> $CLOG_W 2>&1"
			fi
			Srvinit=1
			common_tape_script1
		else
			if [ $(echo "$Pool" | grep -c "KEYDATE") -eq "1" ] 
			then
				Pool_=$(echo "$Pool" | sed -n "s/KEYDATE//"p); Pool="$Pool_"
				Keydate="-k $(head -1 $TMP_PATH/snapups2tape.txt 2>/dev/null | awk -F\| '{print $NF}')"
			else
				Keydate=""
			fi
			if [ `echo "$Pool" | grep -c "\-i "` -eq "1" ]
                        then
 				Save="$BACKUPPRODUCTHOMEUNIX/bpbackup $Pool -w $Keydate >> $CLOG 2>&1"
				Save_w="$BACKUPPRODUCTHOMEWIN/bpbackup.exe $Pool -w  $Keydate >> $CLOG_W 2>&1"
			else
 				Save="$BACKUPPRODUCTHOMEUNIX/bpbackup -w -S $BUSERVER_NAME -p $Pool $Keydate $stagedir >> $CLOG 2>&1"
				Save_w="$BACKUPPRODUCTHOMEWIN/bpbackup.exe -w -S $BUSERVER_NAME -p $Pool $Keydate $stagedir_w >> $CLOG_W 2>&1"
			fi
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "netvault" ]
	then

		if [ -s $BULOCATION/customize/netvault.cfg ]
		then
			nvcmd="$(grep "^NVCMD=" $BULOCATION/customize/netvault.cfg | head -1 | awk -F= '{print $2}')"
		else
			nvcmd="nvjobstart"
		fi
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh
		elif [ "$Servertape" -eq "1" -a "$Group" != "n/a" ]
		then
			Save="$BACKUPPRODUCTHOMEUNIX/$nvcmd -server $BUSERVER_NAME -wait $Group >> $CLOG 2>&1"
			Save_w="$BACKUPPRODUCTHOMEWIN/$nvcmd.exe -server $BUSERVER_NAME -wait $Group >> $CLOG_W 2>&1"

			Srvinit=1
			common_tape_script1
		else
 			Save="$BACKUPPRODUCTHOMEUNIX/$nvcmd -server $BUSERVER_NAME -verbose -wait $Pool >> $CLOG 2>&1"
			Save_w="$BACKUPPRODUCTHOMEWIN/$nvcmd.exe -server $BUSERVER_NAME -verbose -wait $Pool >> $CLOG_W 2>&1"
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "brightstore" -o "$BACKUPPRODUCT" = "arcserv" ]
	then
		unixss=`echo "$UNIXSS" | awk -F/ '{print $NF}'`; windowss=`echo "$WINDOWSS" | awk -F/ '{print $NF}'`
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh


		elif [ "$Servertape" -eq "1" -a "$Group" != "n/a" ]
		then
			if [ "$(echo "$unixss" | grep -c "$BUSERVER_NAME")" -eq "0" ]
			then
				source_=" -cahost $BUSERVER_NAME -source $unixss"
			else
				source_=" -cahost $BUSERVER_NAME -source $BUSERVER_NAME"
#				if [ "$(echo "$Group" | grep -ce "-source")" -eq "0" ];then source_=" -cahost $BUSERVER_NAME -source $unixss"; else source_=""; fi
			fi

			if [ "$(echo "$windowss" | grep -c "$BUSERVER_NAME")" -eq "0" ]
			then
				source_w=" -cahost $BUSERVER_NAME -source $windowss"
			else
				source_w=" -cahost $BUSERVER_NAME -source $BUSERVER_NAME"
			fi

			if [ "$(echo "$Group" | grep -ce "-cahost")" -eq "0" ];then cahost_=" -cahost $BUSERVER_NAME"; else cahost_=""; fi

			if [ -s $BULOCATION/customize/tape_custom.txt ]
			then
				custom="$(head -1 $BULOCATION/customize/tape_custom.txt)"
				Save="$BACKUPPRODUCTHOMEUNIX/$custom  >> $CLOG 2>&1"
				Save_w="call $BACKUPPRODUCTHOMEWIN/$custom >> $CLOG_W 2>&1"
			else
				Save="$BACKUPPRODUCTHOMEUNIX/ca_backup $source_ -runjobnow -waitForJobStatus $Group $stagedir  >> $CLOG 2>&1"
				Save_w="call $BACKUPPRODUCTHOMEWIN/ca_backup $source_w -runjobnow -waitForJobStatus $Group $stagedir_w >> $CLOG_W 2>&1"
				Srvinit=1
			fi
			common_tape_script1
		else
			if [ "$(echo "$unixss" | grep -c "$BUSERVER_NAME")" -eq "0" ]
			then
				source_=" -cahost $BUSERVER_NAME -source $unixss"
			else
				source_=" -cahost $BUSERVER_NAME -source $BUSERVER_NAME"
			fi

			if [ "$(echo "$windowss" | grep -c "$BUSERVER_NAME")" -eq "0" ]
			then
				source_w=" -source $windowss"
			else
				source_w=" -source $BUSERVER_NAME"
			fi

			if [ "$(echo "$Pool" | grep -ce "-cahost")" -eq "0" ];then cahost_=" -cahost $BUSERVER_NAME"; else cahost_=""; fi
 			if [ "$(echo "$Pool" | grep -ce "cabatch")" -eq "0" ];then cacmd="ca_backup"; else cacmd="cabatch"; fi


			if [ -s $BULOCATION/customize/tape_custom.txt ]
			then
				custom="$(head -1 $BULOCATION/customize/tape_custom.txt)"
				Save="$BACKUPPRODUCTHOMEUNIX/$custom  >> $CLOG 2>&1"
				Save_w="call $BACKUPPRODUCTHOMEWIN/$custom >> $CLOG_W 2>&1"
			else
				if [ "$cacmd" = "cabatch" ]
				then
					Pool_="$(echo "$Pool" | sed -n "s/-cabatch//"p)"
					Save="$BACKUPPRODUCTHOMEUNIX/$cacmd /MODE=submit /H=$cahost_ /S=$Pool_ /W >> $CLOG 2>&1"
					Save_w="call $BACKUPPRODUCTHOMEWIN/$cacmd /MODE=submit /H=$cahost_ /S=$Pool_ /W >> $CLOG 2>&1"
				else
					Save="$BACKUPPRODUCTHOMEUNIX/$cacmd $cahost_ $source_w -runjobnow -waitForJobStatus $Pool $stagedir >> $CLOG 2>&1"
					Save_w="call $BACKUPPRODUCTHOMEWIN/$cacmd $cahost_ $source_w -runjobnow -waitForJobStatus $Pool $stagedir_w >> $CLOG_W 2>&1"
				fi
			fi
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "hpdp" -o "$BACKUPPRODUCT" = "HPDP" ]
	then
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh


		elif [ "$Servertape" -eq "1" -a "$Group" != "n/a" ]
		then
			Save="$BACKUPPRODUCTHOMEUNIX/omnib -datalist $Group >> $CLOG 2>&1"
			Save_w="$BACKUPPRODUCTHOMEWIN/omnib.exe -datalist $Group >> $CLOG_W 2>&1"
			Srvinit=1
			common_tape_script1
		else
			stagedir=""
			Save="$BACKUPPRODUCTHOMEUNIX/omnib -datalist $Pool >> $CLOG 2>&1 "
			Save_w="$BACKUPPRODUCTHOMEWIN/omnib.exe -datalist $Pool >> $CLOG_W 2>&1"
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "ppdm" -o "$BACKUPPRODUCT" = "PPDM" ]
	then
		if [ "$Stageonly_" -eq "1" ]
		then
			Save="Staging Mode Only Set"
 			echo "echo \"$Save\"" >> $TMP_PATH/autotapeout$Cfg.sh
 			echo "exit 1" >> $TMP_PATH/autotapeout$Cfg.sh


		elif [ "$Servertape" -eq "1" -a "$Group" != "n/a" ]
		then
			Save="$BACKUPPRODUCTHOMEUNIX/ddfssv -l FULL $Group >> $CLOG 2>&1"
			Save_w="$BACKUPPRODUCTHOMEWIN/ddfssv -l FULL $Group >> $CLOG_W 2>&1"
			Srvinit=1
			common_tape_script1
		else
			slash="/"
			ppdmvol_w="$(echo -E "$stagedir" | cut -b 1-4)"; ppdmvol_w="$ppdmvol_w$slash"
                        ppdmvol="$(echo "$stagedir" | awk -F/ '{print "/"$2}')"
			Save="$BACKUPPRODUCTHOMEUNIX/ddfssv -l FULL $Pool $ppdmvol >> $CLOG 2>&1 "
			Save_w="$BACKUPPRODUCTHOMEWIN/ddfssv -l FULL $Pool $ppdmvol_w >> $CLOG_W 2>&1"
			Save_w_CMD="$Save_w"
			Save_CMD="$Save"
			Srvinit=0
			common_tape_script1
		fi
		common_tape_script2

 	elif [ "$BACKUPPRODUCT" = "Cloud-GW" ]
	then
		Stageonly_=1
	else
		echo "\n$ERRORX-??E: Invalid migration backup product specified in environment file [$WHITE_FG $BACKUPPRODUCT $RED_FG]$DEF" | tee -a $LOG
		mail_rtn
		exit 1
 	fi

	chmod 770 $TMP_PATH/autotapeout$Cfg.sh >/dev/null 2>&1
	if [ "$Stageonly_" -eq "0" ]
	then
		echo "INFO-12A: Using AUTO generated export script for [$BACKUPPRODUCT]" >> $LOG
	else
		echo "INFO-12B: Skipping AUTO generated export script for [$BACKUPPRODUCT]" >> $LOG
	fi
}

atositeid_rtn()
{
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled atositeid_rtn()"; set -x 
	fi
	if [ "$Retry" -eq "0" -a "Rerun" -eq "0" ]
	then
		export Atositeid="$TMP_PATH/.atositeid"
		touch $TMP_PATH/.atositeid >/dev/null 2>&1
	elif [ "$Retry" -eq "1" ]
	then
		export Atositeid="$TMP_PATH/.atositeid.retry"
		grep -v "|" $TMP_PATH/.retry.tmp.$Recfile | egrep -v "^A RERUN|^A RETRY" > $Atositeid
	elif [ "$Rerun" -eq "1" ]
	then
		export Atositeid="$TMP_PATH/.atositeid.rerun"
		grep -v "|" $TMP_PATH/.rerun.tmp.$Recfile | egrep -v "A RERUN|A RETRY" > $Atositeid
	fi
}

purge_rtn()
{
#	succeed at all then none will be automatically purged. 
	
  	if [ "$Debug" -ge "6" ]
  	then
  		echo "TRACE: Enabled purgertn()"; set -x 
  	fi

	if [ -f $TMP_PATH/.stageonly_adm_purge_list.dat ]
	then
		mv $TMP_PATH/.stageonly_adm_purge_list.dat $TMP_PATH/adm_purge_list.dat >/dev/nul 2>&1
	fi

	last_cnt="$(wc -l $TMP_PATH/adm_purge_list.dat | awk '{print $1}')"; cnt=0
	ecnt=0; okcnt=0; skipcnt=0
	rm $TMP_PATH/adm_purge_list.tmp >/dev/null 2>&1

        echo "\n$CYAN_FG ==========================================< PURGE - DETAILS >========================================$DEF\n"
        echo "Backup purge process initiated...\n" | tee -a $LOG

	if [ -f $BULOCATION/customize/NOPURGE -a "$purgefilechk" -eq "0" ]
	then
		purgefilechk="1"
		echo "$RED_BG$WHITE_FG Warning:$DEF$RED_FG Flag file$WHITE_FG $BULOCATION/customize/NOPURGE$RED_FG exists preventing the$WHITE_FG -purge$RED_FG process from being executed.$DEF" | tee -a $LOG
	fi

        while true
      	do
              	cnt=$(expr $cnt + 1)
              	p="$(sed -n "$cnt,$cnt"p $TMP_PATH/adm_purge_list.dat)"
              	atogrp=$(echo "$p" | awk -F\| '{print $1}')
              	atoclient=$(echo "$p" | awk -F\| '{print $2}')
              	atodomain=$(grep "^$atogrp" $CFG | grep "$atoclient" | tail -1 | awk -F, '{print $4}')
              	atobuid=$(echo "$p" | awk -F\| '{print $3}')
		atobuid_=$(printf '%7.7d' $atobuid)
              	atostat=$(echo "$p" | awk -F\| '{print $4}')

              	atodate="$(grep "^$atoclient" $TMP_PATH/snapups2tape.txt | grep "/$atobuid_" | head -1 | awk -F\| '{print $4}')"
              	if [ "$atostat" = "Completed" ]
              	then
			if [ ! -f $BULOCATION/customize/NOPURGE ]
			then
				if [ "$(echo "$atoclient" | grep -c "AerRecovery")" -eq "1" ]
				then
					cmd_build="$HOMEPATH/avtar --delete --acnt=$atodomain/$atoclient $AVTAR_credential --quiet --force --labelnumber=$atobuid"
				else
                      			cmd_build="$HOMEPATH/mccli backup delete --domain=$atodomain --name=$atoclient --labelNum=$atobuid --created=$atodate --force=true"
				fi
			else
 				cmd_build="echo $(date) NOPURGE flag file exists"
			fi
                      	if [ "$Debug" -ge "2" ]; then echo "\nTRACE-50: $cmd_build\n" >> $LOG; fi
                      	if [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-50: $cmd_build\n"; fi
                      	$cmd_build >> $TMP_PATH/adm_purge_list.tmp 2>&1
                      	if [ "$?" -ne "0" ]
                      	then
               			echo "$ERRORX-50B: Purge Failed: Domain-Name=$WHITE_FG$atodomain$RED_FG Client-Name=$WHITE_FG$atoclient$RED_FG Label-Num=$WHITE_FG$atobuid$RED_FG BU-Date=$WHITE_FG$atodate $DEF" | tee -a $LOG
				ecnt=$(expr $ecnt + 1)
			else
                      		echo "INFO-50A:$GREEN_FG Purge Succeeded:$CYAN_FG Domain-Name=$WHITE_FG$atodomain$CYAN_FG Client-Name=$WHITE_FG$atoclient$CYAN_FG Label-Num=$WHITE_FG$atobuid$CYAN_FG BU-Date=$WHITE_FG$atodate $DEF" | tee -a $LOG
				okcnt=$(expr $okcnt + 1)
                      	fi
              	else
                      	echo "$ERRORX-50C: Purged Skipped: Domain-Name=$WHITE_FG$atodomain$RED_FG Client-Name=$WHITE_FG$atoclient$RED_FG Label-Num=$WHITE_FG$atobuid$RED_FG BU-Date=$WHITE_FG$atodate $DEF" | tee -a $LOG
			skipcnt=$(expr $skipcnt + 1)
              	fi
        	if [ "$cnt" -lt "$last_cnt" ];then continue; else break; fi
      	done

      	echo "\nBackup purge process completed, results saved in $TMP_PATH/.adm_purge_list.dat" | tee -a $LOG
	cat $TMP_PATH/adm_purge_list.tmp >> $TMP_PATH/adm_purge_list.dat
      	mv $TMP_PATH/adm_purge_list.dat $TMP_PATH/.adm_purge_list.dat
	echo "Purge completion results, Status: Success-Cnt=$okcnt Skipped-Cnt=$skipcnt Err-Cnt=$ecnt Total-Cnt=$last_cnt" | tee -a $LOG 
	echo "Purge completion results, Status: Success-Cnt=$okcnt Skipped-Cnt=$skipcnt Err-Cnt=$ecnt Total-Cnt=$last_cnt" >> $TMP_PATH/.adm_purge_list.dat 
}

tapeout_rtn()
{
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled tapeout_rtn()"; set -x 
	fi
	error=0
	atositeid_rtn
	bulist_="snapups2tape.txt"
	
	echo "PID=$$ Action=tapeout From:`date`" > $TMP_PATH/adm.lck
	echo "\n$(date +'%Y-%m-%d %H:%M:%S') ==== $Version ==== MIGRATE \n" >> $LOG

	lastsiteid=`head -1 $Atositeid`
	if [ "$lastsiteid" = "MULTISITE" ]
	then
		echo "multisite" >/dev/null
	elif [ "$Siteid" != "$lastsiteid" ]
	then
		select_siteid=`head -1 $Atositeid 2>/dev/null | awk '{print $1}'`
		echo "\n$ERRORX-06F: GroupID specified [$WHITE_FG$Siteid$RED_FG] does not match siteid used during last -select for [$WHITE_FG$select_siteid$RED_FG]$DEF" | tee -a $LOG
		if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
		mail_rtn
		exit 1
	fi

	su="SS"; sw="S"
	ss_type=$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $15}')
	if [ "$ss_type" = "WINDOWS" ];then ss_type="$ss_type$sw"; else ss_type="$ss_type$su"; fi
	ss_server_name=$(grep "^$ss_type" $ENVCFG | head -1 | awk -F= '{print $2}')
	if [ "$ss_type" = "WINDOWS$sw" -o "$ss_type" = "UNIX$su" -a "$VdpRes" -eq "0" ]
	then
		echo "INFO-18A: Enabling Overtime on staging server [$ss_server_name]" | tee -a $LOG
		$HOMEPATH/mccli client edit --name=$ss_server_name  --overtime-option=ALWAYS >/dev/null 
	else
		echo "INFO-18C: Enabling VDP mode" | tee -a $LOG
	fi
	if [ "$($HOMEPATH/avmaint --version | grep "version:" | head -1 | awk '{print $2}' | egrep -c "^6.|^7.")" -eq "0" ];then Avaver=0; else Avaver=1; fi

	echo "User-Input: $ARGS" >> $LOG
	destination_tapeclient_chk
	if [ "$Tpolicy" != "" ]
	then
		Group="$Tpolicy"; Pool="$Tpolicy"
	fi
	if [ "$?" -eq "1" ]
	then
		echo "INFO-06: Config verification check have failed" | tee -a $LOG
		echo "INFO-11: Exiting Script ...."  | tee -a $LOG
		mail_rtn
		if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
		exit 1
	fi

	if [ "$Wolist" = "DEFAULT" ]; then Wolist="$bulist_"; else Wolist="snapups2tape.txt"; fi
 	ss=`grep "^$Siteid," $CFG | grep "$client," | tail -1 | awk -F, '{print $15}'`
 	if [ "$Tapebu" = "AUTO" ]
	then
		
		if [ "$Mode1" -eq "1" ]
		then
			grep "^$Siteid," $CFG | awk -F, '{print $10"/XX/"$5,$18}' | grep "INCDEL" | sed -n "s/XX/INCREMENTAL/"p > $TMP_PATH/incdel.tmp
		elif [ "$Mode1" -eq "2" ]
		then
			grep "^$Siteid," $CFG | awk -F, '{print $10"/XX/"$5,$18}' | sed -n "s/XX/INCREMENTAL/"p > $TMP_PATH/incdel.tmp
		elif [ "$Mode1" -eq "0" ]
		then
			grep "^$Siteid," $CFG | awk -F, '{print $10"/XX/"$5,$18}'| sed -n "s/XX/BYDATE/"p > $TMP_PATH/incdel.tmp
		fi
		if [ "$Stageonly_" -ne "1" ];then
  		policy_chk=`grep "^$Siteid," $CFG | head -1 | awk -F, '{print $14}'`
		chk1=""; chk2=""; chk3=""; chk4=""
		if [ "$Servertape" -eq "1" -a "$policy_chk" = "n/a" ]
		then
			chk1="$RED_FG           No server initiated tape policy defined in client configuration file [$WHITE_FG Fld-14 or Server-Initiated-Backup=$policy_chk $RED_FG]"
		fi
		if [ "$Servertape" -eq "1" -a "$TAVAINSTALLPATH" = "n/a" -o "$Servertape" -eq "1" -a "$TAVAINSTALLPATH" = "not-used" ]
		then
			chk2="$RED_FG           No Backup Server install path defined for Avamar agent in environment file variable [$WHITE_FG TAVAINSTALLPATH=$TAVAINSTALLPATH $RED_FG]"
		fi
		if [ "$Servertape" -eq "1" -a "$TAVADOMAINNAME" = "n/a" -o "$Servertape" -eq "1" -a "$TAVADOMAINNAME" = "not-used" -o "$Servertape" -eq "1" -a "$TAVADOMAINNAME" = "/ADME" ]
		then
			chk3="$RED_FG           A complete and unique backup server account name$WHITE_FG /Domain/buserveR-name$RED_FG is missing from environment variable [$WHITE_FG TAVADOMAINNAME=$TAVADOMAINNAME $RED_FG]"
		fi

#		if [ "$Servertape" -eq "1" -a "$(grep "^$BUSERVER_NAME " $BULOCATION/tmp/atocfg/.input.dat1.discover | grep -c "$TAVADOMAINNAME")" -eq "0" ]
		servername="$(echo "$TAVADOMAINNAME" | awk -F/ '{print $NF}')"
		if [ "$Servertape" -eq "1" -a "$(grep -c "^$servername" $BULOCATION/tmp/atocfg/.input.dat1.discover)" -eq "0" ]
		then
			chk4="$RED_FG           The Backup Server in environment file variable [$WHITE_FG $TAVADOMAINNAME $RED_FG] does not contain a valid activated client name to Avamar."
		fi
		if [ "$chk1" != "" -o "$chk2" != "" -o "$chk3" != "" -o "$chk4" != "" ]
		then
			echo "\n$ERRORX-06G: The$WHITE_FG -server$RED_FG option is specified used to support server-initiated tape exports.$DEF" | tee -a $LOG
			echo "$RED_FG           However, a required value is missing, incomplete or not configured correctly to support it.$DEF" | tee -a $LOG
			if [ "$chk1" != "" ];then echo "$chk1"  | tee -a $LOG; fi
			if [ "$chk2" != "" ];then echo "$chk2"  | tee -a $LOG; fi
			if [ "$chk3" != "" ];then echo "$chk3"  | tee -a $LOG; fi
			if [ "$chk4" != "" ];then echo "$chk4"  | tee -a $LOG; fi
			echo "$DEF INFO-11: Exiting Script ...."  | tee -a $LOG
			mail_rtn
			exit 1
		fi
		fi

		build_tape_script $ss

		cp $TMP_PATH/autotapeout$Cfg.bat $TMP_PATH/.autotapeout$Cfg.tab >/dev/null 2>&1
		cp $TMP_PATH/autotapeout$Cfg.sh $TMP_PATH/.autotapeout$Cfg.sh >/dev/null 2>&1
	else
		if [ ! -s $BULOCATION/scripts/$Tapebu ]
		then
			echo "$ERRORX-08A: User tape script not found [$Tapebu]$DEF" | tee -a $LOG
			echo "INFO-11: Exiting Script ...."  | tee -a $LOG
			if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
			mail_rtn
			exit 1
		else
			cp $BULOCATION/scripts/$Tapebu $TMP_PATH/autotapeout$Cfg.bat >/dev/null 2>&1
			cp $BULOCATION/scripts/$Tapebu $TMP_PATH/autotapeout$Cfg.sh >/dev/null 2>&1
			cp $BULOCATION/scripts/$Tapebu $TMP_PATH/.autotapeout$Cfg.tab >/dev/null 2>&1
			cp $BULOCATION/scripts/$Tapebu $TMP_PATH/.autotapeout$Cfg.sh >/dev/null 2>&1
		fi
	fi

	ppth=""	
	if [ "$ss" = "WINDOWS" ]
	then
#		if [ "$Tapebu" = "AUTO" ]
#		then
			ppth="$TMP_PATH/"; pscript="autotapeout$Cfg.bat"
#		else
#			ppth="$BULOCATION/scripts/"; pscript=`echo "$Tapebu" | awk -F/ '{print $NF}'`
#		fi
		ptype=3001; sdir="$WININSTALLPATH/etc/scripts"
	elif [ "$ss" = "UNIX" ]
	then
#		if [ "$Tapebu" = "AUTO" ]
#		then
			pscript="autotapeout$Cfg.sh"; ppth="$TMP_PATH/";
#		else
#			ppth="$BULOCATION/scripts/"; pscript=`echo "$Tapebu" | awk -F/ '{print $NF}'`
#		fi
		ptype=$Ptype_; sdir="$UNIXINSTALLPATH/etc/scripts/"
	fi

	if [ -f stoptape ]
	then
               	echo "DEBUGTAPE TAPESCRIPT-STOP"; exit
	fi

 	if [ "$Tapebu" = "MANUAL" ]
 	then
 		cmd_build="$CMD_tapeout --stagingdir=$Destx --manual --snapupoutput=$PSEUDOCLIENT --output=$Wolist"
 	elif [ "$Ssrv" != "LINUX" ]
 	then

		rm $TMP_PATH/adm_purge_list.dat >/dev/null 2>&1
		if [ "$Tape_only" -ne "1" ]
		then
			Final=0; rm $TMP_PATH/final.tmp >/dev/null 2>&1
			if [ "$MASK_ERROR_05A" = "true" ];then ignore05A=1; else ignore05A=0; fi

			non_linux_staging_rtn
			if [ "$?" -eq "1" -a "$Mode1" -eq "0" -a "$CloudDataPurge" -eq "0" -a "$Stageonly_" -eq "0" -a "$ignore05A" -eq "0" ]
			then
 				echo "$ERRORX-05A: Skipping export to tape due to no successfully staged recoveries$DEF" | tee -a $LOG
 				echo "INFO-11: Exiting Script ...."  | tee -a $LOG
				if [ "$Cfg" -eq "" ]; then Cfg=1; fi
 				mail_rtn
				if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
				echo "Env-$Cfg Session Complete: RC=1 `date +'20%y-%m-%d %H:%M'`" | tee -a $LOG
 				exit 1
			elif [ "$?" -eq "2" ]
			then
				Final=1
				echo "$Final" > $TMP_PATH/final.tmp
			fi
		else
			echo "INFO-09C: Export backup only will be performed" | tee -a $LOG
		fi

 		if [ "$Stageonly_" -eq "0" ]
		then

if [ "$VdpRes" -eq "0" ]
then
			if [ -s $BULOCATION/customize/tapescriptbu.txt ]
			then
				loop_cnt="$(head -1 $BULOCATION/customize/tapescriptbu.txt | awk '{print $1}' | awk -F= '{print $2}')" 
				sleep_time="$(head -1 $BULOCATION/customize/tapescriptbu.txt | awk '{print $2}' | awk -F= '{print $2}')" 
			else
				loop_cnt=4; sleep_time=15
			fi
			loop_cnt_=0
			while true
			do
				if [ "$VdpRes" -eq "1" ];then break; fi
				loop_cnt_="$(expr $loop_cnt_ + 1)"
  				$HOMEPATH/avtar -c --nocache --acnt=$snapupoutput --label=$pscript $AVTAR_expire $Quiet $AVTAR_credential $Use_DD $ppth$pscript >/dev/null 2>&1
				avtar_stat="$?"
				if [ $avtar_stat -ne 0 ]
				then
					if [ "$loop_cnt_" -gt "$loop_cnt" ]
					then 
						echo "$ERRORX-08B: Backup of tape script failed [$WHITE_FG$ppth$pscript RC=$avtar_stat$RED_FG] $DEF" | tee -a $LOG
						echo "Failed avtar Syntax: avtar -c --nocache --acnt=$snapupoutput --label=$pscript $AVTAR_expire $Quiet $AVTAR_credential $Use_DD $ppth$pscript" | tee -a $LOG
						echo "INFO-11: Exiting Script ...."  | tee -a $LOG
						if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
						mail_rtn
						exit 1
					else
						readonly_rtn 5
						echo "$ERRORX-08C: Backup of tape script failed, trying again [$WHITE_FG Loop-Cnt=$loop_cnt_ of $loop_cnt $CYAN_FG][$WHITE_FG RC=$avtar_stat$RED_FG] $DEF" | tee -a $LOG
						echo "Sleeping for $sleep_time seconds..."
						sleep $sleep_time
						continue
					fi
				else
					break
				fi
			done

			buid=`$HOMEPATH/avtar --backups --acnt=$snapupoutput $AVTAR_credential $Quiet | head -3 | tail -1 | awk '{print $3}'`
fi

			if [ "$Tape_only" -eq "1" ]
			then
 				sst1=`grep "^$Siteid," $CFG | tail -1 | awk -F, '{print $15}'`; S="S"
				if [ "$sst1" = "UNIX" ];then sst1="$sst1$S"; fi
				sst2=`grep "^$sst1" $ENVCFG  | tail -1 | awk -F= '{print $2}'`
				ss_="$sst2"
			fi

if [ "$VdpRes" -eq "0" ]
then
			for x in 1 2 3
			do
 				ptype=`$HOMEPATH/mccli client show-plugins $MCS_credential --name=$ss_ --verbose=true | grep " File System "| awk '{print $1}'` 
				if [ "$ptype" -eq "" ];then sleep 10; else break; fi
				if [ "$x" -eq "3" ];then break; fi
			done
			if [ "$ptype" -eq "3015" ];then ptype=3001
			elif [ "$ptype" -eq "" ]
			then
				if [ "$Servertape" -eq "1" ]
                        	then
					echo "$ERRORX-12C: An invalid or NULL plug-in value detected for server being used for tape export initiation [$WHITE_FG $BUSERVER_NAME $RED_FG] in this Environment#." | tee -a $LOG
					echo "           1. Ensure tape export server is activated and a functional client to Avamar." | tee -a $LOG
					echo "           2. Ensure environment variable [$WHITE_FG TAVAINSTALLPATH=$TAVAINSTALLPATH $RED_FG] is defined correctly for the OS platform involved." | tee -a $LOG
					echo "           3. Ensure environment variable [$WHITE_FG TAVADOMAINAME=$TAVADOMAINNAME $RED_FG] is defined correctly for using -server option, usually /ADME/Tape-Server-MCS-Name." | tee -a $LOG
				else
					echo "$ERRORX-12E: An invalid or NULL plug-in value detected for server being used for tape export backup initiation [$WHITE_FG $ss_ $RED_FG] in this Environment#." | tee -a $LOG
				fi
				echo "           4. Run an environment file parse check to verify its contents and the above mentioned variable  contents.$DEF" | tee -a $LOG
                       		mail_rtn
                       		if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
                       		exit 1
			fi
			if [ "$Servertape" -eq "0" ]
			then
 				cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$ppth$pscript --dest-client-name=$ss_ --dest-client-domain=$dom_ --dest-dir=$sdir --labelNum=$buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end=$pscript --plugin=$ptype --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT $MCCLI_avflags"
			elif [ "$Servertape" -eq "1" ]
			then
				if [ "$Cfg" -eq "1" ];then Cfg=""; fi
 				if [ $(echo "$TAVAINSTALLPATH" | grep -c ":") -gt "0" ]
				then
					pscript="autotapeout$Cfg.bat"; sdir="$TAVAINSTALLPATH/etc/scripts"
					ptype="3001"
				else
					pscript="autotapeout$Cfg.sh"; sdir="$TAVAINSTALLPATH/etc/scripts"
					ptype="1001"
#					ptype="$NETWORKERSERVEROS"
				fi
				ss_="$(echo "$TAVADOMAINNAME" | awk -F/ '{print $NF}')"
				dom_="$(echo "$TAVADOMAINNAME" | awk -F/ '{print "/"$2}')"
#ADAM TAPE SCRIPT BACKUP
				if [ "$VdpRes" -eq "0" ]
				then
   					$HOMEPATH/avtar -c --nocache --acnt=$snapupoutput --label=$pscript $Quiet $AVTAR_expire $AVTAR_credential $Use_DD $ppth$pscript >/dev/null 2>&1
#					$HOMEPATH/avtar --backups --acnt=$snapupoutput $AVTAR_credential $Quiet

					buid=$($HOMEPATH/avtar --backups --acnt=$snapupoutput $AVTAR_credential $Quiet | head -3 | tail -1 | awk '{print $3}')

  					cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$ppth$pscript --dest-client-name=$ss_ --dest-client-domain=$dom_ --dest-dir=$sdir --labelNum=$buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end=$pscript --plugin=$ptype --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT $MCCLI_avflags"
				fi
				ssx="$dom_/$ss_"; ss_="$ssx"
			fi
			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-10: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG; fi
			if [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-10: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi

			for rerun_cnt in 1 2
			do
				if [ "$VdpRes" -eq "1" ];then break; fi
				$cmd_build >$TMP_PATH/check 2>&1

				actidAK=`grep "activity-id" $TMP_PATH/check | awk '{print $2}'`
				if [ "$actidAK" != "" ] ;then break; fi


				if [ -f $TMP_PATH/check ]
				then
					echo "\n$RED_FG>>> Unable to detect a valid tape MCS Activity-ID" | tee -a $LOG
					echo ">>> File contents of [$WHITE_FG$TMP_PATH/check Rerun-Cnt=$rerun_cnt of 2 ]$DEF" | tee -a $LOG
					cat $TMP_PATH/check | tee -a $LOG
					echo "DEBUG-TRACE $cmd_build" >> $LOG
					stgcli="$(echo "$ss_" | awk -F\/ '{print $NF}')"
					found_it=""
				fi

				if [ "$actidAK" = "" ]
				then
					for search_cnt in 1 2 3 4
					do	
						if [ "$search_cnt" -gt "3" ];then break; fi
						sleep 5
						actidAK="$($HOMEPATH/mccli activity show $MCS_credential --verbose=true | grep "$stgcli" | grep "Restore" | egrep "Running|Waiting-Client|Waiting-Queued" | awk '{print $1}')"
						if [ "$actidAK" != "" ]
						then
							echo "$GREEN_FG>>> The search for a valid tape MCS session succeeded [$WHITE_FG Run-Cnt=$rerun_cnt of 2  Activity-ID#=$actidAK Search-Cnt=$search_cnt of 3 Status=Found ]$DEF" | tee -a $LOG
							echo "activity-id $actidAK" > $TMP_PATH/check
							found_it="foundit"
							break
						else
							echo "$RED_FG>>> The search for a valid tape MCS session failed [$WHITE_FG Run-Cnt=$rerun_cnt of 2 Activity-ID#=$actidAK Search-Cnt=$search_cnt of 3 Status=Not-Found ]$DEF" | tee -a $LOG
							rm $TMP_PATH/check > /dev/null 2>&1; touch $TMP_PATH/check
							found_it="notfound"
						fi
					done
				fi

				if [ "$found_it" = "foundit" -a "$actidAK" != "" ];then break; fi
				if [ "$rerun_cnt" -ge "2" -a "$actiAKd" -eq "" ]
				then
                				echo "\n$ERRORX-12F: Unable to detect a valid tape MCS session [$WHITE_FG Run-Cnt=$rerun_cnt of 2 Activity-ID#=$actidAK ]$DEF" | tee -a $LOG
                				mail_rtn
                				if [ "$Debug" -lt "3" ];then rm $TMP_PATH/* >/dev/null 2>&1; fi
                				exit 1
				else
					actidAK=""; found_it=""
				fi
			done
	fi
			if [ "$Srvinit" -eq "1" ]
			then
				if [ "$Tpolicy" != "" ]
				then
					workflow_namex="$Tpolicy"
				elif [ "$ENDOFYEAR" -ne "0" ]
                                then
                                        if [ "$(echo "$ENDOFYEAR" | grep -c ",")" -eq "0" ];then ENDOFYEAR_="$ENDOFYEAR"; else ENDOFYEAR_="$(echo "$ENDOFYEAR" | sed -n "s/,/\|/"gp)"; fi
                                        if [ "$(echo "$(date +'%m')" | egrep -c "$ENDOFYEAR_")" -eq "1" ]
                                        then
						workflow_namex="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $13}')"
						echo "\nINFO: Using End-Of-Year Export Policy in Fld-13 due to ENDOFYEAR variable match [$ENDOFYEAR]"
					else
						workflow_namex="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $14}')"
					fi
				else
					workflow_namex="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $14}')"
				fi
				Srvinit="BU-Server"; policyx="$workflow_namex"
			else
				Srvinit="STG-Client"; policyx="$Pool"
			fi

			if [ "$BACKUPPRODUCT" = "avamar" ]
			then
				message="Backing up to Target-Avamar=[$CYAN_FG$BUSERVER_NAME$DEF] Act-ID=$actid monitor its Session-Tab for progress ..."
			else
				message="Exporting data to $BACKUPPRODUCT Act-ID=$actid Please Wait ..."
			fi

 			epochstartexportdate="$(date '+%s')"
			threadx=""
			if [ "$Srvinit" = "BU-Server" ]
			then 
				threadx="$(grep "TAVADOMAINNAME=" $BULOCATION/etc/atoenv.cfg$Cfg | head -1 | awk -F= '{print "Thread="$2}')"
			fi

			echo "\n$CYAN_FG ==========================================< EXPORT - PHASE >===========================================$DEF"
			echo "\n$WHITE_FG Export-Application->$DEF[$CYAN_FG$BACKUPPRODUCT$DEF]$WHITE_FG->BUSRV$DEF[$CYAN_FG$BUSERVER_NAME$DEF]$WHITE_FG->POLICY$DEF[$CYAN_FG$policyx$DEF]$WHITE_FG->INITIATED-BY$DEF[$CYAN_FG$Srvinit $threadx$DEF]"
			if [ "$Debug" -ge "1" ];then echo "\n$WHITE_FG Export-Application->$DEF[$CYAN_FG$BACKUPPRODUCT$DEF]$WHITE_FG->BUSRV$DEF[$CYAN_FG$BUSERVER_NAME$DEF]$WHITE_FG->POLICY$DEF[$CYAN_FG$policyx$DEF]$WHITE_FG->INITIATED-BY$DEF[$CYAN_FG$Srvinit$DEF]" >> $LOG; fi

			if [ "$VdpRes" -eq "1" ]
			then
				echo "\n $GREEN_FG `date +'20%y-%m-%d %H:%M'` Exporting data to tape. Please Wait ... $DEF"
				$TMP_PATH/$pscript
			else
				err_message="$ERRORX-11A: Export backup initiation process either Failed,Canceled or Lost contact with MCS$DEF"
				monitor_loop "$err_message" "$message" "tape"
			fi


			if [ "$Cfg" -eq "1" ];then Cfg=""; fi
			rm $TMP_PATH/autotapeout$Cfg.stat >/dev/null 2>&1

#			$HOMEPATH/avtar --backups --acnt=$snapupoutput  $AVTAR_credential $Quiet 

  			recstat="$($HOMEPATH/avtar -x --acnt=$snapupoutput --overwrite=always $AVTAR_credential $Quiet --target=$TMP_PATH $sdir/autotapeout$Cfg.stat > /dev/null 2>&1)"
			if [ "$recstat" -ne "0" ]
			then
				echo "$ERRORX: Recovery of [$WHITE_FG autotapeout$Cfg.stat $RED_FG] to utiliy node has failed$DEF"
			fi

			if [ "$Debug" -le "2" ]
			then
 				pseudoclient_cleanup 4
			fi

#			 rm $TMP_PATH/autotapeout$Cfg.stat
			if [ ! -s $TMP_PATH/autotapeout$Cfg.stat -a -f $BULOCATION/customize/recapture.txt -a "$VdpRes" -eq "0" ]
                        then
				if [ "$Cfg" -eq "1" ];then Cfg=""; fi
				recapture_rtn autotapeout$Cfg.stat
				if [ -s $TMP_PATH/autotapeout$Cfg.stat ];then recapture_stat_verify autotapeout$Cfg; fi
			fi
				
			if [ -s $TMP_PATH/autotapeout$Cfg.stat ]
			then
				if [ "$BACKUPPRODUCT" = "networker" -o "$BACKUPPRODUCT" = "NETWORKER" ]
				then

					excludefilter="{|got|Skipping|Looking for action|Check action|prc_policy_progress_changed|101638"
					egrep -v "$excludefilter" $TMP_PATH/autotapeout$Cfg.stat > $TMP_PATH/autotapeout$Cfg.stat_nwk
					mv $TMP_PATH/autotapeout$Cfg.stat_nwk $TMP_PATH/autotapeout$Cfg.stat >/dev/null 2>&1

					if [ -s $BULOCATION/customize/UOFM.txt ]
					then
						UOFM="$(head -1 $BULOCATION/customize/UOFM.txt)"
						egrep -v "$UOFM" $TMP_PATH/autotapeout$Cfg.stat > $TMP_PATH/autotapeout$Cfg.stat1
						mv $TMP_PATH/autotapeout$Cfg.stat1 $TMP_PATH/autotapeout$Cfg.stat
					fi
				fi

				if [ "$BACKUPPRODUCT" = "tsm" -o "$BACKUPPRODUCT" = "TSM" ]
				then
					if [ "$Debug" -lt "4" -o "$DEBUG" -lt "4" ]
					then
						tsmfilter="Directory-->|Normal File-->"
						egrep -v "$tsmfilter" $TMP_PATH/autotapeout$Cfg.stat > $TMP_PATH/autotapeout$Cfg.stat_tsm
						mv $TMP_PATH/autotapeout$Cfg.stat_tsm $TMP_PATH/autotapeout$Cfg.stat >/dev/null 2>&1
					fi
				fi

				if [ "$BACKUPPRODUCT" = "backupexec" -o "$BACKUPPRODUCT" = "backupexec2012" ]
				then
					
					egrep -v "\.\.\." $TMP_PATH/autotapeout$Cfg.stat > $TMP_PATH/autotapeout$Cfg.stat_buexec
					mv $TMP_PATH/autotapeout$Cfg.stat_buexec $TMP_PATH/autotapeout$Cfg.stat >/dev/null 2>&1
				fi

				echo "\n$CYAN_FG ==========================================< EXPORT - DETAILS  >========================================$DEF\n"
				rc_=`grep "TAPE_BACKUP_" $TMP_PATH/autotapeout$Cfg.stat | tail -1 | awk '{print $2}'`

				savefs_err="$(egrep "Unable to get|save failed|session failed|failed to reserve|lost connection to server|Cannot open a save session|save: error|system cannot find the|was aborted|RPC send operation failed|Unable to close save session|Cannot retrieve|did not run" $TMP_PATH/autotapeout$Cfg.stat | tail -1)"
				if [ "$savefs_err" != "" ]
				then
					rc_=1
					echo "$ERRORX-11F: Abnormal/Unexpected export message has been detected, manually verify the export BU is Ok - SUSPECT_TAPE_ERROR_TAPE_BACKUP_NOTOK=$rc_" >> $TMP_PATH/autotapeout$Cfg.stat
					Ereturn=1
				fi

				cp $TMP_PATH/autotapeout$Cfg.stat $TMP_PATH/.autotapeout$Cfg.stat
				stagepath="$(egrep "^CMD:" $TMP_PATH/autotapeout$Cfg.stat | head -1 | awk '{print $NF}')"

				if [ `grep -c "TAPE_BACKUP_OK" $TMP_PATH/autotapeout$Cfg.stat` -gt "0" ]
				then	
					s=`grep -v "^Client=" $TMP_PATH/autotapeout$Cfg.stat`
					if [ "$Debug" -ge "1" ]
					then
						echo "$WHITE_FG $Asciesc" >> $LOG; echo -E "$s" >> $LOG
					fi
					if [ "$DEBUG" -ge "1" ]
					then 
						echo "$WHITE_FG"; echo -E "$s"
					fi
					echo "$Asciesc $DEF" | tee -a $LOG
 					echo "INFO-09D: Migration export process Completed Ok $rc_" | tee -a $LOG

					if [ "$mcscheck" -eq "1" ]
					then
						mail_rtn
						Ereturn=1
					fi
					if [ "$enabledelete" -eq "0" -a "$Servertape" -eq "1" -a "$Mode1" -eq "0" -a "$mcscheck" -eq "0" ]
					then
						echo "\nINFO-09E: Initiating Post-Export-Deletion process on remote staging server ..."
						Postdelete=1
						postexport_script $Upst
					fi

					if [ "$Purge" -eq "1" ];then purge_rtn; fi

					if [ "$(ps -ef | grep "/usr/sbin/nsrexecd" | grep -vc "grep")" -eq "1" -a "$(echo "$BACKUPPRODUCT" | grep -c "networker")" -eq "1" ]
					then
						BACKUPPRODUCT="networker"

						stagepath="$(egrep "^CMD:" $TMP_PATH/autotapeout$Cfg.stat | head -1 | awk '{print $(NF - 1)}')"
                                                if [ "$(echo "$stagepath" | grep -c ":")" -ne "0" ]
                                                then
                                                        stgwin="$(echo "$stagepath" | sed -n "s/\//\\\\\\\/"gp)"
                                                        stagepath="$stgwin"
						else
							stagepath="$(egrep "^CMD:" $TMP_PATH/autotapeout$Cfg.stat | head -1 | awk '{print $NF}')"
                                                fi

 						epochendexportdate="$(date '+%s')"
						epochexportdiff="$(expr $epochendexportdate - $epochstartexportdate)"

                                		if [ "$epochexportdiff" -ge "3600" ]
						then
							epochhours="$(expr $epochexportdiff / 3600)"
						else
							epochhours="00"
						fi
						roundup="1"
						if [ -s $BULOCATION/customize/NWKEXPORTROUNDUP.txt ]
						then
							roundup="$(head -1 $BULOCATION/customize/NWKEXPORTROUNDUP.txt | awk '{print $1}')"
						fi
                                		elapsedexporttime="$(expr $epochhours + $roundup)"
						echo "elapsedexporttime=< $elapsedexporttime Hr"

if [ -f $BULOCATION/customize/NWKMETADATA.txt ];then set -x; fi
						if [ "$NWKsaveFlag" -eq "1" ];then QueryName="pool"; else QueryName="group"; fi

						if [ "$Srvinit" = "BU-Server" ]
						then
							if [ "$Tpolicy" != "" ]
							then
								workflow_name="$(echo "^$Tpolicy" | awk -F" ~w " '{print $2}' | awk '{print $1}')"
							elif [ "$ENDOFYEAR" -ne "0" ]
                                			then
                                        			if [ "$(echo "$ENDOFYEAR" | grep -c ",")" -eq "0" ];then ENDOFYEAR_="$ENDOFYEAR"; else ENDOFYEAR_="$(echo "$ENDOFYEAR" | sed -n "s/,/\|/"gp)"; fi
                                        			if [ "$(echo "$(date +'%m')" | egrep -c "$ENDOFYEAR_")" -eq "1" ]
                                        			then
									workflow_name="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $13}' | awk -F" -w " '{print $2}' | awk '{print $1}')"
								else
									workflow_name="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $14}' | awk -F" -w " '{print $2}' | awk '{print $1}')"
								fi
							else
								workflow_name="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $14}' | awk -F" -w " '{print $2}' | awk '{print $1}')"
							fi
							pool_only="$workflow_name"
						else
 							pool_only="$(echo "$Pool" | awk '{print $1}')"
						fi


						if [ "$Srvinit" = "BU-Server" ]
                                                then
							sleep 1; granularity="hour"

 							echo "CMD: /usr/sbin/mminfo -s $BUSERVER_NAME -octn -av -r \"client(27),ssid,ssflags,level(6),sscreate(17),sscomp(20),ssbrowse(12),ssretent(2),totalsize(14),nfiles(8),group(15),volume(10),name(25)\" -q \"$QueryName=$pool_only\" -t \"$elapsedexporttime $granularity ago\"" > $TMP_PATH/networker-report.tmp
  	 						/usr/sbin/mminfo -s $BUSERVER_NAME -octn -av -r "client(27),ssid,ssflags,level(6),sscreate(17),sscomp(20),ssbrowse(12),ssretent(2),totalsize(14),nfiles(8),group(15),name(25)" -q "$QueryName=$pool_only" -t "$elapsedexporttime $granularity ago" >> $TMP_PATH/networker-report.tmp 2>&1
							echo "mminfo - Original-Check elapsedexporttime=$elapsedexporttime $granularity"

							if [ "$(grep -c "no matches found" $TMP_PATH/networker-report.tmp)" -ne "0" ]
                                                        then
                                				elapsedexporttime="$(expr $elapsedexporttime + $roundup)"
								echo "CMD: /usr/sbin/mminfo -s $BUSERVER_NAME -octn -av -r \"client(27),ssid,ssflags,level(6),sscreate(17),sscomp(20),ssbrowse(12),ssretent(2),totalsize(14),nfiles(8),group(15),volume(10),name(25)\" -q \"$QueryName=$pool_only\" -t \"$elapsedexporttime $granularity ago\"" > $TMP_PATH/networker-report.tmp
                                                        	/usr/sbin/mminfo -s $BUSERVER_NAME -octn -av -r "client(27),ssid,ssflags,level(6),sscreate(17),sscomp(20),ssbrowse(12),ssretent(2),totalsize(14),nfiles(8),group(15),name(25)" -q "$QueryName=$pool_only" -t "$elapsedexporttime $granularity ago" >> $TMP_PATH/networker-report.tmp 2>&1
								echo "mminfo - Second-Check elapsedexporttime=$elapsedexporttime $granularity"
							fi

							if [ "$(grep -c "no matches found" $TMP_PATH/networker-report.tmp)" -ne "0" ]
							then 
								echo "$RED_BG$WHITE_FG WARNING: $DEF Unable to query Networker to collect related metadata using the following mminfo call"
								echo "CMD: /usr/sbin/mminfo -s $BUSERVER_NAME -octn -av -r \"client(27),ssid,ssflags,level(6),sscreate(17),sscomp(20),ssbrowse(12),ssretent(2),totalsize(14),nfiles(8),group(15),volume(10),name(25),volume(10)\" -q \"$QueryName=$pool_only\" -t \"$elapsedexporttime $granularity ago\""
								echo "mminfo - Third-Check elapsedexporttime=$elapsedexporttime $granularity"
							else
								stagepath="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $10}')"
								echo "mminfo - Final-Check metadata found"; read
								if [ "$(echo "$stagepath" | egrep -ic ":")" -eq "1" ]
								then
									wind=1
#									cat $TMP_PATH/networker-report.tmp  | sed -n "s/\\\/\//"gp | grep -n "^" | sed -n "s/:/ /"p > $TMP_PATH/networker-report.num
 									cat $TMP_PATH/networker-report.tmp  | sed -n "s/\\\/\//"gp | sort -ur | grep -n "^" | sed -n "s/:/ /"p > $TMP_PATH/networker-report.num
								else
									cat $TMP_PATH/networker-report.tmp | sort -u | grep -n "^" | sed -nr "s/:/ /"p > $TMP_PATH/networker-report.num
								fi
								cp $TMP_PATH/networker-report.num $TMP_PATH/.networker-report.num

								lcnt="$(grep -v "<" $TMP_PATH/networker-report.num | wc -l | awk '{print $1}')"
								if [ "$lcnt" -eq "1" ]
								then
									firstline="1"
								else
								firstline="$(grep -v "<" $TMP_PATH/networker-report.num | tail -2 | head -1 | awk '{print $1}')"
								firstline="$(expr $firstline + 1)"
								fi
								lastline="$(tail -1 $TMP_PATH/networker-report.num | awk '{print $1}')"
								savesets=""; bytecounts="0"; filecounts="0"; counter=0
								while true
								do
									linex="$(sed -n "$firstline,$firstline"p $TMP_PATH/networker-report.num | cut -f 1 -d ' ' --complement )"
									saveset="$(echo "$linex" | awk '{print $2}')"
									onesaveset="$saveset"
									savesets="$savesets$saveset"
									bytecount="$(echo "$linex" | awk '{print $11}')"	
									bytecounts="$(expr $bytecounts + $bytecount)"
									filecount="$(echo "$linex" | awk '{print $12}')"	
									filecounts="$(expr $filecounts + $filecount)"
									if [ "$firstline" -lt "$lastline" ]
									then
										firstline="$(expr $firstline + 1)"
										counter="$(expr $counter + 1)"
										continue
									fi
									fld1="$(echo "$linex" | awk '{print $1}')" 
									fld2="$onesaveset"

									fld3="$(echo "$linex" | awk '{print $3,$4,$5,$6,$7,$8,$9,$10}')"
									fld4="$bytecounts $filecounts"

									fld5="$(echo "$linex" | awk '{print $13}')"

									fld6="$(echo "$linex" | awk '{print $14}')"
									fld7="<$(expr $counter + 1)>$fld6"
									echo "$fld1 $fld2 $fld3 $fld4 $fld5 $fld7" >> $TMP_PATH/networker-report.tmp	
									break
								done
							fi
set -
if [ -f $BULOCATION/customize/NWKMETADATA.txt ];then set -; fi
						else
							echo "CMD: /usr/sbin/mminfo -s $BUSERVER_NAME -ocnt -av -r \"client(27),ssid,ssflags,level(6),sscreate(17),sscomp(20),ssbrowse(12),ssretent(2),totalsize(14),nfiles(8),group(15),name(25)\" -q \"$QueryName=$pool_only\" -t \"$elapsedexporttime hour ago\"" > $TMP_PATH/networker-report.tmp
 	 						/usr/sbin/mminfo -s $BUSERVER_NAME -otcn -av -r "client(27),ssid,ssflags,level(6),sscreate(17),sscomp(20),ssbrowse(12),ssretent(2),totalsize(14),nfiles(8),group(15),name(25)" -q "$QueryName=$pool_only" -t "$elapsedexporttime hour ago" >> $TMP_PATH/networker-report.tmp 2>&1
						fi

						if [ "$(wc -l $TMP_PATH/networker-report.tmp | awk '{print $1}')" -gt "1" -a "$(egrep -c "query|queryspec" $TMP_PATH/networker-report.tmp)" -eq "0" ]
						then	
							echo "=<$BLUE_BG$WHITE_FG Networker-Backup-Report$DEF >$head_w"
						else
							echo "=<$BLUE_BG$WHITE_FG NETworker-BACkup-REPort-ERROR$DEF >$head_w"
						fi

    						title="$(head -2 $TMP_PATH/networker-report.tmp | tail -1)"
        					Title="$(echo "$BLUE_BG$WHITE_FG$title                                                                             $DEF" | cut -b1-176)"
						echo "$Title"
						echo "$DEF$head_w============================$DEF"
						linecnt="$(wc -l $TMP_PATH/networker-report.tmp | awk '{print $1}')"

						stagepath="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $10}')"
						if [ "$(echo "$stagepath" | egrep -c ":")" -ne "0" ]
						then
							if [ "$Srvinit" != "BU-Server" ]
							then
								head -2 $TMP_PATH/networker-report.tmp > $TMP_PATH/networker-report.tmpx
								sed -n "s/\\\/\//"gp $TMP_PATH/networker-report.tmp >> $TMP_PATH/networker-report.tmpx
								mv $TMP_PATH/networker-report.tmpx $TMP_PATH/networker-report.tmp >/dev/null 2>&1
                                                		Infox="$(sed -n "3,$linecnt"p $TMP_PATH/networker-report.tmp | grep -i -e "$stagepath/" | grep -v "<" | tail -1)"
							fi
						else
                                                	Infox="$(sed -n "3,$linecnt"p $TMP_PATH/networker-report.tmp | grep -i -e "$stagepath/" | grep -v "<" | tail -1)"
						fi

						if [ "$Tpolicy" = "" -a "$NWKsaveFlag" -eq "1" ]
                                                then
                                                        Infox_tpolicy="$(echo "$Infox" | awk '{print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12" none "$14}')"
                                                        Infox="$Infox_tpolicy"
						elif [ "$Tpolicy" != "" -a "$NWKsaveFlag" -eq "1" ]
                                                then
                                                        Infox_tpolicy_a="$(echo "$Infox" | awk '{print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12}')"
							Infox_tpolicy_b=" $Tpolicy "
							Infox_tpolicy_c="$(echo "$Infox" | awk '{print $14}')"
							Infox="$Infox_tpolicy_a$Infox_tpolicy_b$Infox_tpolicy_c"
						elif [ "$Srvinit" = "BU-Server" ]
						then
                                                        Infox="$(tail -1 $TMP_PATH/networker-report.tmp)"
                                                fi
						echo "$GREEN_FG$Infox$DEF"

						audit_networker_info1="$Infox"
						mv $TMP_PATH/networker-report.tmp $TMP_PATH/.networker-report.tmp1 >/dev/null 2>&1

						echo "CMD: /usr/sbin/mminfo -s $BUSERVER_NAME -ocnt -av -r \"client(27),volume(28),volaccess(10),volretent(10),group(25),pool(20),name,family(7),barcode(8)\" -q \"$QueryName=$pool_only\" -t \"$elapsedexporttime hour ago\"" > $TMP_PATH/networker-report.tmp

						echo "$DEF$head_w============================$DEF"
						linecnt="$(wc -l $TMP_PATH/networker-report.tmp | awk '{print $1}')"
						if [ "$Srvinit" -eq "1" ]
						then 
							/usr/sbin/mminfo -s $BUSERVER_NAME -ocnt -av -r "client(27),volume(14),volaccess(10),volretent(10),group(25),pool(20),name,family(7),barcode(8)" -q "$QueryName=$pool_only" -t "$elapsedexporttime hour ago" >> $TMP_PATH/networker-report.tmp
						else
							/usr/sbin/mminfo -s $BUSERVER_NAME -ocnt -av -r "client(27),volume(14),volaccess(10),volretent(10),group(25),pool(20),name,family(7),barcode(8)" -q "$QueryName=$pool_only" -t "$elapsedexporttime hour ago" >> $TMP_PATH/networker-report.tmp
						fi
						if [ "$(echo "$stagepath" | egrep -c ":")" -ne "0" ]
						then
							mv $TMP_PATH/networker-report.tmp $TMP_PATH/networker-report.tmp2
							head -2 $TMP_PATH/networker-report.tmp2 > $TMP_PATH/networker-report.tmp
							sed -n "3,9999"p $TMP_PATH/networker-report.tmp2 | sed -n "s/\\\/\//"gp >> $TMP_PATH/networker-report.tmp
							rm $TMP_PATH/networker-report.tmp2 >/dev/null 2>&1
							Infox="$(grep -i -e "$stagepath/" $TMP_PATH/networker-report.tmp | grep -v "<" | tail -1)"
						else
                                                	Infox="$(cat $TMP_PATH/networker-report.tmp | grep -i -e "$stagepath" | grep -v "<" | tail -1)"
						fi
						iftape="$(tail -10 $TMP_PATH/networker-report.tmp | grep "$stagepath" | grep -i -c " tape ")"
						echo "=<$BLUE_BG$WHITE_FG Networker-Media-Report$DEF >=$head_w"
    						title="$(head -2 $TMP_PATH/networker-report.tmp | tail -1)"
        					Title="$(echo "$BLUE_BG$WHITE_FG$title                                                                             $DEF" | cut -b1-176)"
						echo "$Title"
						echo "$DEF$head_w============================$DEF"

						if [ "$iftape" -ne "0" ]
						then
							barcode="$(sed -n "3,15"p $TMP_PATH/networker-report.tmp | awk '{print $NF}' | sort -u)"
							for t in $(echo "$barcode")
							do
								barcodes="$barcodes $t"
							done
						else
							barcodes="n/a"
						fi
						
						audit_networker_pool="$(echo "$Infox"  | head -4 | tail -1 | awk '{print $6}')"
						audit_networker_volume="$(echo "$Infox" | head -4 | tail -1 |awk '{print $2}')"
						audit_networker_info2="$audit_networker_pool,$audit_networker_volume,$barcodes"

						echo "$GREEN_FG$Infox"
						echo "$GREEN_FG UNIQUE-BARCODES: $barcodes"
						echo "$DEF$head_w============================"
 						mv $TMP_PATH/networker-report.tmp $TMP_PATH/.networker-report.tmp2 >/dev/null 2>&1
					fi
					rm $TMP_PATH/.rerun.tmp >/dev/null 2>&1
				else
					s=`grep -v "^Client=|TAPE_BACKUP_NOTOK|RC=" $TMP_PATH/autotapeout$Cfg.stat`
					echo "$WHITE_FG $Asciesc" | tee -a $LOG
					if [ "$DEBUG" -ge "1" ];then echo -E " $s$DEF" | tee -a $LOG; else echo -E " $s" >> $LOG; fi
					echo "$Asciesc$DEF" | tee -a $LOG
					echo "$ERRORX-11B: Export Backup Process Incomplete $rc_, Check Job, Tape application and Networker policy Logs for more detail$DEF" | tee -a $LOG
					echo "$RED_FG           To RERUN: From ADMe, reexecute the job policy with -tapeonly option set $DEF" | tee -a $LOG
					if [ "$Purge" -eq "1" ]
					then
						echo "$RED_BG$WHITE_FG WARNING: $DEF Backup purge process skipped due to a failed or unconfirmed export backup status." | tee -a $LOG	
					fi
					cat $Atositeid > $TMP_PATH/.rerun.tmp
					echo "$RED_BG$WHITE_FG TAPE_NOTOK Migration backup failed `date +'%d/%m/%y %H:%M'` To RERUN Use: adme -sid $Siteid -migrate -tapeonly$DEF" >> $TMP_PATH/.rerun.tmp
					if [ "$Mode1" -ne "1" -a "$Mode1" -ne "2" -a "DeleteFlag" -eq "0" ]
					then
						echo "$RED_BG$WHITE_FG WARNING: $DEF$RED_FG Staged data has NOT been deleted due to failed or unconfirmed export backup status$DEF" | tee -a $LOG	
					elif [ "$Mode1" -ne "1" -a "$Mode1" -ne "2" -a "DeleteFlag" -eq "1" ]
					then
						echo "$RED_BG$WHITE_FG WARNING: $DEF$RED_FG Staged data was forcibly deleted [$WHITE_FG-delete$RED_FG] despite a failed or unconfirmed export backup status$DEF" | tee -a $LOG	
					fi
					Ereturn=1
				fi

				if [ "$BACKUPPRODUCT" = "networker" ]
				then
					echo "\n=<$BLUE_BG$WHITE_FG NETWORKER-BOOTSTRAP-REPORT:$DEF >======================================================================="
                        		echo "$BLUE_BG$WHITE_FG         date     time      level   ssid       file   record  volume                                   $DEF"
                        		echo "======================================================================================================="
					echo "$GREEN_FG $(/usr/sbin/mminfo -s $BUSERVER_NAME -B | sed -n "2,9999"p | tail -10)"
                        		echo "$DEF======================================================================================================="
				fi
			else
					
 				echo "$ERRORX-11C:  Unexpected error, failed to capture [$WHITE_FG autotapeout$Cfg.stat $RED_FG] file" | tee -a $LOG
				echo "            This error can be caused by any of the following conditions:" | tee -a $LOG
				echo "            1. The Utility node name defined in Env file-1 is incorrect check long/short name resolution requirements." | tee -a $LOG
				echo "            2. Name resolution issue between staging server and Avamar, confirm using nslookup and a manual Avamar backup of the staging server succeeds" | tee -a $LOG 
				echo "            3. Port issue 28001 or 28002 between Avamar & staging server, try an Avamar GUI on-demand backup of a file from staging area" | tee -a $LOG 
				echo "            4. Tape script timeout value was exceeded as defined in the Env file# used, increase its value if needed" | tee -a $LOG
				echo "            5. An incorrect or logic error within the tape script being used, ensure Korn shell is available on Unix/Linux staging server" | tee -a $LOG
				echo "            6. Review recapture of autotapeout$Cfg.stat file contents below if they exist$DEF" | tee -a $LOG
				echo "            7. The recapture of autotapeout$Cfg.stat file succeeded however its contents are out of date suggesting $DEF" | tee -a $LOG
				echo "               the newly created autotapeout.bat or .sh script was never executed. $DEF" | tee -a $LOG
				if [ "$Cfg" -eq "1" ];then Cfg=""; fi
				mail_rtn
				Ereturn=1
 			fi


		
		audit_write_rtn export

 		elif [ "$Stageonly_" -eq "1" ]
		then
			echo "INFO-09B: Staging only has been selected" | tee -a $LOG
		fi

		if [ "$VdpRes" -eq "0" ]
		then
			echo "INFO-18B: Removing Overtime from staging server [$ss_server_name]" | tee -a $LOG
               		$HOMEPATH/mccli client edit --name=$ss_server_name  --overtime-option=NEVER >/dev/null 2>&1
		fi

		if [ $Retry -eq 0 -a $Rerun -eq 0 ]
		then
			set -
		fi
		if [ "$Cfg" -eq "" ]; then Cfg=1; fi
		mail_rtn
		if [ "$Debug" -lt "3" ];then rm $TMP_PATH/* >/dev/null 2>&1; fi
		echo "Env-$Cfg Session Complete: RC=$Ereturn `date +'20%y-%m-%d %H:%M'`" | tee -a $LOG
		exit $Ereturn
 	else

		Destx=`tail -1 $TMP_PATH/destination.srt | awk '{print $1}'`
		if [ "$Tapebu" = "AUTO" ]; then Tapebu="$TMP_PATH/autotapeout$Cfg.sh"; fi

		if [ "$Sdate" = "" ; then avflg=""; else avflg="--avtarflags=\"--after=$Sdate\""; fi

		if [ "$Mode1" -eq "1" ];then incremental="--incremental"; else incremental=""; fi
 		cmd_build="$CMD_tapeout --stagingdir=$Destx --tapescript=$Tapebu --snapupoutput=$snapupoutput --axionfshost=`hostname` $incremental $avflg"
 		if [ "$Debug" -ge "2" ]; then echo "TRACE: $cmd_build\n" | tee -a $LOG
 		elif [ "$DEBUG" -ge "2" ]; then echo "TRACE: $cmd_build\n"; fi
 		echo "INFO-10:  Initiate staging using tapeout.pl" | tee -a $LOG
    		$cmd_build
 		if [ "$?" -ne "0" ]
 		then
			if [ -s /usr/local/avamar/etc/scripts/autotapeout$Cfg.stat ]
			then
				cp /usr/local/avamar/etc/scripts/autotapeout$Cfg.stat $TMP_PATH/autotapeout$Cfg.stat
				rc_=`grep "TAPE_BACKUP_NOTOK" $TMP_PATH/autotapeout$Cfg.stat`
				if [ `grep -c "TAPE_BACKUP_NOTOK" $TMP_PATH/autotapeout$Cfg.stat` -eq "0"  ]
				then	
					set -
#					rm $TMP_PATH/.rerun.tmp >/dev/null 2>&1
				else
					s=`grep -v "^Client=|TAPE_BACKUP_NOTOK" $TMP_PATH/autotapeout$Cfg.stat`
					echo "$WHITE_FG $Asciesc" | tee -a $LOG
					if [ "$DEBUG" -ge "1" ];then echo -E " $s$DEF" | tee -a $LOG; else echo -E " $s" >> $LOG; fi
					echo "$Asciesc$DEF" | tee -a $LOG
					if [ "$Stageonly_" -ne "1" ]
					then
						echo "$ERRORX-11D: Export Process Incomplete RC=1, Check Event Log$DEF" | tee -a $LOG
					fi
					cat $Atositeid > $TMP_PATH/.rerun.tmp
					echo "$RED_BG$WHITE_FG TAPE_NOTOK Migration backup failed `date +'%d/%m/%y %H:%M'` To RERUN: Using Job Manager, reexecute the job-name with -tapeonly option set $DEF" >> $TMP_PATH/.rerun.tmp
				fi
			else
 				echo "$ERRORX-11E Unexpected error, cannot retrieve export status file [$WHITE_FG autotapeout$Cfg.stat $RED_FG] file$DEF" | tee -a $LOG
 			fi
			if [ "$Stageonly_" -eq "0" ]
			then
 				echo "$ERRORX-05: An error was detected by tapeout.pl, verify tapeout.log file for details$DEF" | tee -a $LOG
 				echo "INFO-11: Exiting Script ...."  | tee -a $LOG
				if [ "$Cfg" -eq "" ]; then Cfg=1; fi
 				mail_rtn
				rm -f $TMP_PATH/*.lck >/dev/null 2>&1
				if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
				echo "Env-$Cfg Session Complete: RC=1 `date +'%m/%d/%y %H:%M'`" | tee -a $LOG
 				exit 1
			else
 				echo "INFO-09X: Staging only completed - Ok" | tee -a $LOG
			fi
 		else
 			if [ "$Stageonly_" -eq "0" ]
 			then
				if [ "$Debug" -ge "1" -o "$DEBUG" -ge "1" ]
				then
					cp /usr/local/avamar/etc/scripts/autotapeout$Cfg.stat $TMP_PATH/autotapeout$Cfg.stat 2>/dev/null
					s=`grep -v "^Client=|TAPE_BACKUP_" $TMP_PATH/autotapeout$Cfg.stat`
					echo "$WHITE_FG $Asciesc" | tee -a $LOG
					if [ "$DEBUG" -ge "2" ];then echo -E "$s" | tee -a $LOG; else echo -E "$s" >> $LOG; fi
					echo "$Asciesc$DEF" | tee -a $LOG
				fi
 				echo "INFO-09A: Migration backup completed - Ok" | tee -a $LOG
 			else
 				echo "INFO-09B: Staging only completed - Ok" | tee -a $LOG
 			fi
 		fi
		if [ "$Cfg" -eq "" ]; then Cfg=1; fi
		mail_rtn
		if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
		echo "Env-$Cfg Session Complete: RC=$Ereturn `date +'20%y-%m-%d %H:%M'`" | tee -a $LOG
		exit $Ereturn
 	fi
}

recapture_stat_verify()
{

if [ "mcscheck" -eq "1" ];then return; fi

	if [ -s $TMP_PATH/$1.stat ]
        then
	scriptdate="$(grep "Script-Created:" $TMP_PATH/$1.bat | head -1 | awk '{print $2,$3,$4,$5}')"
	statdate="$(grep "Script-Created:" $TMP_PATH/$1.stat | head -1 | awk '{print $1,$2,$3,$4}')"
		if [ "$scriptdate" = "$statdate" ]
		then
			echo "$GREEN_FG Date Verification Ok:$DEF\n   Stat-File-Date: $statdate\n Script-File-Date: $scriptdate\n Retaining this stat file"
		else
			echo "$RED_FG Date Verification Not-OK:$DEF\n Stat-File-Date: $statdate\n Script-File-Date: $scriptdate\n Discarding this stat file"
			rm $TMP_PATH/$1.stat >/dev/null 2>&1
		fi
	else
		echo "Recapture of stat file [$1.stat] was unsuccessful"
	fi
}

audit_file_rtn()
{

	goldauditfile="$BULOCATION/audit/.adme-audit.csv"
	audithistorypath="$BULOCATION/audit/history"
	while true
	do
	if [ ! -d $BULOCATION/audit/history ];then mkdir $BULOCATION/audit/history; fi
	workauditfile="$BULOCATION/audit/history/.workauditfile.csv"
	workauditfilenum="$BULOCATION/audit/history/.workauditfile.num"
	cp $goldauditfile $workauditfile 
	grep -n . $workauditfile | sed -n "s/:/: /"gp | awk -F, '{print $1,$2}' | grep -v MOD > $workauditfilenum
	clear

	echo "\n\n$GREEN_FG The audit record count can become too large to successfully load into the ADMe Web-UI Audit tab. To overcome this condition, audit records"
	echo " can be divided into a series of smaller files by line count or by year date range allowing them to be viewed individually from within the Audit tab."
	echo " These files are kept in$WHITE_FG /home/admin/admeadmin/audit/history$GREEN_FG directory."
	echo "\n It is important for ADMe be idle during the time audit files are being manipulated otherwise there will be a loss of audit records. The Audit tab"
	echo " reads only from the master audit file therefore when a smaller temporary file is put in place to be viewed from the audit tab, it must be replaced"
	echo " prior to using ADMe using your chosen new or original master audit file. The current master audit file$WHITE_FG $goldauditfile$GREEN_FG"
	echo " will be automatically saved anytime a replacement of it is made using the options available."
	echo "\n The master audit and the smaller files can be viewed and filtered using the custom spreadsheet provided with ADMe located in"
	echo "$WHITE_FG $BULOCATION/admeadmin/doc/adme-audit.xlsm$GREEN_FG and is the recommended approach for analysis. Use the embedded import macro to import a"
	echo " given audit file which must first be renamed to$WHITE_FG filtered-audit.csv and placed in a path name of C:/ADME."
	echo "\n "

	echo "$BLUE_BG$WHITE_FG Current Master Audit File Stats Summary:$DEF\n"
#	echo "\n======================================================\n"
	auditlinecnt="$(wc -l $workauditfile | awk '{print $1}')"
	stagingcnt="$(awk -F, '{print $1}' $workauditfile | grep -v "Export" | wc -l |  awk '{print $1}')"
 	oldestdate="$(head -1 $workauditfile | awk -F, '{print $2,$3}')"
	newestdate="$(tail -1 $workauditfile | awk -F, '{print $2,$3}')"
	exportcount="$(awk -F, '{print $1}' $workauditfile | grep "^Export" | wc -l | awk '{print $1}')" 
	uniqueseqcnt="$(ls -rtl $BULOCATION/audit/*.txt | wc -l | awk '{print $1}')"

	successexportcount="$(awk -F, '{print $1}' $workauditfile | grep "^Export-Succeeded" | wc -l | awk '{print $1}')"
	failexportcount="$(awk -F, '{print $1}' $workauditfile | grep "^Export-Failed" | wc -l | awk '{print $1}')"
	uniqueyears="$(awk -F, '{print $2}' $workauditfile | awk -F- '{print $1}' | sort -u | grep -v Err)"
	uniqueyearscnt="$(awk -F, '{print $2}' $workauditfile | awk -F- '{print $1}' | sort -u | grep -v Err | wc -l |awk '{print $1}')"
	firstyear="$(echo "$uniqueyears" | head -1)"
	lastyear="$(echo "$uniqueyears" | tail -2 | head -1)"
	echo "Audit-Record-Count:\t$auditlinecnt"
	echo "Audit-Sequence-Count:\t$uniqueseqcnt"
	echo "Audit-Oldest-Date:\t$oldestdate"
	echo "Audit-Newest-Date:\t$newestdate"
	echo "Audit-Export-Count:\t$exportcount"
	echo "Audit-Export-Success:\t$successexportcount"
	echo "Audit-Export-Failed:\t$failexportcount"
	echo "Unique-Year-Count:\t$uniqueyearscnt"
	timestamp="$(date +'%Y-%m-%d-%H-%M-%S')"
	echo "Master-Audit-File-#Copies: $(ls -rtl $audithistorypath/COPY-MASTER-AUDIT-FILE* 2>/dev/null | awk '{print $NF}' | wc -l | awk '{print $1}')"
	echo "\n$BLUE_BG$WHITE_FG Master Audit Record-Count-By-Year:$DEF\n"
	for a in $uniqueyears
	do
		yearlylinecnt="$(grep -c "$a$dash" $workauditfilenum)"
		echo "$a -> $yearlylinecnt"
	done
 	echo "\n======================================================\n"
 	echo "1. Divide master audit file by YEAR"
 	echo "2. Divide master audit file by Line-Count"
	echo "3. View/Install a filtered audit file as the master"
	echo "4. View/Delete filtered audit files$DEF"
	echo "\n======================================================"

	echo "\n$CYAN_FG Enter desired option by$WHITE_FG Row-# or Q=Quit$CYAN_FG : >$DEF $Asciesc"; read auditinput
	
	if [ "$auditinput" = "Q" -o "$auditinput" = "q" ]
	then
 		rm $workauditfile $workauditfilenum >/dev/null 2>&1
		exit
	elif [ "$auditinput" = "1" ]
	then
		echo "\n$CYAN_FG Enter a year value as$WHITE_FG YYYY$CYAN_FG or$WHITE_FG A$CYAN_FG for all years. [$WHITE_FG A=All-Years$CYAN_FG or$WHITE_FG YYYY$CYAN_FG]$DEF :> $Asciesc"; read yearx
		if [ "$yearx" = "A" -o "$yearx" = "a" ]
		then
			for x in $uniqueyears
			do
				firstline="$(awk '{print $1,$3}' $workauditfilenum 2>/dev/null | grep "$x$dash" | head -1 | awk -F: '{print $1}')"
				lastline="$(awk '{print $1,$3}' $workauditfilenum 2>/dev/null | grep "$x$dash" | tail -1 | awk -F: '{print $1}')"
				if [ ! -s $audithistorypath/FILTERED_audit_year_$x.csv ]
				then
					sed -n "$firstline,$lastline"p $workauditfile > $audithistorypath/FILTERED_audit_year_$x.csv
					echo ">>> Moving lines [$firstline-$lastline] from file $workauditfile to $audithistorypath/FILTERED_audit_year_$x.csv"
					echo "\n$BLUE_BG$WHITE_FG Note: $DEF audit file [$WHITE_FG $audithistorypath/FILTERED_audit_year_$x.csv$DEF ] has been created..."
					lastfilename="$audithistorypath/FILTERED_audit_year_$x.csv"
				else
					echo "\n$RED_BG$WHITE_FG Warning: $DEF$RED_FG audit file [$WHITE_FG $audithistorypath/FILTERED_audit_year_$x.csv$RED_FG ] already exists, no action taken...$DEF"
				fi
				chmod 400 $audithistorypath/FILTERED* >/dev/null 2>&1
				lastyear="$x"
			done	
			echo "\nPress Enter to continue..."; read
		elif [ "$yearx" -gt "2008" -a "$yearx" -lt "2099" ]
		then
			firstline="$(awk '{print $1,$3}' $workauditfilenum 2>/dev/null | grep "$yearx$dash" | head -1 | awk -F: '{print $1}')"
			lastline="$(awk '{print $1,$3}' $workauditfilenum  2>/dev/null | grep "$yearx$dash" | tail -1 | awk -F: '{print $1}')"
			if [ ! -s $audithistorypath/FILTERED_audit_year_$yearx.csv ]
			then
				sed -n "$firstline,$lastline"p $workauditfile > $audithistorypath/FILTERED_audit_year_$yearx.csv
				echo "\n$BLUE_BG$WHITE_FG Copying lines from master audit file [$firstline-$lastline]$DEF to $audithistorypath/FILTERED_audit_year_$yearx.csv$DEF"
				echo "\nPress Enter to continue..."; read
			else
				echo "\n$RED_BG$WHITE_FG Warning: $DEF$RED_FG audit file [$WHITE_FG $audithistorypath/FILTERED_audit_year_$yearx.csv$RED_FG ] already exists, no action taken...$DEF"
				echo "\n >>> Manually move, delete or rename the above file-names as needed... Press Enter to continue..."; read
	
			fi
			chmod 400 $audithistorypath/FILTERED_audit_year* >/dev/null 2>&1
		else
			echo "\n<<< Input Invalid >>> Press Enter to continue..."; read
		fi 
	elif [ "$auditinput" = "2" ]
        then
		lastline="$(wc -l $workauditfile | awk '{print $1}')"
		echo "\n$CYAN_FG Enter desired line count to use. [$WHITE_FG Def=10000$CYAN_FG or enter$WHITE_FG Line-Count-Value Q$CYAN_FG=Quit]$DEF :> $Asciesc"; read linex
		if [ "$linex" = "" ];then lineinc="10000"
		elif [ "$linex" -gt "4999" -a "$linex" -le "$lastline" ];then lineinc="$linex"
		else
			echo "\n$RED_BG$WHITE_FG ERROR: $DEF illegal line count specified, must be 5000 or greater. lineinc=$lineinc"; sleep 1; continue
		fi	

		startline="1"	
		currlinecnt="$lineinc"
		echo ""
		while true
		do
			if [ "$currlinecnt" -gt "$lastline" ];then currlinecnt="$lastline"; fi
			if [ ! -s $audithistorypath/FILTERED_audit_$startline-$currlinecnt.csv ]
			then
				sed -n "$startline,$currlinecnt"p $workauditfile > $audithistorypath/FILTERED_audit_linecount_$startline-$currlinecnt-$timestamp.csv 
				echo "$BLUE_BG$WHITE_FG Filtered Audit File Created:$DEF $audithistorypath/FILTERED_audit_linecount_$startline-$currlinecnt-$timestamp.csv"
			else
				echo "$RED_BG$WHITE_FG Filtered Audit File Already Exists, no action taken:$DEF $audithistorypath/FILTERED_audit_linecount_$startline-$currlinecnt-$timestamp.csv"
				echo " >>> Manually move,delete or rename the above file-names as needed..."
			fi
			chmod 400 $audithistorypath/FILTERED_audit_linecount* >/dev/null 2>&1
			startline="$(expr $currlinecnt + 1)"
			if [ "$startline" -gt "$lastline" ];then break; fi
			currlinecnt="$(expr $currlinecnt + $lineinc)"
		done
		echo "\nProcess Completed, press enter to proceeed ...$Asciesc"; read; continue
	elif [ "$auditinput" = "3" ]
	then
 		ls -rtl $audithistorypath | grep -v "^total" | awk -F/ '{print $NF}' | egrep -n "FILTERED|COPY" | sed -n "s/:/. /"gp > $audithistorypath/.filteredhistory.tmp		
		maxfile="$(wc -l $audithistorypath/.filteredhistory.tmp | awk '{print $1}')"
		while true
		do
			echo
			cat $audithistorypath/.filteredhistory.tmp
			echo "\n=========================================================\n"
			echo "$CYAN_FG Choose by$WHITE_FG Row-#$CYAN_FG the filtered audit file name to put in place$DEF :> $Asciesc"; read filexnum
			if [ "$filexnum" -ge "1" -a "$filexnum" -le "$maxfile" ]
			then
				filex="$(sed -n "$filexnum,$filexnum"p $audithistorypath/.filteredhistory.tmp | awk '{print $NF}')"
				echo "\n$RED_BG$WHITE_FG Warning: $DEF$RED_FG You are about to overwrite the master audit file from file name$WHITE_FG [$filex]\n\n          $RED_FG confirm okay to proceed by entering the whole word$WHITE_FG YES/yes$DEF :> $Asciesc"; read confirm
				if [ "$confirm" = "YES" -o "$confirm" = "yes" ]
				then
					chmod 777 $goldauditfile
					cp $goldauditfile $audithistorypath/COPY-MASTER-AUDIT-FILE-$timestamp.csv >/dev/null 2>&1
					echo "\n$GREEN_BG$WHITE_FG Current-Master-Audit-File-Saved:$DEF$WHITE_FG $audithistorypath/COPY-MASTER-AUDIT-FILE-$timestamp.csv$DEF"
					cp $audithistorypath/$filex $goldauditfile
					echo "\n$GREEN_FG Master audit file has been updated using file$WHITE_FG $filex ...$DEF"
					chmod 440 $goldauditfile
					echo "\nThe master audit file has been updated, press enter to proceeed ...$Asciesc"; read; break
				else
					echo "\nThe master audit file has NOT been updated, press enter to proceeed ...$Asciesc"; read; break
				fi
			else break; fi
		done
	elif [ "$auditinput" = "4" ]
	then
 		ls -rtl $audithistorypath | grep -v "^total" | awk -F/ '{print $NF}' | egrep -n "FILTERED" | sed -n "s/:/. /"gp > $audithistorypath/.filteredhistory.tmp		
		maxfile="$(wc -l $audithistorypath/.filteredhistory.tmp | awk '{print $1}')"
		while true
		do
			echo
			cat $audithistorypath/.filteredhistory.tmp
			echo "\n=========================================================\n"
			echo "$CYAN_FG Choose by$WHITE_FG Row-#$CYAN_FG the filtered audit file to delete$DEF :> $Asciesc"; read filexnum
			if [ "$filexnum" -ge "1" -a "$filexnum" -le "$maxfile" ]
			then
				filex="$(sed -n "$filexnum,$filexnum"p $audithistorypath/.filteredhistory.tmp | awk '{print $NF}')"
				echo "\n$RED_BG$WHITE_FG Warning: $DEF$RED_FG You are about to delete filtered audit file$WHITE_FG [$filex]\n\n          $RED_FG confirm okay to proceed by entering the whole word$WHITE_FG YES$DEF :> $Asciesc"; read confirm
				if [ "$confirm" = "YES" ]
				then
					rm $audithistorypath/$filex >/dev/null 2>&1
					echo "\nThe selected filtered audit file has been removed, press enter to proceeed ...$Asciesc"; read; break
				else
					echo "\nThe selected filtered audit file has NOT been removed, press enter to proceeed ...$Asciesc"; read; break
				fi
			else break; fi
		done
	fi
	done
}

audit_get_rtn()
{

	sourcefile="$BULOCATION/audit/.adme-audit.csv"
	filteredfile=$BULOCATION/audit/filtered-audit.csv
	

	if [ "$(echo "$1" | grep -c "'")" -ne "0" ];then input="$(echo -e "$1" | sed -n "s/'//"gp)"
	else input="$1"; fi
	if [ "$(echo "$input" | grep -c "*")" -ne "0" ];then input="$(echo -e "$input" | sed -n "s/*//"gp)"
	else input="$1"; fi

	if [ "$(echo "$input" | grep -c "+")" -eq "1" ]
	then
		input="$(echo "$1" | sed -n "s/+/|/"gp)"
	fi
	r="$(echo "$input" | awk -F, '{print $1}' | awk -F= '{print $2}')"
	g="$(echo "$input" | awk -F, '{print $2}' | sed -n "s/g=//"p)"
	c="$(echo "$input" | awk -F, '{print $3}' | sed -n "s/c=//"p)"
	s="$(echo "$input" | awk -F, '{print $4}' | sed -n "s/s=//"p)"
	m="$(echo "$input" | awk -F, '{print $5}' | sed -n "s/m=//"p)"

	echo "Filter-Criteria: r=$r g=$g c=$c s=$s m=$m"

	if [ "$s" != "" ];then egrep ",$s" $sourcefile > $filteredfile
	elif [ "$r" != "" -a "$g" != "" ];then egrep "^$r" $sourcefile | egrep "Grp=$g," > $filteredfile
	elif [ "$r" != "" -a "$g" = "" ];then egrep "^$r" $sourcefile > $filteredfile
	elif [ "$g" != "" ];then egrep "Grp=$g," $sourcefile > $filteredfile
	elif [ "$c" != "" ];then egrep "Client=$c," $sourcefile > $filteredfile
	else grep "^" $sourcefile > $filteredfile; fi

	if [ "$m" = "Y" -o "$m" = "y" ]
	then
#		cp $filteredfile /tmp/adme-audit.csv >/dev/null 2>&1
		save_audit_file="$s"
		Prompt="nomail"
                gather_stats_rtn
		s="$save_audit_file"

		if [ "$s" != "" ]
		then
			mailfiles1="$BULOCATION/audit/filtered-audit.csv -a $BULOCATION/doc/adme-audit.xlsm -a $BULOCATION/stats/adme-property-stats.csv"
			if [ -s $BULOCATION/audit/$s.txt ]
			then
				echo "\nAssociated report file name: $BULOCATION/audit/$s.txt \n"
				mailfilesx="$mailfiles1 -a $BULOCATION/audit/$s.txt"
			else
				echo "\n$RED_FG Unable to stat associated report file name:$WHITE_FG $BULOCATION/audit/$s.txt$DEF \n"
				mailfilesx="$mailfiles1"
			fi

		elif [ "$r" != "^" -o "$g" != "," -o "$c" != "" -o "$s" != "" ]
		then
#			cp $filteredfile /tmp/adme-audit.csv >/dev/null 2>&1
			mailfilesx="$mailfiles1"
		else
#			cp $sourcefile /tmp/adme-audit.csv >/dev/null 2>&1
			mailfilesx="$mailfiles1"
		fi
		Prompt="noprompt"
		mail_file_rtn ADMe-Audit-CSV "$mailfilesx"
		if [ -s /tmp/adme-audit.csv ];then rm /tmp/adme-audit.csv >/dev/null 2>1; fi
	fi
	exit
}

audit_write_rtn()
{

	audit_type="$1"
	chmod 770 $BULOCATION/audit/.adme-audit.csv >/dev/null 2>&1
	chmod 770 $BULOCATION/audit >/dev/null 2>&1
	
	if [ "$audit_type" = "export" ]
	then 
		if [ "$Tpolicy" != "" ];then tpolicy="$Tpolicy"; fi
		if [ "$Destx" = "" ];then Destx="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $10}')"; fi
		if [ "$tpolicy" = "" ];then tpolicy="$(grep "^$Siteid," $CFG | head -1 | awk -F, '{print $12"|"$13"|"$14}')"; fi
		if [ "$ss__" = "" ];then ss__="$(echo "$ss_" | awk -F/ '{print $NF}')"; fi

		audit_record="Client=n/a,SSrv=$ss__,SPath=$Destx$dpath_,TSrv=$BUSERVER_NAME,TPolicy=$tpolicy"
		audit_orig_date="0"	

		if [ "$BACKUPPRODUCT" = "networker" -a "$audit_networker_info1" != "" ]
		then
			networker_info="$(echo "$audit_networker_info1" | awk '{print $2","$4","$5","$6","$7","$8","$9","$10","$11","$12","$14}')"
			networker_info1="$networker_info,$audit_networker_info2"
			if [ "$(echo "$networker_info1" | grep -c "\\\\")" -ne "0" ]
			then
				networker_info1_="$(echo "$networker_info1" | sed -n "s/\\\/\//"gp)"
				networker_info1="$networker_info1_"
			fi
		else
			networker_info1="n/a,n/a,0,0,0,0,0,0,0,0,n/a,n/a,n/a,n/a"
		fi

		if [ "$Ereturn" -eq "1" ];then export_action="Export-Failed"; else export_action="Export-Succeeded"; fi

		if [ `grep "Client=$client," $BULOCATION/audit/.adme-audit.csv 2>/dev/null | grep "Grp=$Siteid " | tail -1 | grep -c "$audit_record"` -gt "0" ]
		then
			echo "$export_action,`date '+%Y-%m-%d,%H:%M'`,$audit_orig_date,Grp=$Siteid,BU#=n/a,$audit_record,StgOnly=$Stageonly_,Log=$logxfile,ErrFlag=$Ereturn,Export=$BACKUPPRODUCT,$networker_info1,$Export_Hash" >> $BULOCATION/audit/.adme-audit.csv
		else
			echo "$export_action,`date '+%Y-%m-%d,%H:%M'`,$audit_orig_date,Grp=$Siteid,BU#=n/a,$audit_record,StgOnly=$Stageonly_,Log=$logxfile,ErrFlag=$Ereturn,Export=$BACKUPPRODUCT,$networker_info1,$Export_Hash" >> $BULOCATION/audit/.adme-audit.csv
		fi
	elif [ "$audit_type" = "recovery" ]
	then
		audit_record="Client=$client,SSrv=$ss__,SPath=$Destx$dpath_,TSrv=$BUSERVER_NAME,TPolicy=$tpolicy"
		audit_orig_date="$(grep "^$audit_client_name" $TMP_PATH/snapups2tape.txt | grep "|$audit_buid" | head -1 | awk -F\| '{print $(NF - 1)}')"
		export_filler="n/a,n/a,0,0,0,0,0,0,0,0,n/a,n/a,n/a,n/a"

		if [ `grep "Client=$client," $BULOCATION/audit/.adme-audit.csv 2>/dev/null | grep "Grp=$Siteid," | tail -1 | grep -c "$audit_record"` -gt "0" ]
		then
#			if [ "$errflg" -ne "0" ];then recovery_action="Recovery-Failed" ;else recovery_action="Recovery-Succeeded"; fi
			if [ "$errflg" -ne "0" ];then recovery_action="Staging-Failed" ;else recovery_action="Staging-Succeeded"; fi
			echo "$recovery_action,`date '+%Y-%m-%d,%H:%M'`,$audit_orig_date,Grp=$Siteid,BU#=$num,$audit_record,StgOnly=$Stageonly_,Log=$logxfile,ErrFlag=$errflg,Export=$BACKUPPRODUCT,$export_filler,$Export_Hash" >> $BULOCATION/audit/.adme-audit.csv
		else
			if [ "$errflg" -ne "0" ];then recovery_action="Critical-Path-Chg-Error"; else recovery_action="Critical-Path-Chg"; fi
			echo "$recovery_action,`date '+%Y-%m-%d,%H:%M'`,$audit_orig_date,Grp=$Siteid,BU#=$num,$audit_record,StgOnly=$Stageonly_,Log=$logxfile,ErrFlag=$errflg,Export=$BACKUPPRODUCT,$export_filler,$Export_Hash" >> $BULOCATION/audit/.adme-audit.csv
		fi
	fi
	chmod 440 $BULOCATION/audit/.adme-audit.csv >/dev/null 2>&1
}

recapture_rtn()
{
	
	if [ "$mcscheck" -eq "1" -o "$rootfull" -eq "1" ]
	then
		echo "$ERRORX-12K - Skipping-Recapture-Rtn: Lost communication with MCS, suspect MCS service is down or Root-FS is 100% Full. [$WHITE_FG Log=$logxfile ]$DEF" | tee -a $LOG
		return
	fi

	if [ "$Cfg" -eq "1" ];then Cfg=""; fi
	if [ "$(grep "$ss_" $BULOCATION/etc/atoenv.cfg$Cfg | grep -c "WINDOWSS")" -eq "1" ]
	then
		pathx="$(grep "^WININSTALLPATH" $BULOCATION/etc/atoenv.cfg$Cfg | awk -F= '{print $2}')"
	else
		pathx="$(grep "^UNIXINSTALLPATH" $BULOCATION/etc/atoenv.cfg$Cfg | awk -F= '{print $2}')"
	fi
	echo "<$(date +'%Y-%m-%d %H:%M:%S')>===< Recapture of $1 file attempted >===================\n" | tee -a $BULOCATION/log/recapture_history.log
	echo "CMD: mccli client backup-target MCS_credential --name=$ss_ --target=$pathx/etc/scripts/$1 --plugin=$ptype --cmd=--expires=1 $MCCLI_Use_DD" | tee -a $BULOCATION/log/recapture_history.log
	readonly_rtn 5
	$HOMEPATH/mccli client backup-target $MCS_credential --name=$ss_ --target=$pathx/etc/scripts/$1 --plugin=$ptype --cmd=--expires=1 $MCCLI_Use_DD >$TMP_PATH/.recapture_$1 2>&1
	recap_idx="$(grep "activity-id" $TMP_PATH/.recapture_$1 | awk '{print $2}')"
	while true
	do
 		recap_status=`$HOMEPATH/mccli activity show $MCS_credential --name=$ss_ | grep "$recap_idx" | awk '{print $2}'`
 		if [ "$recap_status" = "Running" -o "$status" = "Waiting-Client" -o "$status" = "Waiting-Queued" -o "$status" = "Running,Canceling" ]
		then
			sleep 15
		elif [ "$recap_status" = "Failed" -o "$status" = "Canceled" -o "$status" = "Dropped" -o "$status" = "Timed" -o "$status" = "Lost-It" -o "$status" = "Stalled" ]
		then
			echo "$RED_FG Recpature of the stat file $1 has failed.$DEF"
			break	
		elif [ "$recap_status" = "Completed" ]
		then
			linex_="$($HOMEPATH/avtar --backups --acnt=$ss_ $AVTAR_credential --quiet | head -3 | tail -1 | grep "$1" | awk '{print $1,$3,$NF}')"
			atodate="$(echo "$linex_" | grep "$1" | awk '{print $1}')"
			buexecid="$(echo "$linex_" | grep "$1" | awk '{print $2}')"
			stat_path="$(echo "$linex_" | grep "$1" | awk '{print $3}')"
    			$HOMEPATH/avtar -x --labelnum=$buexecid --overwrite=always --quiet --acnt=$ss_ $AVTAR_credential --target=$TMP_PATH $stat_path >/dev/null 2>&1 
  			egrep "^client|^target|^activity-id" $TMP_PATH/.recapture_$1
			echo "$WHITE_FG"
			if [ -f $TMP_PATH/$1 ]
			then
				if [ "$Debug" -ge "2" -o "$DEBUG" -ge "2" ];then cat $TMP_PATH/$1 | tee -a $BULOCATION/log/recapture_history.log; fi
    				$HOMEPATH/mccli backup delete --name=$ss_ --labelNum=$buexecid --force=true $MCS_credential --created=$atodate  >/dev/null 2>&1
			fi
			break
		fi
	done
}

keep_last_bu_rtn()
{
	if [ $(grep "keep_last_backup" /usr/local/avamar/var/mc/server_data/prefs/mcserver.xml | grep -c "true") -ne 0 ]
	then
		KEEP=1
		touch $2/.dummy >/dev/null 2>&1
 		$HOMEPATH/avtar -c --nocache --acnt=$1 --label=keep-last-bu-dummy $Quiet $AVTAR_expire $AVTAR_credential $Use_DD $2/.dummy 
	fi
}

pseudoclient_cleanup()
{

	keep_last_bu_rtn $snapupoutput $TMP_PATH 
	limit="$1"

	if [ $KEEP -eq 1 ];then limit=20; fi
	bu_del_cnt="$(expr 3 + $limit)"
	snapupoutput=`grep "^PSEUDOCLIENT=" $ENVCFG | tail -1 | awk '{print $1}' | awk -F= '{print $2}'`
	bulistx="$($HOMEPATH/avtar --backups --acnt=$snapupoutput $AVTAR_credential --quiet | sed -n "3,$bu_del_cnt"p | awk '{print $1"+"$3"+"$NF}')"
	lx=1; lmax="$(echo "$bulistx" | wc -l | awk '{print $1}')"
	if [ "$lmax" -lt "1" ];then return; fi
	echo "$CYAN_FG Purging previous pseudo client backups from [$WHITE_FG$snapupoutput$CYAN_FG]$DEF"

	while true
	do
		if [ "$lx" -gt "$lmax" ]; then break; fi
		linex="$(echo "$bulistx" | sed -n "$lx,$lx"p)"
		budate="$(echo "$linex" | awk  -F+ '{print $1}')"
		buexecid="$(echo "$linex" | awk -F+ '{print $2}')"
		stat_path="$(echo "$linex" | awk -F+ '{print $3}')"
		lx="$(expr $lx + 1)"
		if [ "$buexecid" -ne "" ]
		then
			$HOMEPATH/mccli backup delete --name=$snapupoutput --labelNum=$buexecid --force=true $MCS_credential --created=$budate >/dev/null 2>&1
			rc=$?
##  			echo "Purging Pseudo-Client=$snapupoutput Buid=$buexecid RC=$rc"
		fi
	done
}

avtar_script_bu()
{

	if [ "$Debug" -ge "2" -o "$DEBUG" -ge "2" ];then Quiet="";else Quiet="--quiet"; fi

	pseudo=`grep "^PSEUDOCLIENT=" $ENVCFG | tail -1 | awk '{print $1}' | awk -F= '{print $2}'`
	for stat in 1 2 3 
	do
 		$HOMEPATH/avtar -c --nocache --acnt=$pseudo --label=$avtpscript $Quiet $AVTAR_expire $AVTAR_credential $Use_DD $TMP_PATH/$avtpscript >/dev/null 2>&1
		avtres_buid=`$HOMEPATH/avtar --backups --acnt=$pseudo $AVTAR_credential $Quiet | head -3 | tail -1 | awk '{print $3}'`

		if [ "$avtres_buid" -eq "" ]
		then
			echo "$ERRORX-10D: Failed to backup recovery script to pseudo client: [$WHITE_FG Retry-Cnt=$stat $TMP_PATH/$avtpscript -> $pseudo$RED_FG]$DEF"
			echo "Checking for Read-Only status prior to retrying ..."
			readonly_rtn 5
			continue
		else
			break
		fi
	done
}


non_linux_staging_rtn()
{

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled non_linux_staging_rtn()"; set -x 
	fi

  	ssx_type="$(grep -v "^#" $CFG | grep "^$Siteid," | tail -1| awk -F, '{print $15}')"; ssx_type_err=0
	if [ "$ssx_type" = "WINDOWS" -a "$WINDOWSS" = "n/a" -o "$WINDOWSS" = "" ]
	then
		echo "$ERRORX-06W: Group [$WHITE_FG$Siteid$RED_FG] is configured to stage to WINDOWS but no compatible staging server [$WHITE_FG WINDOWSS=$WINDOWSS$RED_FG] exists in Env-$Cfg$DEF"
		ssx_type_err=1
	elif [ "$ssx_type" = "UNIX" -a "$UNIXSS" = "n/a" -o "$UNIXSS" = "" ]
	then
		echo "$ERRORX-06U: Group [$WHITE_FG$Siteid$RED_FG] is configured to stage to UNIX but no compatible staging server [$WHITE_FG UNIXSS=$UNIXSS$RED_FG] exists in Env-$Cfg$DEF"
		ssx_type_err=1
	fi
	if [ "$ssx_type_err" -eq "1" ]
	then
		mail_rtn
		if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
		exit 1
	fi

  	include_=`grep -v "^#" $CFG | grep "^$Siteid," | tail -1| awk -F, '{print $9}'`
	export bulist_="snapups2tape.txt"

	if [ "$Retry" -eq "0" -a "$Rerun" -eq "0" ]
	then
  		if [ "$include_" = "DEFAULT" ]; then include_="$TMP_PATH/$bulist_"; fi
		cp $TMP_PATH/.snapups2tape.txt $TMP_PATH/snapups2tape.txt
		if [ ! -s $include_ -a "$CDPurge" -eq "0" ]
		then
			echo "\n$ERRORX-06J: Failed to retrieve list of selected backups, rerun the [$WHITE_FG -select process$RED_FG ]$DEF"
			mail_rtn
			if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
			exit 1
		fi
 		cat $Atositeid > $TMP_PATH/.rerun.tmp
		cat $TMP_PATH/$bulist_ >> $TMP_PATH/.rerun.tmp
	else
		if [ $Retry -eq 1 ];then action="retry"; elif [ $Rerun -eq 1 ];then action="rerun"; fi
		if [ ! -f $TMP_PATH/.$action.tmp.$Recfile ]
		then
			echo "\n$ERRORX-00: Recovery [$WHITE_FG$action$RED_FG] session# [$Recfile] not available$DEF" | tee -a $LOG
			mail_rtn
			if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
			exit 1
		fi
		export bulist_="snapups2tape_retry.txt"
 		grep "|" $TMP_PATH/.$action.tmp.$Recfile > $TMP_PATH/$bulist_
 		cat $Atositeid > $TMP_PATH/.rerun.tmp
 		grep "|" $TMP_PATH/$bulist_ >> $TMP_PATH/.rerun.tmp
	fi

	
	
	BUcnt_=0
	bucnt=`wc -l $TMP_PATH/$bulist_ | awk '{print $1}'`
 	winclients=`awk -F\| '{print $2}' $TMP_PATH/$bulist_ | awk -F/ '{print $(NF - 1)","$NF}'`

 	for c in `echo $winclients`
 	do
 		total=`expr $total + 1`
 		client=`echo "$c" | awk -F, '{print $1}'`
 		num=`echo "$c" | awk -F, '{print $2}'`; num=`expr $num + 0`
  		month=`date +'%m'`
 		year=`date +'%Y'`; year=`expr $year - 1`
 		date="$year-$month-01"

		if [ "$VMQUALIFIEDNAMES" = "false" -a "$(grep -c "$client" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat)" -gt "0" ]
		then
			client="$(grep "$client" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $2}' | awk -F/ '{print $NF}')"
			shortclient="$(grep "$client" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"
		fi
		if [ "$shortclient" = "" ]
                then
                        dom_=`grep "^$Siteid," $CFG | egrep ",$client" | tail -1 | awk -F, '{print $4}'`
 			Destx=`grep "^$Siteid," $CFG | egrep ",$client" | tail -1 | awk -F, '{print $10}'`
                else
                        dom_=`grep "^$Siteid," $CFG | egrep "$shortclient,|,$client" | tail -1 | awk -F, '{print $4}'`
 			Destx=`grep "^$Siteid," $CFG | egrep "$shortclient," | tail -1 | awk -F, '{print $10}'`
                fi

		if [ "$Sdate" != "" ]; then date="$Sdate"; fi				


		stagestardate="$(cat $TMP_PATH/.Search_Startdate.txt | awk '{print $1}')"
		stageenddate="$(cat $TMP_PATH/.Search_Startdate.txt | awk '{print $2}')"
		pathdate=`$HOMEPATH/avtar --backups --acnt=$dom_/$client --labelnumber=$num $Quiet --after=$stagestardate $AVTAR_credential $CTselect | tail -1 | sed -n "s/:/-/"gp | awk '{print $1"-"$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14}'`
#		echo "DEBUG - pathdate=$pathdate"


		if [ "$pathdate" = "" -a "$CDPurge" -eq "0" ]
 		then
			echo "$ERRORX-10A: Unable to stage data for [$client BU-id-$num], selected but either no longer exists or it is older than 1 year." | tee -a $LOG
			echo "           Try expanding search range by adding -sdate yyyy-mm-dd parameter to the -migrate action to include the date of the oldest backup involved$DEF"  | tee -a $LOG
			if [ "$Debug" -ge "1" -o "$DEBUG" -ge "1" ]
			then
				echo "           avtar --backups --after=$date --acnt=$dom_/$client --labelnumber=$num $Quiet"
				$HOMEPATH/avtar --backups --after=$date --acnt=$dom_/$client --labelnumber=$num $Quiet $AVTAR_credential	
			fi
			missflg=`expr $missflg + 1`
			errflg=`expr $errflg + 1`
			continue
		fi

		if [ "$(echo "$pathdate" | grep -c "#0")" -ne "0" ]
		then
			pathdate_="$(echo "$pathdate" | sed -n "s/#0/ /"p)"; pathdate="$pathdate_"
		fi

		foundsize=0; size=0
		for y in `echo $pathdate`
		do
        		if [ `echo "$y" | grep -c "\-"` -gt 0 -a "$foundsize" -eq "0" ]; then continue; fi
       		 	if [ `echo "$y" | grep -c "K"` -eq 1 ]
        		then
               			fp="$y"; foundsize=1; continue
        		fi
       			if [ `echo "$fp $y" | egrep -c "K Windows"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
       			elif [ `echo "$fp $y" | egrep -c "K winclusterfs"` -eq 1 ]
       			then
               			size=$fp; plugin="WClusFS"; break
       			elif [ `echo "$fp $y" | egrep -c "K MacOSX"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
      			elif [ `echo "$fp $y" | grep -c "K VSS"` -eq 1 ]
       			then
               			size=$fp; plugin="VSS"; break
      			elif [ `echo "$fp $y" | grep -c "K Linux"` -eq 1 ]
       			then
               			size=$fp; plugin="Linux"; break
      			elif [ `echo "$fp $y" | grep -c "K Solaris"` -eq 1 ]
       			then
               			size=$fp; plugin="Solaris"; break
      			elif [ `echo "$fp $y" | grep -c "K FreeBSD"` -eq 1 ]
       			then
               			size=$fp; plugin="FreeBSD"; break
      			elif [ `echo "$fp $y" | grep -c "K HP-UX"` -eq 1 ]
       			then
               			size=$fp; plugin="HP-UX"; break
      			elif [ `echo "$fp $y" | grep -c "K AIX"` -eq 1 ]
       			then
               			size=$fp; plugin="AIX"; break
      			elif [ `echo "$fp $y" | grep -c "K SAP"` -eq 1 ]
       			then
               			size=$fp; plugin="SAP"; break
      			elif [ `echo "$fp $y" | grep -c "K Solaris"` -eq 1 ]
       			then
               			size=$fp; plugin="Solaris"; break
       			elif [ `echo "$fp $y" | grep -c "K SQL"` -eq 1 ]
       			then
               			size=$fp; plugin="SQL"; break
       			elif [ `echo "$fp $y" | grep -c "K Exchange VSS"` -eq 1 ]
       			then
               			size=$fp; plugin="$exchvss"; break
       			elif [ `echo "$fp $y" | grep -c "K ExchangeDB"` -eq 1 ]
       			then
               			size=$fp; plugin="$exchdb"; break
       			elif [ `echo "$fp $y" | grep -c "K Exchange"` -eq 1 ] 
       			then
				fpsave=$fp; continue
       			elif [ `echo "$fp $y" | grep -c "Database"` -eq 1 ]
       			then
               			size=$fpsave; plugin="exchdb"; break
       			elif [ `echo "$fp $y" | grep -c "Message"` -eq 1 ]
       			then
               			size=$fp; plugin="exchmsg"; break
       			elif [ `echo "$fp $y" | grep -c "K moss"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
       			elif [ `echo "$fp $y" | grep -c "K SharePoint"` -eq 1 ]
       			then
               			size=$fp; plugin="$shptvss"; break
       			elif [ `echo "$fp $y" | grep -c "K SCO"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
       			elif [ `echo "$fp $y" | grep -c "K netware"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
      			elif [ `echo "$fp $y" | grep -c "K Hyper-V"` -eq 1 ]
       			then
               			size=$fp; plugin="Hyper-V"; break
       			elif [ `echo "$fp $y" | grep -c "K vmimage"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
       			elif [ `echo "$fp $y" | grep -c "K lotus"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
       			elif [ `echo "$fp $y" | grep -ci "K Oracle"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
       			elif [ `echo "$fp $y" | grep -c "K Netap"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
       			elif [ `echo "$fp $y" | grep -c "K Isilon"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
       			elif [ `echo "$fp $y" | grep -c "K EMC"` -eq 1 ]
       			then
               			continue	
       			elif [ `echo "$fp $y" | grep -c "celerra"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
       			elif [ `echo "$fp $y" | grep -c "K networker"` -eq 1 ]
       			then
               			size=$fp; plugin="$y"; break
      			elif [ `echo "$fp $y" | grep -c "K Unix"` -eq 1 ]
       			then
               			size=$fp; plugin="Unix"; break
      			else
               			fp="$y"; continue
       			fi
			foundsize=0
set -
		done


		if [ "$AvtarRes" -eq "0" ]
		then
			if [ `grep "^ATORECOVER=" $Atositeid | head -1 | awk -F= '{print $2}'` = "AVTAR" ];then AvtarRes=1; fi
			if [ `grep "^ATORECOVER=" $Atositeid | head -1 | awk -F= '{print $2}'` = "NETWORKER" ];then AvtarRes=2; fi
			if [ `grep "^ATORECOVER=" $Atositeid | head -1 | awk -F= '{print $2}'` = "AVEXVSS" ]
			then
				if [ "$ExchAvtar" -eq "1" ];then AvtarRes=1; else AvtarRes=4; fi
			fi
			if [ `grep "^ATORECOVER=" $Atositeid | head -1 | awk -F= '{print $2}'` = "AVLOTUS" ];then AvtarRes=14; fi
			if [ `grep "^ATORECOVER=" $Atositeid | head -1 | awk -F= '{print $2}'` = "AVMOSSVSS" ];then AvtarRes=5; fi
			if [ `grep "^ATORECOVER=" $Atositeid | head -1 | awk -F= '{print $2}'` = "AVHYPERVVSS" ]
			then
				if [ "$HyperAvtar" -eq "1" ];then  AvtarRes=1; else AvtarRes=6; fi
			fi
		fi
		if [ "$MCCLI_" -eq "1" ];then AvtarRes=0; fi

		if [ "$PATHXSAVE" = "" ]
		then
			PATHX=`grep "^$Siteid," $CFG | grep ",$client," | tail -1 | awk -F, '{print $16}'`
			if [ "$PATHX" = "n/a" ]; then PATHX=""; fi 
		else
			PATHX="$PATHXSAVE"
		fi
		if [ "$PATHX" != "" ]
		then
			marker="+"
#			if [ `echo "$PATHX" | cut -b 2-2` != ":" ]
			if [ `echo "$PATHX" | cut -b 1-1` != "/" ]
			then
				if [ `echo "$PATHX" | cut -b 1-1` != "/" ];then Pathx="/$PATHX"; fi
				PATHX="$Pathx"
			fi
		else
			marker=""
		fi

		if [ "$VMQUALIFIEDNAMES" = "false" -a "$(grep -c "$client" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat)" -gt "0" ]
		then
			client_="$(grep "$client" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"	
			Datax1=`grep -w "^$Siteid" $CFG | egrep ",$client_,|,$client," | tail -1 | awk -F, '{print $17}'`
			Datax2=`grep -w "^$Siteid" $CFG | egrep ",$client_,|,$client," | tail -1 | awk -F, '{print $8}'`
		else
			Datax1=`grep -w "^$Siteid" $CFG | grep ",$client," | tail -1 | awk -F, '{print $17}'`
			Datax2=`grep -w "^$Siteid" $CFG | grep ",$client," | tail -1 | awk -F, '{print $8}'`
		fi
		
		if [ "$Datax1" != "n/a" -a "$Datax2" != "n/a" ]
		then
			echo "$CYAN_FG WARNING: Client [$WHITE_FG$client$CYAN_FG] config file entry has both exclude and include folders specified," | tee -a $LOG
			echo "          staging recovery results in this case are undefined and may not be as expected.$DEF" | tee -a $LOG
		fi



		if [ "$Datax1" = "n/a" -a "$Datax2" = "n/a" -a "$Datax2_" = "" -a "$Datax_" = ""  ];then Filterx="0"
		else
			if [ "$Datax1" = "n/a" -a "$Datax2" = "n/a" -a "$Filterx" != "none" ];then Filterx="1"; fi
			if [ "$Datax1" = "n/a" -a "$Datax2" != "n/a" ];then Filterx="exclude"; fi
			if [ "$Datax1" != "n/a" -a "$Datax2" = "n/a" ];then Filterx="include"; fi
			if [ "$Datax1" != "n/a" -a "$Datax2" != "n/a" ];then Filterx="both"; fi
			if [ "$Datax2_" != "" ];then Filterx="exclude"; fi
			if [ "$Datax_" != "" ];then Filterx="include"; fi
		fi
		
#		cline="$Datax_"



		Datax1_build=""
		if [ "$Datax1" != "n/a" -a "$Datax2" = "n/a" -a "$Datax" = "" ]
		then
			if [ "$Datax1" != "n/a" -a "$(echo $Datax1 | grep -c " ")" -gt "0" ];then Datax1="$(echo -E "$Datax1" | sed -n "s/ /~/"gp)"; fi
			if [ "$Datax1" != "n/a" -a "$(echo $Datax1 | grep -c "=~")" -gt "0" ];then Datax1="$(echo -E "$Datax1" | sed -n "s/=/ /"gp)"; fi
			if [ "$Datax1" != "n/a" -a "$(echo $Datax1 | grep -c "|")" -gt "0" ];then Datax1="$(echo -E "$Datax1" | sed -n "s/|/ /"gp)"; fi
			if [ "$Datax1" != "n/a" -a "$(echo $Datax1 | grep -c ":")" -gt "0" -a "$AvtarRes" -eq "1" ];then Datax1="$(echo -E "$Datax1" | sed -n "s/://"gp)"; fi
			for x in $(echo "$Datax1")
			do
				echo "Path=$x"
				Datax1_build="$(echo "$Datax1_build --data=$x")"
			done
			Datax1="$Datax1_build"
		else

			if [ "$(echo "$Datax_" | grep -c " ")" -gt "0" ];then Datax_="$(echo "$Datax_" | sed -n "s/ /~/"gp)"; fi
			if [ "$(echo "$Datax_" | grep -c ":")" -gt "0" -a "$AvtarRes" -eq "1" ];then Datax_="$(echo "$Datax_" | sed -n "s/://"gp)"; fi
#			if [ "$(echo "$Datax_" | grep -c -e "--data=")" -gt "0" ];then Datax_="$(echo "$Datax_" | sed -n "s/--data=//"gp)"; fi
			Datax1="$Datax_"
		fi

		Datax1_build=""
		for x in $(echo "$Datax1")
		do
			echo "Include-Path=$x"
			if [ "$(echo "$x" | grep -c -e "~--data=")" -gt "0" ]
			then
				x_="$(echo "$x" | sed -n "s/~--data=/--data=/"gp)"
				Datax1_build="$(echo "$Datax1_build$x_")"
			elif [ "$(echo "$x" | grep -c -e "--data=")" -gt "0" ]
			then
				Datax1_build="$(echo "$Datax1_build$x")"
			elif [ "$AvtarRes" -eq "1" ]
			then
				Datax1_build="$(echo "$Datax1_build --cmd=--include=$x")"
			fi
		done
#		if [ "$(echo "$Datax1_build" | grep -c "~--cmd")" -gt "0" ];then Datax1_build="$(echo "$Datax1_build" | sed -n "s/~--cmd/ --cmd/"gp)"; fi
		if [ "$(echo "$Datax1_build" | grep -c "~")" -gt "0" ];then Datax1_build="$(echo "$Datax1_build" | sed -n "s/~/ /"gp)"; fi
		if [ "$(echo "$Datax1_build" | grep -c "+")" -gt "0" ];then Datax1_build="$(echo "$Datax1_build" | sed -n "s/+/ /"gp)"; fi
		if [ "$(echo "$Datax1_build" | grep -c "= ")" -gt "0" ];then Datax1_build="$(echo "$Datax1_build" | sed -n "s/= /=/"gp)"; fi
		Datax="$Datax1_build"

		if [ "$Datax" != "" -a "$AvtarRes" -eq "0" -a "$PATHX" = "" ]
		then
			dxcnt=0
			for dx in `echo -E "$Datax"`
			do
				dxcnt=`expr $dxcnt + 1`
			done
			if [ "$dxcnt" -eq "1" ]
			then
				px=`echo -E "$Datax" | awk -F= '{print $2}'`
				Pathx="$PATHX$px"
			fi
		fi


			
		cline2="$Datax2_"
		if [ "$Datax2_" = "" ]
		then
			if [ "$Datax2" != "n/a" -a `echo -E "$Datax2" | grep -c "|"` -gt "0" ]
			then
				Datax2_=`echo -E "$Datax2" | sed -n "s/|/ --cmd=--exclude=/"gp`
				Datax2="--cmd=--exclude=$Datax2_"
                        elif [ "$Datax2" != "n/a" ]
                        then
				Datax2="--cmd=--exclude=$Datax2"
			else
				Datax2=""
			fi
		else
			Datax2="$Datax2_"; Datax=""
		fi
		Datax2_="$cline2"

		if [ `echo "$Datax2" | grep -c "+"` -gt "0" ]
		then

			if [ $(echo "$Datax2" | grep -c "+/") -gt "0" ]
			then
				datax2="$(echo "$Datax2" | sed -n "s/+\//\"/"gp)"
				Datax2="$datax2"
			fi

			if [ $(echo "$Datax2" | grep -c "+") -gt "0" ]
			then
				datax2="$(echo "$Datax2" | sed -n "s/+/\"/"gp)"
				Datax2="$datax2"
			fi
			Datax2="$datax2"
		fi
		if [ "$(echo "$Datax2" | grep -c ":")" -gt "0" ];then Datax2="$(echo "$Datax2" | sed -n "s/://"gp)"; fi
		if [ "$NoPrvPathFlag" -eq "1" ]
		then
			Preservepaths=""
#			if [ "$Datax" = "" ];then Preservepaths="--cmd=--preservepaths"; else Preservepaths=""; fi
		else
			if [ "$Datax" != "" ];then Preservepaths="--cmd=--preservepaths"; else Preservepaths=""; fi
		fi

		if [ "$Mode1" -eq "1"  -o "$Mode1" -eq "2" ]
		then
			if [ "$NoIncPathFlag" -eq "1" ]
			then
				destpath=""
			else
				destpath="/INCREMENTAL/$client$PATHX"
			fi
			dpath_="/INCREMENTAL"
		else
			pathdate_=`echo $pathdate | awk '{print $1}'`
			if [ "$BYDATEPATHXTN" = "Y" -o "$BYDATEPATHXTN" = "y" ]
			then
				line_detail=`$HOMEPATH/avmgr getb --acnt=$dom_/$client $AVTAR_credential --quiet --mr=730 | grep "labelnum: $num "`
				for flds in $(echo "$line_detail")
				do
					if [ "$flds" = "expires:" -a "$expire_flag" -eq "0" ]
					then
						expire_flag=1; continue 
					elif [ "$expire_flag" -eq "1" ]
					then
						expiredate="$flds"; expire_flag=0
					fi

					if [ "$flds" = "retentiontype:" -a "$rtype_flag" -eq "0" ]
					then
						rtype_flag=1; continue 
					elif [ "$rtype_flag" -eq "1" ]
					then
						ret_type="$flds"; rtype_flag=0
					fi
					if [ "$flds" = "backuptype:" -a "$butype_flag" -eq "0" ]
					then
						butype_flag=1; continue 
					elif [ "$butype_flag" -eq "1" ]
					then
						bu_type="$flds"; butype_flag=0
					fi
				done

				line_detail="$bu_type $expiredate $ret_type"
 				if [ `echo "$line_detail" | grep -c ","` -eq "0" ];then ret_type_=`echo "$line_detail" | awk '{print $NF}'`
				else ret_type_=`echo "$line_detail" | awk '{print $NF}' | sed -n "s/,/ /"gp`; fi
				ret_type=""
				for rty in `echo "$ret_type_" | awk -F, '{print $1}'`
				do
					if [ "$rty" = "none" ];then ret_typex=N
					elif [ "$rty" = "daily" ];then ret_typex=D
					elif [ "$rty" = "weekly" ];then ret_typex=W
					elif [ "$rty" = "monthly" ];then ret_typex=M
					elif [ "$rty" = "yearly" ];then ret_typex=Y; fi
					ret_type="$ret_type$ret_typex"	
				done	
				ret_time_=`echo "$line_detail" | awk '{print $2}'`
				ret_time=`date -d "1970-01-01 $ret_time_ sec" +'%Y-%m-%d'`
				if [ "$ret_time_" -eq "0" ];then ret_time="NEVER"; fi
				uscr="_"; dash="-"
				ABI="$uscr$ret_type$dash$ret_time"
			else
				ABI=""
			fi
			if [ "$AvtarRes" -eq "2" ]
			then
				pathdate_=`echo $pathdate | awk '{print $1}' | cut -b1-10`
				destpath="/BYDATE/$client/$pathdate_$PATHX"
			else
				if [ "$VMQUALIFIEDNAMES" = "false" -a "$(grep -c "$client" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat)" -gt "0" ]
				then
					client_="$(grep "$client" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"	
					destpath="/BYDATE/$client_/$pathdate_-$num$ABI$PATHX"
				else	
					destpath="/BYDATE/$client/$pathdate_-$num$ABI$PATHX"
				fi
			fi
			dpath_="/BYDATE"
		fi

		if [ "$AER_String" != "" ]
		then
			pathdate_="$AER_String"
			if [ "$AVAmigrate" != "" ]
			then
				AVAmigrateclient="$(echo "$AVAmigrate" | awk -F/ '{print $NF}')"
				destpath="/BYDATE/$AVAmigrateclient/$pathdate_/"
			fi
		fi
	
		ss2="S"
		if [ "$VMQUALIFIEDNAMES" = "false" ]
                then
                        shortname="$(grep "$client," $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk  -F, '{print $NF}')"
                        ss=`grep -w "$Siteid" $CFG | grep -v "^#" | egrep "$client,|,$shortname," | tail -1 | awk -F, '{print $15}'`
                else
                        ss=`grep -w "$Siteid" $CFG | grep -v "^#" | grep ",$client," | tail -1 | awk -F, '{print $15}'`
                fi

		if [ "$ss" = "WINDOWS" ]; then ptype=3001; else ptype=$Ptype_; fi

		if [ "$Ssrv" -ne "LINUX" -a "$Ssrv" -ne "WINDOWS" -a "$Ssrv" -ne "UNIX" -a "$Ssrv" -eq "" ]
		then
			echo "$ERRORX-12: Invalid staging server type for [$WHITE_FG$Siteid $client$RED_FG], check $CFG file$DEF" | tee -a $LOG
			mail_rtn
			if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
			exit 1	
		elif [ "$ss_" = "n/a" ]
		then
			echo "$ERRORX-12A: Invalid staging server name [$WHITE_FG $ss_$RED_FG ] for this Environment#/Group combination. $DEF" | tee -a $LOG
			mail_rtn
			if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
			exit 1	
		else
 			ss_=`grep "^$ss$ss2" $ENVCFG | tail -1 | awk -F= '{print $2}'`
			stgcli="$(echo "$ss_" | awk -F/ '{print $NF}')"
                        stgdom_="$(echo "$ss_" | sed -n "s/\/$stgcli//"gp)"
		fi
		slash="/"

		if [ "$(echo "$Destx$destpath" | grep -c "EXPIRE")" -ne "0" ]
		then
			Destx="$(echo "$Destx" | sed -n "s/EXPIRE/$Expire_Date/"p)"
			if [ "$(echo "$Destx$destpath" | grep -c "MIGRATE")" -ne "0" ]
			then
				Migrate_Date="$(date +"%Y-%m")"
				Destx="$(echo "$Destx" | sed -n "s/MIGRATE/$Migrate_Date/"p)"
			fi	
		elif [ "$(echo "$Destx$destpath" | grep -c "MIGRATE")" -ne "0" ]
		then
				Migrate_Date="$(date +"%Y-%m")"
				Destx="$(echo "$Destx" | sed -n "s/MIGRATE/$Migrate_Date/"p)"
		fi	

		if [ "$Debug" -ge "2" -o "$DEBUG" -ge "2" ];then Quiet="";else Quiet="--quiet"; fi
		if [ "$AvtarRes" -eq "1" ]
		then
			if [ "$ArchiveFlag" -eq "1" ];then RecType="[AVTAR-PAX-ARCHIVE]"
			elif [ "$ArchiveFlag" -eq "2" -a "$ARCHIVEUTIL" != "n/a" ];then RecType="[AVTAR-PAX-ARCHIVE->$ARCHIVEUTIL]"
			elif [ "$ArchiveFlag" -eq "3" -a "$ARCHIVEUTIL" != "n/a" ];then RecType="[AVTAR-TAR-ARCHIVE]"
			elif [ "$ArchiveFlag" -eq "4" -a "$ARCHIVEUTIL" != "n/a" ];then RecType="[AVTAR-TAR-ARCHIVE->$ARCHIVEUTIL]"
			else RecType="[AVTAR]"; fi
			if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
			if [ "$ptype" -eq "3001" ];then avtpscript="avtarres$cfgx.bat"; else avtpscript="avtarres$cfgx.sh"; fi


			labelx_rtn
			avtar_args="$dom_/$client,$Destx$destpath,$num,$snapupoutput,$Overwrite,$Datax,$Datax2,$ArchiveFlag,$ARCHIVEUTIL,$AVTAR_avflags,$VdpRes"
			audit_client_name="$client"; audit_buid="$num"
			avtarres_rtn "$avtar_args"
			if [ -f stopavtar ]
			then
				echo "\n$RED_FG Exiting, stopavtar file exists... $DEF"
				exit
			fi
set -

			avtar_script_bu

			if [ "$VdpRes" -eq "0" ]
			then
 				cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$TMP_PATH/$avtpscript --dest-client-name=$ss_ --dest-client-domain=$stgdom_ --dest-dir=$sdir --labelNum=$avtres_buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT --cmd=run-at-end=$avtpscript --plugin=$ptype $MCCLI_avflags"
			else
 				vdp_cmd="$TMP_PATH/$avtpscript"
			fi

			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG
			elif [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi
			$cmd_build >$TMP_PATH/check
		elif [ "$AvtarRes" -eq "2" ]
		then
			RecType="[NETWORKER]"
			if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
			if [ "$ptype" -eq "3001" ];then avtpscript="ntwkrres$cfgx.bat"; else avtpscript="ntwkrres$cfgx.sh"; fi

#			ntwkr_args="$client,$Destx$destpath,$num,$snapupoutput,$pathdate,$BUSERVER_NAME,$BACKUPPRODUCTHOMEUNIX,$BACKUPPRODUCTHOMEWIN"
			ntwkr_args="$BACKUPPRODUCTHOMEUNIX,$BACKUPPRODUCTHOMEWIN,$BUSERVER_NAME,$client,$Destx$destpath,$UNIXSS,$WINDOWSS,$num,$snapupoutput,$pathdate,$Networker_recovery"
			audit_client_name="$client"; audit_buid="$num"
			ntwkrres_rtn "$ntwkr_args"

 			$HOMEPATH/avtar --delete $Quiet --force --acnt=$snapupoutput $AVTAR_credential $output_file $TMP_PATH/$avtpscript
 			$HOMEPATH/avtar -c --nocache --acnt=$snapupoutput $Quiet $AVTAR_expire $AVTAR_credential $Use_DD $TMP_PATH/$avtpscript >/dev/null 2>&1
			avtres_buid=`$HOMEPATH/avtar --backups --acnt=$snapupoutput $AVTAR_credential $Quiet | head -3 | tail -1 | awk '{print $3}'`
 			cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$TMP_PATH/$avtpscript --dest-client-name=$ss_ --dest-client-domain=$dom_ --dest-dir=$sdir --labelNum=$avtres_buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT --cmd=run-at-end=$avtpscript --plugin=$ptype $MCCLI_avflags"
 			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG
 			elif [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi
			$cmd_build >$TMP_PATH/check
		elif [ "$AvtarRes" -eq "4" ]
		then
			RecType="[AVEXVSS]"
			if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
			if [ "$ptype" -eq "3001" ];then avtpscript="avexvssres$cfgx.bat"; fi
			
			labelx_rtn
			avexvss_args="$dom_/$client,$Destx$destpath,$num,$snapupoutput,$Overwrite,$Datax,$Datax2,$ArchiveFlag,$ARCHIVEUTIL"
			audit_client_name="$client"; audit_buid="$num"
			avexvssres_rtn "$avexvss_args"
			if [ -f stopvss ]
			then
				echo "\n$RED_FG Exiting, stopvss file exists... $DEF"
				exit
			fi

			avtar_script_bu

 			cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$TMP_PATH/$avtpscript --dest-client-name=$ss_ --dest-client-domain=$dom_ --dest-dir=$sdir --labelNum=$avtres_buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT --cmd=run-at-end=$avtpscript --plugin=$ptype $MCCLI_avflags"

			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG
			elif [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi
			$cmd_build >$TMP_PATH/check

		elif [ "$AvtarRes" -eq "14" ]
		then
			RecType="[AVLOTUS]"
			if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
			if [ "$ptype" -eq "3001" ];then avtpscript="avlotusres$cfgx.bat"; fi

			avlotus_args="$dom_/$client,$Destx$destpath,$num,$snapupoutput,$Overwrite,$Datax,$Datax2,$ArchiveFlag,$ARCHIVEUTIL"
			audit_client_name="$client"; audit_buid="$num"
			avlotusres_rtn "$avlotus_args"
			if [ -f stopavtar ]
			then
				echo "\n$RED_FG Exiting, stopavtar file exists... $DEF"
				exit
			fi

			avtar_script_bu

 			cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$TMP_PATH/$avtpscript --dest-client-name=$ss_ --dest-client-domain=$dom_ --dest-dir=$sdir --labelNum=$avtres_buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT --cmd=run-at-end=$avtpscript --plugin=$ptype $MCCLI_avflags"

			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG
			elif [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi
			$cmd_build >$TMP_PATH/check

		elif [ "$AvtarRes" -eq "5" ]
		then
			RecType="[AVMOSSVSS]"
			if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
			if [ "$ptype" -eq "3001" ];then avtpscript="avmossvssres$cfgx.bat"; fi

			avmossvss_args="$dom_/$client,$Destx$destpath,$num,$snapupoutput,$Overwrite,$Datax,$Datax2,$ArchiveFlag,$ARCHIVEUTIL"
			audit_client_name="$client"; audit_buid="$num"
			avmossvssres_rtn "$avmossvss_args"
			if [ -f stopvss ]
			then
				echo "\n$RED_FG Exiting, stopvss file exists... $DEF"
				exit
			fi

			avtar_script_bu

 			cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$TMP_PATH/$avtpscript --dest-client-name=$ss_ --dest-client-domain=$dom_ --dest-dir=$sdir --labelNum=$avtres_buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT --cmd=run-at-end=$avtpscript --plugin=$ptype $MCCLI_avflags"
			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG
			elif [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi
			$cmd_build >$TMP_PATH/check
		elif [ "$AvtarRes" -eq "6" ]
		then
			RecType="[HYPERVVSS]"
			if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
			if [ "$ptype" -eq "3001" ];then avtpscript="avhypervvssres$cfgx.bat"; fi

			avhypervvss_args="$dom_/$client,$Destx$destpath,$num,$snapupoutput,$Overwrite,$Datax,$Datax2,$ArchiveFlag,$ARCHIVEUTIL"
			audit_client_name="$client"; audit_buid="$num"
			avhypervvssres_rtn "$avhypervvss_args"			
			if [ "$(head -1 $TMP_PATH/hypervstatus.txt 2>/dev/null )" -eq "1" ]	
			then
				echo "\n$RED_FG Exiting, ... $DEF"
				mail_rtn
				if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
				exit 1
			fi

			if [ -f stopvss ]
			then
				echo "\n$RED_FG Exiting, stopvss file exists... $DEF"
				exit
			fi

			avtar_script_bu

 			cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$TMP_PATH/$avtpscript --dest-client-name=$ss_ --dest-client-domain=$dom_ --dest-dir=$sdir --labelNum=$avtres_buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT --cmd=run-at-end=$avtpscript --plugin=$ptype $MCCLI_avflags"
			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG
			elif [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi
			$cmd_build >$TMP_PATH/check 
		elif [ "$AvtarRes" -eq "7" ]
		then
			RecType="[VMmigrate-MCCLI]"
#			debugit="test_1233486re4513"
			if [ -s $BULOCATION/customize/vmmigrate.txt ]
			then
				Prefix="$(grep "^CLIENT-PREFIX" $BULOCATION/customize/vmmigrate.txt | head -1 | awk '{print $2}')"
			else
				Prefix="ADME-"
			fi
			DestVMClient="$(echo "$Prefix$client$debugit" | awk -F_ '{print $1}')"
			cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --domain=$dom_ --name=$client --labelNum=$num --plugin=3016 $MCCLI_avflags --dest-client-name=$DestVMClient $Fld12 $VMmigrate"
			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG
			elif [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi
			audit_client_name="$client"; audit_buid="$num"
			$cmd_build_
		elif [ "$AvtarRes" -eq "8" ]
		then
			RecType="[AVSQL]"
			if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
			if [ "$ptype" -eq "3001" ];then avtpscript="sqlmigrateres$cfgx.bat"; fi

			sqlmigrate_args="$dom_/$client,$Destx$destpath,$num,$snapupoutput,$Overwrite,$Datax,$Datax2,$ArchiveFlag,$ARCHIVEUTIL"
			sqlmigrateres_rtn "$sqlmigrate_args"
			if [ -f stopvss ]
			then
				echo "\n$RED_FG Exiting, stopvss file exists... $DEF"
				exit
			fi

			avtar_script_bu

 			cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$TMP_PATH/$avtpscript --dest-client-name=$ss_ --dest-client-domain=$dom_ --dest-dir=$sdir --labelNum=$avtres_buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT --cmd=run-at-end=$avtpscript --plugin=$ptype $MCCLI_avflags"
			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG
			elif [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi
			$cmd_build >$TMP_PATH/check
			audit_client_name="$client"; audit_buid="$num"
		elif [ "$AvtarRes" -eq "9" ]
		then
			RecType="[AVEXVSS]"
			if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
			if [ "$ptype" -eq "3001" ];then avtpscript="exchmigrateres$cfgx.bat"; fi

			exchmigrate_args="$dom_/$client,$Destx$destpath,$num,$snapupoutput,$Overwrite,$Datax,$Datax2,$ArchiveFlag,$ARCHIVEUTIL"
			audit_client_name="$client"; audit_buid="$num"
			exchmigrateres_rtn "$exchmigrate_args"
			if [ -f stopvss ]
			then
				echo "\n$RED_FG Exiting, stopvss file exists... $DEF"
				exit
			fi

			avtar_script_bu

 			cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$TMP_PATH/$avtpscript --dest-client-name=$ss_ --dest-client-domain=$dom_ --dest-dir=$sdir --labelNum=$avtres_buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT --cmd=run-at-end=$avtpscript --plugin=$ptype $MCCLI_avflags"
			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG
			elif [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi
			$cmd_build >$TMP_PATH/check
		elif [ "$AvtarRes" -eq "10" ]
		then

			if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
			if [ "$ptype" -eq "3001" ];then avtpscript="avtarres$cfgx.bat"; else avtpscript="avtarres$cfgx.sh"; fi
			RecType="[MCCLI]"

#			avtar_args="$dom_/$client,$Destx$destpath,$num,$snapupoutput,$Overwrite,$Datax,$Datax2,$ArchiveFlag,$ARCHIVEUTIL,$AVTAR_avflags,$VdpRes"
			pseudo="$snapupoutput"
			clouddatapurge_rtn "$avtar_args"
			if [ -f stopavtar ]
			then
				echo "\n$RED_FG Exiting, stopavtar file exists... $DEF"
				exit
			fi

			avtar_script_bu
 			cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --data=$TMP_PATH/$avtpscript --dest-client-name=$ss_ --dest-client-domain=$dom_ --dest-dir=$sdir --labelNum=$avtres_buid --name=$snapupoutput --cmd=overwrite=always --cmd=run-at-end-clauses=timeout-seconds=$SCRIPT_TIMEOUT --cmd=run-at-end=$avtpscript --plugin=$ptype $MCCLI_avflags"
			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG
			elif [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi
			$cmd_build >$TMP_PATH/check

		else
			if [ "$(echo "$Destx" | grep -c "\\\\")" -ne "0" ];then Destx="\\\\$Destx"; fi
			RecType="[MCCLI]"
			if [ "$Destx" = "INPLACE" ]
			then
				cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --domain=$dom_ --name=$client --dest-client-name=$ss_ --dest-dir= --labelNum=$num --cmd=$Overwrite --plugin=$ptype $Preservepaths $Allnodes $MCCLI_avflags $StreamFlag $Datax $Datax2"
			else

			labelx_rtn
#			if [ "$(echo "$destpath" | grep -c "BYDATE")" -ne "0" ]
#				if [ "$Labelx" != "" -a "$NWKsaveFlag" -eq "1" ];then destpath="$(echo "$destpath" | sed -n "s/BYDATE/BYDATE\/$Labelx/"gp)"; fi
#			fi
				cmd_build="$HOMEPATH/mccli backup restore $MCS_credential --domain=$dom_ --name=$client --dest-client-name=$ss_ --labelNum=$num --dest-dir=$Destx$destpath$slash --cmd=$Overwrite --plugin=$ptype $Preservepaths $Allnodes $MCCLI_avflags $StreamFlag $Datax $Datax2"
			fi
			if [ "$Debug" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p | tee -a $LOG
			elif [ "$DEBUG" -ge "2" ]; then echo "\nTRACE-20: $cmd_build\n" | sed -n "s/--mcspasswd=$pw/--mcspasswd=******/"p; fi
   			$cmd_build >$TMP_PATH/check
			audit_client_name="$client"; audit_buid="$num"
		fi

		ss__=`echo $ss_ | awk -F\/ '{print $NF}'`

		if [ "$Datax" = "" -a "$Datax2" = "" ]; then Files="All"
		elif [ "$Datax" != "" ]; then Files="$RED_BG$WHITE_FG INCLUDES$Datax $DEF"
		elif [ "$Datax2" != "" ];then Files="$RED_BG$WHITE_FG EXCLUDES$Datax2 $DEF"; fi

		if [ "$Mode1" -eq "1" ]
		then
			if [ $(grep -c "$client" $TMP_PATH/incdel.tmp) -gt "0" ]; then incdel="Incdel"; else incdel=""; fi
		elif [ "$Mode1" -eq "2" ]
		then
			incdel="Incdel"
		fi
		retry_line=$(grep "^$client|" $TMP_PATH/$bulist_ | grep "$num" | tail -1)
		 

		tpolicy=$(grep "^$Siteid," $CFG | tail -1 | awk -F, '{print $12"|"$13"|"$14}')

		if [ "$incdel" -eq "0" ];then incdel="";fi
		if [ "$Labelx" != "" -a "$NWKsaveFlag" -eq "1" ]
		then
			slash="/"
			dpath_="$dpath_$slash$Labelx"
		fi

		if [ "$AvtarRes" -eq "2" ]
		then
			nwtxfr=`head -1 $TMP_PATH/nwtxfr.tmp`
			message0="$WHITE_FG Staging Client->$DEF[$CYAN_FG$client $nwtxfr$DEF]$WHITE_FG->STGSRV$DEF[$CYAN_FG$ss__$DEF]$WHITE_FG->FS$DEF[$CYAN_FG$Destx$dpath_$RED_BG$WHITE_FG$marker$DEF$CYAN_FG$PATHX$DEF]$WHITE_FG->Files[$CYAN_FG$Files$DEF][$RED_BG$WHITE_FG$incdel$DEF]"
			message="Staging client [$client $nwtxfr]"
		elif [ "$AvtarRes" -eq "10" ]
		then
			message0="$WHITE_FG Clean-UP Server->$DEF[$CYAN_FG$ss__$DEF]$WHITE_FG->ACTION[$CYAN_FG CLOUD-DATA-PURGE $WHITE_FG]$DEF"
			message="Clean-UP Server [$ss__ BU-id-$avtres_buid]"
		else
			if [ "$Destx" != "INPLACE" ]	
			then
				message0="$WHITE_FG Staging Client->$DEF[$CYAN_FG$client BU-id-$num$DEF]$WHITE_FG->STGSRV$DEF[$CYAN_FG$ss__$DEF]$WHITE_FG->FS$DEF[$CYAN_FG$Destx$dpath_$RED_BG$WHITE_FG$marker$DEF$CYAN_FG$PATHX$DEF]$WHITE_FG->Files[$CYAN_FG$Files$DEF][$RED_BG$WHITE_FG$incdel$DEF]"
			else
				message0="$WHITE_FG Staging Client->$DEF[$CYAN_FG$client BU-id-$num$DEF]$WHITE_FG->STGSRV$DEF[$CYAN_FG$ss__$DEF]$WHITE_FG->FS$DEF[$RED_BG$WHITE_FG INPLACE $DEF$RED_BG$WHITE_FG$marker$DEF$CYAN_FG$PATHX$DEF]$WHITE_FG->Files[$CYAN_FG$Files$DEF][$RED_BG$WHITE_FG$incdel$DEF]"

			fi
			message="Staging Client [$client BU-id-$num]"
		fi
		if [ "$incdel" -eq "" ];then incdel="0";fi
		err_message="$ERRORX-10B: Staging process Failed or Canceled [$WHITE_FG$client BU-ID=$num"

		if [ "$VdpRes" -eq "0" ]
		then
			actid=$(grep "activity-id" $TMP_PATH/check | awk '{print $2}')
			if [ "$actid" = "" ]
			then
				for x in 1 2
				do
					echo "$RED_BG$WHITE_FG WARNING: $DEF$RED_FG >>> Unable to connect with MCCLI syntax shown, retrying [count=$x]$DEF\n"
					echo $cmd_build
					cat $TMP_PATH/check
					sleep 15
   					$cmd_build >$TMP_PATH/check
					actid=$(grep "activity-id" $TMP_PATH/check | awk '{print $2}')
					if [ "$actid" = "" ]
					then
						cat $TMP_PATH/check
						continue
					else
						echo ">>> ADMe has successfuly reconnected to MCS on retry [count=$x]\n"
						cat $TMP_PATH/check
						break
					fi
				done
			fi

 			if [ "$actid" = "" ]
 			then
 				echo "$ERRORX-10C: Unexpected error with plug-in [$WHITE_FG$ptype$RED_FG] recovery [$WHITE_FG$Siteid $client$RED_FG] exiting ..." | tee -a $LOG
 				echo "           Unable to determine activity-id associated with the last mccli restore command." | tee -a $LOG 
 				echo "           Ensure the MCS service is running." | tee -a $LOG 
 				echo "           Ensure a valid staging server definition exists for the environment number being used" | tee -a $LOG 
 				echo "           Ensure the staging server is communicating properly with Avamar, try GUI based backup/restore to it$DEF" | tee -a $LOG 
 				echo "           Ensure the staging server if Unix or Linux based has Korn shell installed on it, type ksh$DEF" | tee -a $LOG 
 				echo "           If your staging server is configured for more than one MCS thread, ensure their assigned ports are open 28030-28050$DEF" | tee -a $LOG 
 				cat $TMP_PATH/check | tee -a $LOG
 				mail_rtn
 				if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
 				exit 1
 			fi
		else
			echo "vdp" > $TMP_PATH/check
		fi
		BUcnt_=$(expr $BUcnt_ + 1)

#		if [ "$VdpRes" -eq "1" ];then $vdp_cmd; fi
		monitor_loop "$err_message" "$message" "$size" "$message0" "$retry_line"
		Pathx=""; Datax=""

#		audit_logxfile="$logxfile"
		audit_write_rtn recovery

		networker_filters_success_all="CMD:|recover:AVCTL restore: successful|Recover completion time|RESTORE_OK RC=0|^Received"
		networker_filters_success_some="De-Dupe session closed successfully|recover:AVCTL restore: successful|RESTORE_OK RC=0|^Received|DEMO-VERSION2"
		networker_filters_fail_all="Recover errors|Completed with errors|not in index|established connection was aborted|Dropped|Failed to recover|Nothing to recover|NOTOK|recover: Failed|0 file(s) marked"
		networker_filters_fail_some="Recover errors|not in index|Failed to recover|established connection was aborted|Dropped|Completed with errors|Nothing to recover|NOTOK|recover: Failed|0 file(s) marked "

		avtar_filters_success="END avtar log|AVTAR_RESTORE_OK|CLOUDDATAPURGE_OK|AVTAR-CloudDataPurge"
                avtar_filters_fail_some="AVTAR_RESTORE_NOTOK|not enough space|ERROR:|avtar Error|avtar FATAL|Dropped|CLOUDDATAPURGE_NOTOK|illegal operation|Cannot resolve IP address|WATCHDOG|is false"
                avtar_filters_fail_all="avtar Error|ERROR:|NOTOK|not enough space|Restore failed|avtar FATAL|Dropped|CLOUDDATAPURGE_NOTOK|illegal operation|Cannot resolve IP address|WATCHDOGT|is false"

		snapupoutput=`grep "^PSEUDOCLIENT=" $ENVCFG | tail -1 | awk '{print $1}' | awk -F= '{print $2}'`

		if [ "$Debug" -ge "2" -o "$DEBUG" -ge "2" ];then Quiet="";else Quiet="--quiet"; fi
                if [ "$AvtarRes" -eq "1"  -o "$AvtarRes" -eq "10" ]
                then
                        if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi

                        statfilex="$($HOMEPATH/avtar --list --acnt=$snapupoutput $Quiet $AVTAR_credential | egrep -v ".sh|.bat" | grep "avtarres" | grep ".stat" | head -1)"
 			get_stat_file $snapupoutput $statfilex

                        echo "\n>>> Recovery of: $client BU-id-$num $snapupoutput" >> $TMP_PATH/.avtarres$cfgx.log

			if [ ! -s $TMP_PATH/avtarres$cfgx.stat ]
			then
				recapture_rtn avtarres$cfgx.stat
				if [ -s $TMP_PATH/avtarres$cfgx.stat ];then recapture_stat_verify avtarres$cfgx; fi
			fi

			if [ -s $TMP_PATH/avtarres$cfgx.stat ]
			then
				resolve_encryption avtarres$cfgx.stat
				egrep "AVTAR_RESTORE_NOTOK|CLOUDDATAPURGE_NOTO" $TMP_PATH/avtarres$cfgx.stat >/dev/null 2>&1
				if [ "$?" -eq "0" ]
				then
					echo "$RED_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [avtarres$cfgx.stat] for completion details$DEF"
				else
					echo "$BLUE_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [avtarres$cfgx.stat] for completion details$DEF"
				fi

				echo -E "$(egrep "CMD:" $TMP_PATH/avtarres$cfgx.stat)" >> $TMP_PATH/.avtarres$cfgx.log 2>/dev/null
				if [ "$(egrep "CMD:|Eligible-Expire-Folder" $TMP_PATH/avtarres$cfgx.stat | awk -F: '{print $2}' | grep -c ":")" -gt "0" ]
				then
					egrep "Script-Created|Checking" $TMP_PATH/avtarres$cfgx.stat | tee -a $LOG
					egrep "CMD:" $TMP_PATH/avtarres$cfgx.stat | sed -n "s/\\\/\//"gp | tee -a $LOG
				else
					egrep "CMD:|Script-Created|Checking|Eligible-Expire-Folder" $TMP_PATH/avtarres$cfgx.stat | tee -a $LOG
				fi

                           	egrep "$avtar_filters_fail_some" $TMP_PATH/avtarres$cfgx.stat >/dev/null 2>&1
                        	if [ "$?" -eq "0" ]
                        	then
#debug					echo "DEBUG-1 $WHITE_FG"
                                	echo -E "$(egrep "$avtar_filters_success" $TMP_PATH/avtarres$cfgx.stat)" 2>/dev/null | tee -a $LOG
					echo "$RED_FG" | tee -a $LOG
                                	if [ "$DEBUG" -ge "2" ]
					then
						echo -E "$(egrep "$avtar_filters_fail_all" $TMP_PATH/avtarres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
						echo -E "$(egrep "$avtar_filters_fail_all" $TMP_PATH/avtarres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.avtarres$cfgx.log 2>/dev/null 
                                	else
						echo -E "$(egrep "$avtar_filters_fail_some" $TMP_PATH/avtarres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
						echo -E "$(egrep "$avtar_filters_fail_some" $TMP_PATH/avtarres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.avtarres$cfgx.log 2>/dev/null 
 						if [ "$(grep -c "Authentication failure" $TMP_PATH/avtarres$cfgx.stat 2>/dev/null)" -gt "0" ] 
                               			then
							targetclient="$(grep "^CMD:" $TMP_PATH/avtarres$cfgx.stat | tail -1 | awk '{print $9}' | awk -FBYDATE '{print $2}' | awk -F/ '{print $2}')"
 							if [ "$cfgx" -eq "1" ];then cfgx=""; fi
							if [ "$(grep -c "^PWX=" $BULOCATION/etc/atoenv.cfg$cfgx)" -ne "0" ]
							then
								if [ "$cfgx" -eq "" ];then cfgx_="1"; else cfgx_="$cfgx"; fi
								echo "$ERRORX-10P:$RED_BG$WHITE_FG Authentication failure$DEF$RED_FG - The Recovery credential for$WHITE_FG Env-$cfgx_$RED_FG expired and has been refreshed...$DEF"
								echo "$ERRORX-10P. Job can be rerun by adding [$WHITE_FG -client $targetclient$RED_FG] to its Selection-Flags field to retry this one BU. $DEF"
                                        			grep -v "^PWX" $BULOCATION/etc/atoenv.cfg$cfgx > $BULOCATION/etc/atoenv.cfg$cfgx.tmp
                                        			mv $BULOCATION/etc/atoenv.cfg$cfgx.tmp $BULOCATION/etc/atoenv.cfg$cfgx
							fi
						fi
					fi
					
					if [ "$(egrep -c "AVTAR-CloudDataPurge" $TMP_PATH/avtarres$cfgx.stat)" -ne "1" ]
					then
                                		egrep "AVTAR_RESTORE" $TMP_PATH/avtarres$cfgx.stat >/dev/null 2>/dev/null
                        			if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG WARNING:$DEF$RED_FG Suspect avtar recovery script ended prematurely. $DEF" | tee -a $LOG; fi
					fi
                                  	if [ "$compflg" -gt "0" ];then compflg=$(expr $compflg - 1); fi
                                  	errflg=$(expr $errflg + 1)
  					echo "$DEF" | tee -a $LOG
                        	else
                                	egrep "$avtar_filters_success" $TMP_PATH/avtarres$cfgx.stat >/dev/null 2>&1
                                	if [ "$?" -eq "0" ]
                                	then
						echo "$WHITE_FG"
                                        	echo -E "$(egrep "$avtar_filters_success" $TMP_PATH/avtarres$cfgx.stat 2>/dev/null)" | tee -a $LOG
                                        	echo -E "$(egrep "$avtar_filters_success" $TMP_PATH/avtarres$cfgx.stat >> $TMP_PATH/.avtarres$cfgx.log 2>/dev/null)"
					else
                                		egrep "AVTAR_RESTORE" $TMP_PATH/avtarres$cfgx.stat >/dev/null 2>&1
						if [ "$(egrep -c "AVTAR-CloudDataPurge" $TMP_PATH/avtarres$cfgx.stat)" -ne "1" ]
						then
							if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG >>> WARNING:$DEF$RED_FG Suspect avtar recovery script ended prematurely. $DEF" | tee -a $LOG; fi
						fi
                                	fi
                        	fi
			else
				echo "$RED_FG >>>>>>> Unable to parse stat file [avtarres$cfgx.stat] for completion details, file not available$DEF"	
				errflg=$(expr $errflg + 1)
                                compflg=$(expr $compflg - 1)
			fi
			mv $TMP_PATH/avtarres$cfgx.stat $TMP_PATH/.avtarres$cfgx.stat >/dev/null 2>&1
			echo "$DEF" | tee -a $LOG
                elif [ "$AvtarRes" -eq "4" ]
                then
			avexvss_filters_success="END avtar log|AVEXVSS_RESTORE_OK|eseutil|State:"
                	avexvss_filters_fail_some="Error|NOTOK|failed|FATAL|cannot process the request|cannot continue|Dirty Shutdown"
                	avexvss_filters_fail_all="Error|NOTOK|failed|FATAL|cannot process the request|cannot continue|Dirty Shutdown"
                        if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
                        statfilex_="$($HOMEPATH/avtar --backups --acnt=$snapupoutput $Quiet $AVTAR_credential | grep "avexvssres" | head -1 | awk '{print $NF}')"
                        if [ $(echo -E "$statfilex_" | grep -c ":") -gt "0" ];then statfilex=$(echo -E "$statfilex_" | sed -n "s/\\\/\//"gp); else statfilex="$statfilex_"; fi
			get_stat_file $snapupoutput $statfilex

                        echo "\n>>> Recovery of: $client BU-id-$num $snapupoutput" >> $TMP_PATH/.avexvssres$cfgx.log
			if [ ! -s $TMP_PATH/avexvssres$cfgx.stat ]
			then
				recapture_rtn avexvssres$cfgx.stat
				if [ -s $TMP_PATH/avexvssres$cfgx.stat ];then recapture_stat_verify avexvssres$cfgx; fi
			fi

			if [ -s $TMP_PATH/avexvssres$cfgx.stat ]
			then
				resolve_encryption avexvssres$cfgx.stat 
				egrep "AVEXVSS_RESTORE_OK" $TMP_PATH/avexvssres$cfgx.stat >/dev/null 2>&1
				if [ "$?" -eq "0" ];then echo "$BLUE_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [avexvssres$cfgx.stat] for completion details$DEF"
				else echo "$RED_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [avexvssres$cfgx.stat] for completion details$DEF"; fi
				
				if [ "$(egrep "CMD:" $TMP_PATH/avexvssres$cfgx.stat | awk -F: '{print $2}' | grep -c ":")" -gt "0" ]
				then
					egrep "Script-Created" $TMP_PATH/avexvssres$cfgx.stat | tee -a $LOG
					egrep "CMD:" $TMP_PATH/avexvssres$cfgx.stat | sed -n "s/\\\/\//"gp | tee -a $LOG
				else egrep "CMD:|Script-Created" $TMP_PATH/avexvssres$cfgx.stat | tee -a $LOG; fi

                        	egrep -v "PowerShell failed|xml cannot be removed" $TMP_PATH/avexvssres$cfgx.stat | egrep "$avexvss_filters_fail_some" >/dev/null 2>&1

                        	if [ "$?" -eq "0" ]
                        	then
					echo "$WHITE_FG"
                                	echo -E "$(egrep "$avexvss_filters_success" $TMP_PATH/avexvssres$cfgx.stat)" 2>/dev/null | tee -a $LOG
					echo "$RED_FG" | tee -a $LOG
                                	if [ "$DEBUG" -ge "3" ]
					then
						echo -E "$(egrep "$avexvss_filters_fail_all" $TMP_PATH/avexvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
						echo -E "$(egrep "$avexvss_filters_fail_all" $TMP_PATH/avexvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.avexvssres$cfgx.log 2>/dev/null 
                                	else
						echo -E "$(egrep "$avexvss_filters_fail_some" $TMP_PATH/avexvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
						echo -E "$(egrep "$avexvss_filters_fail_some" $TMP_PATH/avexvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.avexvssres$cfgx.log 2>/dev/null 
					fi
 					egrep "AVEXVSS_RESTORE" $TMP_PATH/avexvssres$cfgx.stat >/dev/null 2>&1
					if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG >>> WARNING:$DEF$RED_FG Suspect avexvss recovery script ended prematurely. $DEF" | tee -a $LOG; fi
 					if [ "$compflg" -gt "0" ];then compflg=$(expr $compflg - 1); fi
 					errflg=$(expr $errflg + 1)
					echo "$DEF" | tee -a $LOG
   	                     	else
                                	egrep "$avexvss_filters_success" $TMP_PATH/avexvssres$cfgx.stat >/dev/null 2>/dev/null
                                	if [ "$?" -eq "0" ]
                                	then
						echo "$WHITE_FG"
                                        	if [ "$Debug" -gt "0" ];then echo -E "$(egrep "$avexvss_filters_success" $TMP_PATH/avexvssres$cfgx.stat 2>/dev/null)" >> $LOG; fi
                                        	if [ "$DEBUG" -gt "0" ];then echo -E "$(egrep "$avexvss_filters_success" $TMP_PATH/avexvssres$cfgx.stat 2>/dev/null)"; fi
					else
                                		egrep "AVEXVSS_RESTORE" $TMP_PATH/avexvssres$cfgx.stat >/dev/null 2>/dev/null
						if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG >>> WARNING:$DEF$RED_FG Suspect avexvss recovery script ended prematurely. $DEF" | tee -a $LOG; fi
                                		if [ "$compflg" -gt "0" ];then compflg=$(expr $compflg - 1); fi
                                		errflg=$(expr $errflg + 1)
                                	fi
	                        fi
			else
				echo "$RED_FG >>>>>>> Unable to parse stat file [avexvssres$cfgx.stat] for completion details, file not available$DEF"	
				errflg=$(expr $errflg + 1)
                                compflg=$(expr $compflg - 1)
			fi
			mv $TMP_PATH/avexvssres$cfgx.stat $TMP_PATH/.avexvssres$cfgx.stat >/dev/null 2>&1
			echo "$DEF" | tee -a $LOG
## ====================> Used only for Lotus Notes - never been tested
#			avlotus_filters_success="END avtar log|AVLOTUS_RESTORE_OK"
#			get_stat_file $snapupoutput $statfilex
#
## ====================> If stat file does not exist as expected, issue an mccli back to try and recapture it
#			if [ ! -s $TMP_PATH/avlotusres$cfgx.stat ]
#			then
#				recapture_rtn avlotusres$cfgx.stat
#				if [ -s $TMP_PATH/avlotusres$cfgx.stat ];then recapture_stat_verify avlotusres$cfgx; fi
#			fi
#
#			if [ -s $TMP_PATH/avlotusres$cfgx.stat ]
#			then
#				resolve_encryption avlotusres$cfgx.stat 
#				egrep "AVLOTUS_RESTORE_OK" $TMP_PATH/avlotusres$cfgx.stat >/dev/null 2>&1
#				if [ "$?" -eq "0" ];then echo "$BLUE_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [avlotusres$cfgx.stat] for completion details$DEF"
#				else echo "$RED_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [avlotusres$cfgx.stat] for completion details$DEF"; fi
#				
#				if [ "$(egrep "CMD:" $TMP_PATH/avlotusres$cfgx.stat | awk -F: '{print $2}' | grep -c ":")" -gt "0" ]
#				then
#					egrep "Script-Created" $TMP_PATH/avlotusres$cfgx.stat | tee -a $LOG
#					egrep "CMD:" $TMP_PATH/avlotusres$cfgx.stat | sed -n "s/\\\/\//"gp | tee -a $LOG
#				else egrep "CMD:|Script-Created" $TMP_PATH/avlotusres$cfgx.stat | tee -a $LOG; fi
#
## ============================> Get rid of "PowerShell failed" message(s) usually present in a DAG environment and detected as a failed stage status
##                        	egrep "$avexvss_filters_fail_some" $TMP_PATH/avexvssres$cfgx.stat >/dev/null 2>&1
#
## ====================================> if egrep RC=0 errors were detected
#					echo "$WHITE_FG"
#					echo "$RED_FG" | tee -a $LOG
#					then
#						echo -E "$(egrep "$avlotus_filters_fail_all" $TMP_PATH/avlotusres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
#						echo -E "$(egrep "$avlotus_filters_fail_all" $TMP_PATH/avlotusres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.avlotusres$cfgx.log 2>/dev/null 
#						echo -E "$(egrep "$avlotus_filters_fail_some" $TMP_PATH/avlotusres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
#						echo -E "$(egrep "$avlotus_filters_fail_some" $TMP_PATH/avlotusres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.avlotusres$cfgx.log 2>/dev/null 
#					fi
#					if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG >>> WARNING:$DEF$RED_FG Suspect avlotus recovery script ended prematurely. $DEF" | tee -a $LOG; fi
#					echo "$DEF" | tee -a $LOG
## ====================================> no errors were detected in stat file, log info to ongoing log file
#						echo "$WHITE_FG"
#					else
#						if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG >>> WARNING:$DEF$RED_FG Suspect avlotus recovery script ended prematurely. $DEF" | tee -a $LOG; fi
#	                        fi
#			else
#				echo "$RED_FG >>>>>>> Unable to parse stat file [avlotusres$cfgx.stat] for completion details, file not available$DEF"	
#				errflg=$(expr $errflg + 1)
#			fi
## ====================> save history of last stat file
#			mv $TMP_PATH/avlotusres$cfgx.stat $TMP_PATH/.avlotusres$cfgx.stat >/dev/null 2>&1
#			echo "$DEF" | tee -a $LOG
                elif [ "$AvtarRes" -eq "5" ]
                then
			avmossvss_filters_success="END avtar log|AVMOSSVSS_RESTORE_OK"
                	avmossvss_filters_fail_some="Error|NOTOK|failed|FATAL"
                	avmossvss_filters_fail_all="Error|NOTOK|failed|FATAL"
                        if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
                        statfilex_="$($HOMEPATH/avtar --backups --acnt=$snapupoutput $Quiet $AVTAR_credential | grep "avmossvssres" | head -1 | awk '{print $NF}')"
                        if [ $(echo -E "$statfilex_" | grep -c ":") -gt "0" ];then statfilex=$(echo -E "$statfilex_" | sed -n "s/\\\/\//"gp); else statfilex="$statfilex_"; fi
 			get_stat_file $snapupoutput $statfilex

                        echo "\n>>> Recovery of: $client BU-id-$num $snapupoutput" >> $TMP_PATH/.avmossvssres$cfgx.log
			if [ ! -s $TMP_PATH/avmossvssres$cfgx.stat ]
			then
				recapture_rtn avmossvssres$cfgx.stat
				if [ -s $TMP_PATH/avmossvssres$cfgx.stat ];then recapture_stat_verify avmossvssres$cfgx; fi
			fi

			if [ -s $TMP_PATH/avmossvssres$cfgx.stat ]
			then
				resolve_encryption avmossvssres$cfgx.stat 
				egrep "AVMOSSVSS_RESTORE_OK" $TMP_PATH/avmossvssres$cfgx.stat >/dev/null 2>&1
				if [ "$?" -eq "0" ];then echo "$BLUE_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [avmossvssres$cfgx.stat] for completion details$DEF"
				else echo "$RED_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [avmossvssres$cfgx.stat] for completion details$DEF"; fi
				if [ "$(egrep "CMD:" $TMP_PATH/avmossvssres$cfgx.stat | awk -F: '{print $2}' | grep -c ":")" -gt "0" ]
				then
					egrep "Script-Created" $TMP_PATH/avmossvssres$cfgx.stat | tee -a $LOG
					egrep "CMD:" $TMP_PATH/avmossvssres$cfgx.stat | sed -n "s/\\\/\//"gp | tee -a $LOG
				else egrep "CMD:|Script-Created" $TMP_PATH/avmossvssres$cfgx.stat | tee -a $LOG; fi

                        	egrep "$avmossvss_filters_fail_some" $TMP_PATH/avmossvssres$cfgx.stat >/dev/null 2>&1
                        	if [ "$?" -eq "0" ]
                        	then
					echo "$WHITE_FG"
                                	echo -E "$(egrep "$avmossvss_filters_success" $TMP_PATH/avmossvssres$cfgx.stat)" 2>/dev/null | tee -a $LOG
					echo "$RED_FG" | tee -a $LOG
                                	if [ "$DEBUG" -ge "3" ]
					then
						echo -E "$(egrep "$avmossvss_filters_fail_all" $TMP_PATH/avmossvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
						echo -E "$(egrep "$avmossvss_filters_fail_all" $TMP_PATH/avmossvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.avmossvssres$cfgx.log 2>/dev/null 
                                	else
						echo -E "$(egrep "$avexvss_filters_fail_some" $TMP_PATH/avmossvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
						echo -E "$(egrep "$avexvss_filters_fail_some" $TMP_PATH/avmossvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.avmossvssres$cfgx.log 2>/dev/null 
					fi
                                	egrep "AVMOSSVSS_RESTORE" $TMP_PATH/avmossvssres$cfgx.stat >/dev/null 2>&1
                        		if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG >>> WARNING:$DEF$RED_FG Suspect avexvss recovery script ended prematurely. $DEF" | tee -a $LOG; fi
 					if [ "$compflg" -gt "0" ];then compflg=$(expr $compflg - 1); fi
 					errflg=$(expr $errflg + 1)
					echo "$DEF" | tee -a $LOG
                        	else
                                	egrep "$avmossvss_filters_success" $TMP_PATH/avmossvssres$cfgx.stat >> $TMP_PATH/.avmossvssres$cfgx.log 2>/dev/null
                                	if [ "$?" -eq "0" ]
                                	then
						echo "$WHITE_FG"
                                        	if [ "$Debug" -gt "0" ];then echo -E "$(egrep "$avmossvss_filters_success" $TMP_PATH/avmossvssres$cfgx.stat 2>/dev/null)" >> $LOG; fi
                                        	if [ "$DEBUG" -gt "0" ];then echo -E "$(egrep "$avmossvss_filters_success" $TMP_PATH/avmossvssres$cfgx.stat 2>/dev/null)"; fi
					else
                                		egrep "AVMOSSVSS_RESTORE" $TMP_PATH/avmossvssres$cfgx.stat >/dev/null 2>/dev/null
						if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG >>> WARNING:$DEF$RED_FG Suspect avmossvss recovery script ended prematurely. $DEF" | tee -a $LOG; fi
                                	fi
                        	fi
			else
				echo "$RED_FG >>>>>>> Unable to parse stat file [avmossvssres$cfgx.stat] for completion details, file not available$DEF"	
				errflg=$(expr $errflg + 1)
                                compflg=$(expr $compflg - 1)
			fi
			mv $TMP_PATH/avmossvssres$cfgx.stat $TMP_PATH/.avmossvssres$cfgx.stat >/dev/null 2>&1
			echo "$DEF" | tee -a $LOG
		elif [ "$AvtarRes" -eq "6" ]
                then
			hypervvss_filters_success="END avtar log|HYPERVVSS_RESTORE_OK"
                        hypervvss_filters_fail_some="Error|NOTOK|failed|FATAL"
                        hypervvss_filters_fail_all="Error|NOTOK|failed|FATAL"
			if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
                        statfilex_info="$($HOMEPATH/avtar --backups --acnt=$snapupoutput $Quiet $AVTAR_credential | grep "avhypervvssres" | grep -v ".stat2" | head -1 | awk '{print $3,$NF}')"
                        statfilex_="$(echo -E "$statfilex_info" | awk '{print $2}')"; statfilex_label="$(echo -E "$statfilex_info" | awk '{print $1}')"
                        if [ `echo -E "$statfilex_" | grep -c ":"` -gt "0" ];then statfilex=$(echo -E "$statfilex_" | sed -n "s/\\\/\//"gp); else statfilex="$statfilex_"; fi
			get_stat_file $snapupoutput $statfilex

                        echo "\n>>> Recovery of: $client BU-id-$num $snapupoutput" >> $TMP_PATH/.hypervvssres$cfgx.log
                        if [ ! -s $TMP_PATH/avhypervvssres$cfgx.stat ]
			then
				recapture_rtn avhypervvssres$cfgx.stat
				if [ -s $TMP_PATH/avhypervvssres$cfgx.stat ];then recapture_stat_verify avhypervvssres$cfgx; fi
			fi

                        if [ -s $TMP_PATH/avhypervvssres$cfgx.stat ]
                        then
				resolve_encryption avhypervvssres$cfgx.stat 
                                egrep "HYPERVVSS_RESTORE_OK" $TMP_PATH/avhypervvssres$cfgx.stat >/dev/null 2>&1
                                if [ "$?" -eq "0" ];then echo "$BLUE_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [avhypervvssres$cfgx.stat] for completion details$DEF"
                                else echo "$RED_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [avhypervvssres$cfgx.stat] for completion details$DEF"; fi

                                if [ "$(egrep "CMD:" $TMP_PATH/avhypervvssres$cfgx.stat | awk -F: '{print $2}' | grep -c ":")" -gt "0" ]
                                then
                                        egrep "Script-Created" $TMP_PATH/avhypervvssres$cfgx.stat | tee -a $LOG
                                        egrep "CMD:" $TMP_PATH/avhypervvssres$cfgx.stat | sed -n "s/\\\/\//"gp | tee -a $LOG
                                else egrep "CMD:|Script-Created" $TMP_PATH/avhypervvssres$cfgx.stat | tee -a $LOG; fi

                                egrep "$hypervvss_filters_fail_some" $TMP_PATH/avhypervvssres$cfgx.stat >/dev/null 2>&1
                                if [ "$?" -eq "0" ]
                                then
                                        echo "$WHITE_FG"
                                        echo -E "$(egrep "$hypervvss_filters_success" $TMP_PATH/avhypervvssres$cfgx.stat)" 2>/dev/null | tee -a $LOG
                                        echo "$RED_FG" | tee -a $LOG
                                        if [ "$DEBUG" -ge "3" ]
                                        then
                                                echo -E "$(egrep "$hypervvss_filters_fail_all" $TMP_PATH/avhypervvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
                                                echo -E "$(egrep "$hypervvss_filters_fail_all" $TMP_PATH/avhypervvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.hypervvssres$cfgx.log 2>/dev/null
                                        else
                                                echo -E "$(egrep "$hypervvss_filters_fail_some" $TMP_PATH/avhypervvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
                                                echo -E "$(egrep "$hypervvss_filters_fail_some" $TMP_PATH/avhypervvssres$cfgx.stat)" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.hypervvssres$cfgx.log 2>/dev/null
                                        fi
                                        egrep "hypervvss_RESTORE" $TMP_PATH/avhypervvssres$cfgx.stat >/dev/null 2>/dev/null
                                        if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG >>> WARNING:$DEF$RED_FG Suspect hypervvss recovery script ended prematurely. $DEF" | tee -a $LOG; fi
                                        if [ "$compflg" -gt "0" ];then compflg=$(expr $compflg - 1); fi
                                        errflg=$(expr $errflg + 1)
                                        echo "$DEF" | tee -a $LOG
                             else
                                        egrep "$hypervvss_filters_success" $TMP_PATH/avhypervvssres$cfgx.stat >/dev/null 2>/dev/null
                                        if [ "$?" -eq "0" ]
                                        then
                                                echo "$WHITE_FG"
                                                if [ "$Debug" -gt "0" ];then echo -E "$(egrep "$hypervvss_filters_success" $TMP_PATH/avhypervvssres$cfgx.stat 2>/dev/null)" >> $LOG; fi
                                                if [ "$DEBUG" -gt "0" ];then echo -E "$(egrep "$hypervvss_filters_success" $TMP_PATH/avhypervvssres$cfgx.stat 2>/dev/null)"; fi
                                        else
                                                egrep "hypervvss_RESTORE" $TMP_PATH/avhypervvssres$cfgx.stat >/dev/null 2>/dev/null
                                                if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG >>> WARNING:$DEF$RED_FG Suspect hypervvss recovery script ended prematurely. $DEF" | tee -a $LOG; fi
                                                if [ "$compflg" -gt "0" ];then compflg=$(expr $compflg - 1); fi
                                                errflg=$(expr $errflg + 1)
                                        fi
                                fi
                        else
                                echo "$RED_FG >>>>>>> Unable to parse stat file [$WHITE_FG avhypervvssres$cfgx.stat $RED_FG] for completion details, file not available$DEF"
				errflg=$(expr $errflg + 1)
                                compflg=$(expr $compflg - 1)
                        fi
                        mv $TMP_PATH/avhypervvssres$cfgx.stat $TMP_PATH/.avhypervvssres$cfgx.stat >/dev/null 2>&1
                elif [ "$AvtarRes" -eq "8" ]
                then
			sqlmigrate_filters_success="END avtar log|SQLMIGRATE_RESTORE_OK"
                	sqlmigrate_filters_fail_some="Error|NOTOK|failed|FATAL"
                	sqlmigrate_filters_fail_all="Error|NOTOK|failed|FATAL"
                        if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
                        statfilex_=$($HOMEPATH/avtar --backups --acnt=$snapupoutput $Quiet $AVTAR_credential | grep "avexvssres" | head -1 | awk '{print $NF}')
                        if [ `echo -E "$statfilex_" | grep -c ":"` -gt "0" ];then statfilex=$(echo -E "$statfilex_" | sed -n "s/\\\/\//"gp); else statfilex="$statfilex_"; fi
			get_stat_file $snapupoutput $statfilex

                        echo "\n>>> Recovery of: $client BU-id-$num $snapupoutput" >> $TMP_PATH/.sqlmigrateres$cfgx.log
			if [ ! -s $TMP_PATH/sqlmigrateres$cfgx.stat ]
			then
				recapture_rtn sqlmigrateres$cfgx.stat
				if [ -s $TMP_PATH/sqlmigrateres$cfgx.stat ];then recapture_stat_verify sqlmigrateres$cfgx; fi
			fi

			if [ -s $TMP_PATH/sqlmigrateres$cfgx.stat ]
			then
				resolve_encryption sqlmigrateres$cfgx.stat 
				egrep "SQLMIGRATE_RESTORE_OK" $TMP_PATH/sqlmigrateres$cfgx.stat >/dev/null 2>&1
				if [ "$?" -eq "0" ];then echo "$BLUE_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [sqlmigrateres$cfgx.stat] for completion details$DEF"
				else echo "$RED_BG$WHITE_FG >>>>>>> Parsing Env-$cfgx stat file [sqlmigrateres$cfgx.stat] for completion details$DEF"; fi
				
				if [ "$(egrep "CMD:" $TMP_PATH/sqlmigrateres$cfgx.stat | awk -F: '{print $2}' | grep -c ":")" -gt "0" ]
				then
					egrep "Script-Created" $TMP_PATH/sqlmigrateres$cfgx.stat | tee -a $LOG
					egrep "CMD:" $TMP_PATH/sqlmigrateres$cfgx.stat | sed -n "s/\\\/\//"gp | tee -a $LOG
				else egrep "CMD:|Script-Created" $TMP_PATH/sqlmigrateres$cfgx.stat | tee -a $LOG; fi

                        	egrep "$sqlmigrate_filters_fail_some" $TMP_PATH/sqlmigrateres$cfgx.stat >/dev/null 2>&1
                        	if [ "$?" -eq "0" ]
                        	then
					echo "$WHITE_FG"
                                	echo -E "`egrep "$sqlmigrate_filters_success" $TMP_PATH/sqlmigrateres$cfgx.stat`" 2>/dev/null | tee -a $LOG
					echo "$RED_FG" | tee -a $LOG
                                	if [ "$DEBUG" -ge "3" ]
					then
						echo -E "`egrep "$sqlmigrate_filters_fail_all" $TMP_PATH/sqlmigrateres$cfgx.stat`" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
						echo -E "`egrep "$sqlmigrate_filters_fail_all" $TMP_PATH/sqlmigrateres$cfgx.stat`" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.sqlmigrateres$cfgx.log 2>/dev/null 
                                	else
						echo -E "`egrep "$sqlmigrate_filters_fail_some" $TMP_PATH/sqlmigrateres$cfgx.stat`" 2>/dev/null |tail -100 | sort -u | tee -a $LOG
						echo -E "`egrep "$sqlmigrate_filters_fail_some" $TMP_PATH/sqlmigrateres$cfgx.stat`" 2>/dev/null |tail -100 | sort -u >> $TMP_PATH/.sqlmigrateres$cfgx.log 2>/dev/null 
					fi
 					egrep "SQLMIGRATE_RESTORE" $TMP_PATH/sqlmigrateres$cfgx.stat >/dev/null 2>&1
					if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG >>> WARNING:$DEF$RED_FG Suspect avsql recovery script ended prematurely. $DEF" | tee -a $LOG; fi
 					if [ "$compflg" -gt "0" ];then compflg=`expr $compflg - 1`; fi
 					errflg=`expr $errflg + 1`
					echo "$DEF" | tee -a $LOG
   	                     else
                                	egrep "$sqlmigrate_filters_success" $TMP_PATH/sqlmigrateres$cfgx.stat >/dev/null 2>/dev/null
                                	if [ "$?" -eq "0" ]
                                	then
						echo "$WHITE_FG"
                                        	if [ "$Debug" -gt "0" ];then echo -E "`egrep "$sqlmigrate_filters_success" $TMP_PATH/sqlmigrateres$cfgx.stat 2>/dev/null`" >> $LOG; fi
                                        	if [ "$DEBUG" -gt "0" ];then echo -E "`egrep "$sqlmigrate_filters_success" $TMP_PATH/sqlmigrateres$cfgx.stat 2>/dev/null`"; fi
					else
                                		egrep "SQLMIGRATE_RESTORE" $TMP_PATH/sqlmigrateres$cfgx.stat >/dev/null 2>/dev/null
						if [ "$?" -ne "0" ];then echo "$RED_BG$WHITE_FG >>> WARNING:$DEF$RED_FG Suspect avsql recovery script ended prematurely. $DEF" | tee -a $LOG; fi
                                		if [ "$compflg" -gt "0" ];then compflg=`expr $compflg - 1`; fi
                                		errflg=`expr $errflg + 1`
                                	fi
	                        fi
			else
				echo "$RED_FG >>>>>>> Unable to parse stat file [sqlmigrateres$cfgx.stat] for completion details, file not available$DEF"	
				errflg=$(expr $errflg + 1)
                                compflg=$(expr $compflg - 1)
			fi
			mv $TMP_PATH/sqlmigrateres$cfgx.stat $TMP_PATH/.sqlmigrateres$cfgx.stat >/dev/null 2>&1
			echo "$DEF" | tee -a $LOG
		elif [ "$AvtarRes" -eq "2" ]
		then
			if [ "$Cfg" = "" ];then cfgx=1; else cfgx="$Cfg"; fi
			statfilex_=`$HOMEPATH/avtar --backups --acnt=$snapupoutput $Quiet $AVTAR_credential | grep "ntwkrres" | head -1 | awk '{print $NF}'`
			if [ `echo -E "$statfilex_" | grep -c ":"` -gt "0" ];then statfilex=$(echo -E "$statfilex_" | sed -n "s/\\\/\//"gp); else statfilex="$statfilex_"; fi
			rm $TMP_PATH/ntwkrres$cfgx.stat >/dev/null 2>&1
 			$HOMEPATH/avtar -x --acnt=$snapupoutput $Quiet $AVTAR_credential --target=$TMP_PATH $statfilex >/dev/null 2>&1
 			$HOMEPATH/avtar --delete $Quiet --force --acnt=$snapupoutput $AVTAR_credential $statfilex >/dev/null 2>&1
			echo "\n>>> $snapupoutput" >> $TMP_PATH/.ntwkrres$cfgx.log
			avtarerr=$(grep "Please refer to logfile" $TMP_PATH/ntwkrres$cfgx.stat | awk '{print $5}')
			egrep "$networker_filters_fail_some" $TMP_PATH/ntwkrres$cfgx.stat >> $TMP_PATH/.ntwkrres$cfgx.log
			if [ "$?" -eq "0" ]
			then
				echo "$WHITE_FG `egrep "$networker_filters_success_all" $TMP_PATH/ntwkrres$cfgx.stat`$DEF" | tee -a $LOG
 				if [ "$DEBUG" -ge "0" ];then echo "$RED_FG `egrep "$networker_filters_fail_all" $TMP_PATH/ntwkrres$cfgx.stat`$DEF" | tee -a $LOG
 				else echo "$RED_FG `egrep "$networker_filters_fail_some" $TMP_PATH/ntwkrres$cfgx.stat`$DEF" >> $LOG; fi
 				if [ "$avtarerr" != "" ];then echo "$RED_BG$WHITE_FG Review on Networker Server Log: $avtarerr $DEF" | tee -a $LOG; fi

				if [ "$compflg" -gt "0" ];then compflg=`expr $compflg - 1`; fi
				errflg=`expr $errflg + 1`
				echo "$DEF" | tee -a $LOG
			else
				egrep "$networker_filters_success_some" $TMP_PATH/ntwkrres$cfgx.stat >> $TMP_PATH/.ntwkrres$cfgx.log
				if [ "$?" -eq "0" ]
				then
					if [ "$Debug" -gt "0" ];then echo "$WHITE_FG `egrep "$networker_filters_success_all" $TMP_PATH/ntwkrres$cfgx.stat`$DEF" >> $LOG; fi
					if [ "$DEBUG" -gt "0" ];then echo "$WHITE_FG `egrep "$networker_filters_success_all" $TMP_PATH/ntwkrres$cfgx.stat`$DEF"; fi
				fi
			fi
		fi

		audit_record="Client=$client,SSrv=$ss__,SPath=$Destx$dpath_,TSrv=$BUSERVER_NAME,TPolicy=$tpolicy"

		audit_orig_date="$(grep "^$audit_client_name" $TMP_PATH/snapups2tape.txt | grep "\|$audit_buid" | head -1 | awk -F\| '{print $(NF - 1)}')"

#		if [ `grep "Client=$client " $BULOCATION/audit/.adme-audit.csv 2>/dev/null | grep "Grp=$Siteid " | tail -1 | grep -c "$audit_record"` -gt "0" ]
#		then
#			echo "Recovery-Session,`date '+%Y-%m-%d,%H:%M'`,$audit_orig_date,$audit_record,Grp=$Siteid,BU#=$num,StgOnly=$Stageonly_,Log=$logxfile,ErrFlag=$errflg,Export=$BACKUPPRODUCT" | sed -n "s/ /,/"gp >> $BULOCATION/audit/.adme-audit.csv
#		else
## ADAM			echo "Critical-Path-Change,`date '+%Y-%m-%d,%H:%M'`,$audit_orig_date,$audit_record,Grp=$Siteid,BU#=$num,StgOnly=$Stageonly_,Log=$logxfile,ErrFlag=$errflg,Export=$BACKUPPRODUCT" | sed -n "s/ /,/"gp >> $BULOCATION/audit/.adme-audit.csv
#set -
#		fi
	done
 
	if [ "$Mode1" -eq "1" ]; then echo "INFO-16A: Using incremental staging recovery" >> $LOG; fi
	if [ "$Mode1" -eq "2" ]; then echo "INFO-16B: Using incremental-delete staging recovery" >> $LOG; fi
 	if [ "$compflg" -eq "$total" ]
 	then
 		echo "\nINFO-15A: Staging Results: Success-Cnt=$compflg Skipped-Cnt=$missflg Err-Cnt=$errflg Total-Cnt=$total" | tee -a $LOG
		rm $TMP_PATH/.retry.tmp $TMP_PATH/.rerun.tmp >/dev/null 2>&1
 		if [ $Retry -eq 1 ]
 		then
			echo "ADME-RETRY-SUCCEEDED: $(date +'%d/%m/%y %H:%M') used session# [$Recfile]" >> $TMP_PATH/.retry.tmp.$Recfile
 			echo "INFO-30A: RETRY session [$Recfile] for [$Siteid] completed okay$DEF" | tee -a $LOG
		fi
 		if [ $Rerun -eq 1 ]
		then
 			echo "INFO-30B: RERUN session for [$Siteid] completed okay$DEF" | tee -a $LOG
			echo "ADME-RERUN-SUCCEEDED: $(date +'%d/%m/%y %H:%M') used session# [$Recfile]" >> $TMP_PATH/.rerun.tmp.$Recfile
		fi
    		if [ "$Purge" -eq "2" -a "$Stageonly_" -eq "1" ];then purge_rtn; fi
		return $Ereturn
 	else
		if [ "$Retry" -eq "1" ]
		then
			echo "ADME-RETRY-FAILED: $(date +'%d/%m/%y %H:%M') used session# [$Recfile]" >> $TMP_PATH/.retry.tmp.$Recfile
 			echo "$ERRORX-30A: RETRY session [$Recfile] for [$Siteid] has failed$DEF" | tee -a $LOG
		elif [ "$Rerun" -eq "1" ]
		then
 			echo "$ERRORX-30B: RERUN session [$Recfile] for [$Siteid] has failed$DEF" | tee -a $LOG
			echo "ADME-RERUN-FAILED: $(date +'%d/%m/%y %H:%M') used session# [$Recfile]" >> $TMP_PATH/.rerun.tmp.$Recfile
		fi

		if [ "$compflg" -lt "0" ];then compflg=0; fi
 		echo "$\n$ERRORX-09: A $plugin staging session has failed, Status:$WHITE_FG Success-Cnt=$compflg Skipped-Cnt=$missflg Err-Cnt=$errflg Total-Cnt=$total$DEF" | tee -a $LOG

    		if [ "$Purge" -eq "2" -a "$Stageonly_" -eq "1" ];then purge_rtn; fi
		if [ "$compflg" -gt "0" -a "$errflg" -gt "0" ];then Ereturn=2; fi
		if [ "$compflg" -eq "0" -a "$errflg" -gt "0" ];then Ereturn=1; fi
		if [ "$compflg" -eq "0" -a "$missflg" -gt "0" ];then Ereturn=1; fi

		if [ "$ss" = "WINDOWS" ]
		then
			if [ -f $BULOCATION/customize/freeze.txt ]
			then
				mcclicmd="mccli client backup-target $MCS_credential --name=$ss_ --target=$WININSTALLPATH/var --plugin=$ptype --cmd=--freezemethod=none --cmd=--expires=15 $MCCLI_Use_DD" 
			else
				mcclicmd="mccli client backup-target $MCS_credential --name=$ss_ --target=$WININSTALLPATH/ --plugin=$ptype --cmd=--expires=15 $MCCLI_Use_DD --cmd=--exclude=bin*" 
			fi
			if [ "$Debug" -gt "1" -o "$DEBUG" -gt "1" ];then echo "DEBUG: $mcclicmd"; fi
			$HOMEPATH/$mcclicmd >/dev/null 2>&1
		elif [ "$Networker" -eq "1" ]
		then
			if [ "$Debug" -gt "1" -o "$DEBUG" -gt "1" ];then echo "DEBUG: $HOMEPATH/mccli client backup-target $MCS_credential --name=$ss_ --target=/nsr/dedup/logs --plugin=$ptype $MCCLI_Use_DD"; fi
			$HOMEPATH/mccli client backup-target $MCS_credential --name=$ss_ --target=/nsr/dedup/logs --plugin=$ptype --cmd=--expires=60 $MCCLI_Use_DD >/dev/null 2>&1
		else
			mcclicmd="mccli client backup-target $MCS_credential --name=$ss_ --target=/var/avamar --plugin=$ptype --cmd=--expires=60 $MCCLI_Use_DD --cmd=--exclude=bin*"
			if [ "$Debug" -gt "1" -o "$DEBUG" -gt "1" ];then echo "DEBUG: $mcclicmd"; fi
			$HOMEPATH/$mcclicmd >/dev/null 2>&1
		fi
		return $Ereturn
 	fi
}

labelx_rtn()
{

if [ "$(echo "$destpath" | grep -c "BYDATE")" -ne "0" ]
then
	if [ "$Labelx" != "" -a "$NWKsaveFlag" -eq "1" ]
        then
              destpath="$(echo "$destpath" | sed -n "s/BYDATE/BYDATE\/$Labelx/"gp)"
        fi
fi
}

resolve_encryption()
{
	if [ "$(grep -c "^PWX" $TMP_PATH/$1)" -ne "0" ]
	then
		pwx_="$(tail -1 $TMP_PATH/$1 | awk '{print $1}')"
		grep -v "^PWX=" $ENVCFG > $TMP_PATH/new_atoenv$cfgx.cfg
		echo "PWX=$pwx_" >> $TMP_PATH/new_atoenv$cfgx.cfg
		cp $TMP_PATH/new_atoenv$cfgx.cfg $ENVCFG
	fi
}

monitor_loop()
{

	if [ "$3" = "tape" ]; then TIMEDELAY="$TIMEDELAYTAPE"
	else
		TIMEDELAY="$TIMEDELAYSTAGE"
 		conv_="$(echo "$3" | sed -n "s/K//"p | sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta')"
		k="K"; conv="$conv_$k"
set -
	fi
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled monitor_loop()"; set -x 
	fi
	if [ "$ss_" = "n/a" ]
	then
		echo "$ERRORX-12B: Invalid staging server name [$WHITE_FG $ss_$RED_FG ] for this Environment#/Group combination. $DEF" | tee -a $LOG
		mail_rtn
		if [ "$Debug" -lt "3" ]; then rm $TMP_PATH/* >/dev/null 2>&1; fi
		exit 1	
	fi

	FirstPass=1
	actid=`grep "activity-id" $TMP_PATH/check | awk '{print $2}'`
	cnt=0; rtime=0; htime=0; mtime=0; stime=0; modtime=0; prg_bytes="0";  tstamp=`date +'20%y-%m-%d %H:%M:%S'`
	if [ "$3" != "tape" ]
	then 
		if [ "$VdpRes" -eq "0" ]
		then
			if [ "$AvtarRes" -eq "0" ]
			then
				if [ "$Avtar_Versionx" -eq "0" ]
				then	
					logxfile=`$HOMEPATH/mccli activity show $MCS_credential --verbose=true | grep "$actid" | awk '{print $NF}'`
				else
					logxfile=`$HOMEPATH/mccli activity show $MCS_credential --verbose=true --id=$actid --xml=true | grep "<WID>" | awk -F">" '{print $2}' | awk -F"<" '{print $1}'`
				fi
			else
				if [ "$Avtar_Versionx" -eq "0" ]
				then	
					logxfile=`$HOMEPATH/mccli activity show $MCS_credential --verbose=true | grep "$actid" | awk '{print $(NF-1)}'`
				else
					logxfile=`$HOMEPATH/mccli activity show $MCS_credential --verbose=true --id=$actid --xml=true | grep "<WID>" | awk -F">" '{print $2}' | awk -F"<" '{print $1}'`
				fi
			fi
		fi
		if [ "$CloudDataPurge" -ne "1" ]
		then
			echo "\n$GREEN_FG$tstamp [$logxfile][$ptype] Initiating $RecType Recovery Session: $BUcnt_ of $bucnt Size: [$conv]$DEF\n$4"
			if [ "$Debug" -ge "1" ]; then echo "\n$GREEN_FG$tstamp [$logxfile][$ptype] Initiating $RecType Recovery Session: $BUcnt_ of $bucnt Size: [$conv]$DEF\n$4" >> $LOG; fi
		else
			echo "\n$GREEN_FG$tstamp [$logxfile][$ptype] Initiating $RecType Recovery Session: $BUcnt_ of $bucnt Size: [< 1MB]$DEF\n$4"
			if [ "$Debug" -ge "1" ]; then echo "\n$GREEN_FG$tstamp [$logxfile][$ptype] Initiating $RecType Recovery Session: $BUcnt_ of $bucnt Size: [< 1MB]$DEF\n$4" >> $LOG; fi
		fi
 		echo "$tstamp $2$GREEN_FG ~RunTime=00:00:00$DEF Status=Initializing Progress: 0 %New: 0"
		if [ "$VdpRes" -eq "1" ]
		then
			$vdp_cmd
			if [ "$?" -eq "0" ];then status="VDP-Completed"; else status="VDP-Failed"; fi
		fi
	else
		logxfile=`$HOMEPATH/mccli activity show $MCS_credential --verbose=true --id=$actid --xml=true | grep "<WID>" | awk -F">" '{print $2}' | awk -F"<" '{print $1}'`
		echo "$tstamp $2 Status=Initiating"
 		if [ "$Debug" -ge "0" ]; then echo "$tstamp $2$GREEN_FG ~RunTime=00:00:00$DEF"; fi
	fi

	poll_flag=0; diff=0; lostcnt=0; losttimer=60
 	while true
 	do
		if [ "$TIMEDELAY" -eq "0" ];then TIMEDELAY="$TIMEDELAY_"; fi
		tstamp=`date +'20%y-%m-%d %H:%M:%S'`
		timex=0
		if [ "$3" = "tape" -o -f $BULOCATION/customize/usemccli.txt ];then polltime=60; else polltime=28; fi
		if [ -s $BULOCATION/customize/usemccli.txt ];then polltime="$(head -1 $BULOCATION/customize/usemccli.txt | awk '{print $1}')"; fi

		while true
		do
			if [ "$VdpRes" -eq "1" ];then break; fi
			b4seconds=`date +'%S'`
			if [ "$Avtar_Versionx" -eq "0" ]
			then	
 				status_=`$HOMEPATH/mccli activity show $MCS_credential --name=$ss_ | grep "$actid" | awk '{print $2,$3,"Progress: "$(NF - 1),$NF}'`
			else
				xmltext="`$HOMEPATH/mccli activity show $MCS_credential --name=$ss_ --id=$actid --xml=true`"
				curstat="$(echo "$xmltext" | grep "<Status>" | awk -F">" '{print $2}' | awk -F"<" '{print $1}')"
				errcode="$(echo "$xmltext" | grep "<ErrorCode>" | awk -F">" '{print $2}' | awk -F"<" '{print $1}')"
				progbytes="$(echo "$xmltext" | grep "<ProgressBytes>" | awk -F">" '{print $2}' | awk -F"<" '{print $1}')"
				percnew="$(echo "$xmltext" | grep "<NewBytes>" | awk -F">" '{print $2}' | awk -F"<" '{print $1}')"
				status_="$curstat $errcode Progress: $progbytes $percnew"
			fi

			if [ "$status_" = "" ]
			then
				sleep 15
				if [ >" | awk -F">" '{print $2}' | awk -F"<" '{print $1}'$Avtar_Versionx" -eq "0" ]
				then	
 					status_=`$HOMEPATH/mccli activity show $MCS_credential --name=$ss_ | grep "$actid" | awk '{print $2,$3,"Progress: "$(NF - 1),$NF}'`
				else
					xmltext="`$HOMEPATH/mccli activity show $MCS_credential --name=$ss_ --id=$actid --xml=true`"
					curstat="$(echo "$xmltext" | grep "<Status>" | awk -F">" '{print $2}' | awk -F"<" '{print $1}')"
					errcode="$(echo "$xmltext" | grep "<ErrorCode>" | awk -F">" '{print $2}' | awk -F"<" '{print $1}')"
					progbytes="$(echo "$xmltext" | grep "<ProgressBytes>" | awk -F">" '{print $2}' | awk -F"<" '{print $1}')"
					percnew="$(echo "$xmltext" | grep "<NewBytes>" | awk -F">" '{print $2}' | awk -F"<" '{print $1}')"
					status_="$curstat $errcode Progress: $progbytes $percnew"
				fi
			fi

			after_seconds=`date +'%S'`
			status2=`echo "$status_" | awk '{print $2}'`
			if [ "$MASK_AVA_ERROR_10020" = "false" ]
			then
				if [ "$(echo "$status2" | grep -c "Exception")" -ne "0" ];then status2="Exceptions"; fi
			fi
			status=`echo "$status_" | awk '{print $1}'`
set -

			if [ -f $BULOCATION/customize/mcsdebug.txt ]
			then
				status=""; losttimer=5;
			else
				losttimer=60
			fi

 			if [ "$status" = "Running" -o "$status" = "Waiting-Client" -o "$status" = "Waiting-Queued" -o "$status" = "Running,Canceling" ]
			then
				if [ "$poll_flag" -eq "0" ]
				then
   					poll_flag=1; TIMEDELAY_="$TIMEDELAY"; sleep 5 
				fi
				if [ -f $HOMEPATH/avmaint -a "$3" != "tape" -a ! -f $BULOCATION/customize/usemccli.txt ]
				then
					polltime=$polltime; timex2=0
					while true
					do
						active="$($HOMEPATH/avmaint sessions --account=$ss_ $AVMAINT_credential | egrep "labelnum=| type=|workorderid=|path=| bytes=|percentnew=")"
						if [ "$active" != "" ]
						then
							line_p1="$(echo "$active" | grep -n "^" | sed -n "s/:/ /"p | grep "$client" | head -1 | awk '{print $1}')"
							if [ "$line_p1" -ge "1" ]
							then
								prg_bytes="$(echo "$active" | sed -n "$line_p1,999"p | grep " bytes=" | head -1 | awk -F= '{print $2}' | sed -n "s/\"//"gp)"
								prc_new="$(echo "$active" | sed -n "$line_p1,999"p | grep "percentnew=" | head -1 | awk -F= '{print $2}')"
							elif [ "$line_p1" -eq "" ]
							then
								break
							fi
   							sleep $polltime; timex2=`expr $timex2 + $polltime`
  							if [ "$timex2" -ge "$TIMEDELAY" ];then break; fi
 						elif [ "$active" = "" -a "$prg_bytes" -gt "0" ]
 						then
  							sleep 30; break
						else
							break
						fi
					done
  					timex=`expr $timex + $timex2`
				else
 					sleep $polltime; timex=`expr $timex + $polltime`
				fi
			if [ "$AvtarRes" -eq "0" ]
			then
 				newbytes=`echo "$status_" | awk '{print $NF}'`
 				status_=`echo "$status_" | awk '{print $1,$3,$4,$5}'`
			else
 				status_=`echo "$status_" | awk '{print $1,$3}'`
				kb=""
				if [ "$prg_bytes" -gt "1000000000000" ]
				then
					unit_prg_bytes="$(expr "$prg_bytes" / 1000000000000)"
					unit_prg_bytes_remainder="$(expr "$prg_bytes" % 1000000000000 | cut -b 1-3)"
					prg_bytes="$unit_prg_bytes.$unit_prg_bytes_remainder"; unit="TB"
				elif [ "$prg_bytes" -gt "1000000000" ]
				then
					unit_prg_bytes="$(expr "$prg_bytes" / 1000000000)"
					unit_prg_bytes_remainder="$(expr "$prg_bytes" % 1000000000 | cut -b 1-2)"
					prg_bytes="$unit_prg_bytes.$unit_prg_bytes_remainder"; unit="GB"
				elif [ "$prg_bytes" -gt "1000000" ]
				then
					unit_prg_bytes="$(expr "$prg_bytes" / 1000000)"
					unit_prg_bytes_remainder="$(expr "$prg_bytes" % 1000000 | cut -b 1)"
					prg_bytes="$unit_prg_bytes.$unit_prg_bytes_remainder"; unit="MB"
				elif [ "$prg_bytes" -gt "1000" ]
				then
					unit_prg_bytes="$(expr "$prg_bytes" / 1000)"
					unit_prg_bytes_remainder="$(expr "$prg_bytes" % 1000 | cut -b 1)"
					prg_bytes="$unit_prg_bytes.$unit_prg_bytes_remainder"; unit="KB"
				fi
				prg_bytes_="$(echo "$prg_bytes" | sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta')"
				status_=`echo "$status_ $prg_bytes_ $unit"`
				newbytes="$prc_new"
			fi
				mcclidelay=`expr $after_seconds - $b4seconds`
				if [ "$mcclidelay" -lt "0" ]
				then
					mcclidelay=`expr $mcclidelay \* -1`; mcclidelay=`expr 60 - $mcclidelay`
				fi
  				timex=`expr $timex + $mcclidelay`
				if [ "$timex" -ge "$TIMEDELAY" -o "$timex2" -ge "$TIMEDELAY" ];then break; fi
			elif [ "$status" = "" ]
			then

				echo "DEBUG - Lost-It CMD=$HOMEPATH/mccli activity show $MCS_credential --name=$ss_ | grep "$actid""
				sleep $losttimer; lostcnt=`expr $lostcnt + 1`
				status=`$HOMEPATH/mccli activity show $MCS_credential --name=$ss_ | grep "$actid" | awk '{print $2}'`
				if [ "$status" != "" ]
				then
					echo "DEBUG-1A - Found it again status=$status"; lostcnt=0; continue
				else
					echo "DEBUG-1B - Unable to locate activity-id=$actid for $ss_, was MCS service stopped or bounced? Trying again..."
					sleep $losttimer
				fi
				if [ "$lostcnt" -lt "15" ]
				then
					continue 
  				else 
					echo "DEBUG-1C - Unable to Re-locate activity-id=$actid for $ss_, giving up after $lostcnt retries..."
					status="Lost-It"; break
				fi
			else
				break
			fi
		done
		get_err=0

		if [ -s $BULOCATION/customize/avtar_error_pattern.cfg ]
		then
       			 error_pattern="$(head -1 $BULOCATION/customize/avtar_error_pattern.cfg)"
		else
       			 error_pattern="avtar Error|ERROR:|END avtar log|<6149>:|<5314>:|FATAL|Info <7925>|Info <6090>"
		fi
		if [ -s $BULOCATION/customize/avtar_error_exclude_pattern.cfg ]
		then
        		error_exclude_pattern="$(head -1 $BULOCATION/customize/avtar_error_exclude_pattern.cfg)"
		else
       			 error_exclude_pattern="avtar Error <6833>|avtar Error <5574>|assert error|avtar Error <5499>|Warning <7542>"
		fi

#		error_pattern="avtar Error|ERROR:|END avtar log|<6149>:|<5314>:|FATAL"
#		error_exclude_pattern="avtar Error <6833>"

		mcscheck_rtn


		if [ "$status" = "Failed" -o "$status" = "Canceled" -o "$status2" = "Exceptions" -o "$status" = "Dropped" -o "$status" = "Timed" -o "$status" = "Lost-It" -o "$status" = "Stalled" -o "$status" = "VDP-Failed" -o "$mcscheck" -eq "1" -o "$rootfull" -eq "1" ]
		then
			if [ "$rootfull" -eq "1" ]
                        then
				echo "$1$WHITE_FG Log=$logxfile Status=ROOT-Full Error-Code=100%$DEF" | tee -a $LOG
                                get_err=1
			elif [ "$mcscheck" -eq "1" ]
			then
				echo "$1$WHITE_FG Log=$logxfile Status=MCS-Service Error-Code=DOWN$DEF" | tee -a $LOG
				get_err=1
			elif [ "$status2" -ge "0" -a "$status2" -le "999999" ]
			then
				echo "$1$WHITE_FG Log=$logxfile Status=$status Error-Code=$status2$DEF" | tee -a $LOG
				get_err=1
			else

				echo "$1$WHITE_FG Log=$logxfile Status=$status Error-Code=n/a$DEF" | tee -a $LOG
				get_err=1
			fi
			if [ $get_err -eq 1 -a $DEBUG -ge 1 -a "$mcscheck" -eq "0" ]
			then
				echo
				echo "$RED_BG$WHITE_FG>>>>>>> Parsing avtar client log [Log=$logxfile] for error details$DEF"
				
				$HOMEPATH/mccli activity get-log --id=$actid $MCS_credential | egrep "$error_pattern" | egrep -v "$error_exclude_pattern"
				echo ">>>>>>> Parsing client log complete - If no lines are shown here, the avtar client log was too large for ADMe to retrieve remotely" 
				echo
				get_err=0
			fi
			if [ "$Purge" -ge "1" ]
			then
				echo "$Siteid|$client|$num|$status" >> $TMP_PATH/adm_purge_list.dat
				echo "$Siteid|$client|$num|$status" >> $TMP_PATH/.stageonly_adm_purge_list.dat
			fi

			if [ "$3" != "tape" ]
			then
				if [ "$Retry_flag" -eq "0" ]
				then
					cat $Atositeid >> $TMP_PATH/.retry.tmp
					grep "$num|" $TMP_PATH/$bulist_ 2>/dev/null | grep "^$client" >> $TMP_PATH/.retry.tmp
					Retry_flag=1
				else
					grep "$num|" $TMP_PATH/$bulist_ | grep "^$client" >> $TMP_PATH/.retry.tmp
				fi
			fi
			errflg=`expr $errflg + 1`
			break
		fi
set -
		if [ "$status" = "Completed" -o "$status" = "Lost-It" -o "$status" = "VDP-Completed" ]
		then
			if [ "$3" != "tape" ]
			then
set -
			fi

			completed=`grep "$num|" $TMP_PATH/$bulist_ 2>/dev/null | grep "^$client" | tail -1`
			grep -v "$completed" $TMP_PATH/.rerun.tmp > $TMP_PATH/.rerun.tmp0 2>/dev/null
			cat -u $TMP_PATH/.rerun.tmp0 > $TMP_PATH/.rerun.tmp 2>/dev/null
			compflg=`expr $compflg + 1`
			if [ "$Purge" -ge "1" -a "$3" != "tape" ]
			then
				echo "$Siteid|$client|$num|$status" >> $TMP_PATH/adm_purge_list.dat
				echo "$Siteid|$client|$num|$status" >> $TMP_PATH/.stageonly_adm_purge_list.dat
			fi
			break
		fi
		rtime=`expr $rtime + $timex`
		if [ "$rtime" -gt "3600" ]
		then
			htime=`expr $rtime / 3600`
			mtime_=`expr $rtime % 3600`
			mtime=`expr $mtime_ / 60`
			stime=`expr $mtime_ % 60`
			if [ "$htime" -le "9" ]; then htime="0$htime"; fi
			if [ "$mtime" -le "9" ]; then mtime="0$mtime"; fi
			if [ "$stime" -le "9" ]; then stime="0$stime"; fi
			dtime="$htime:$mtime:$stime"
		elif [ "$rtime" -gt "60" ]
		then
			mtime=`expr $rtime / 60`
			stime=`expr $rtime % 60`
			if [ "$mtime" -le "9" ]; then mtime="0$mtime"; fi
			if [ "$stime" -le "9" ]; then stime="0$stime"; fi
			dtime="00:$mtime:$stime"
		else
			dtime="00:00:$rtime"
		fi
		tstamp=`date +'20%y-%m-%d %H:%M:%S'`
		if [ "$3" = "tape" ]
		then
			if [ "$Debug" -ge "0" ]; then echo "$tstamp $2$GREEN_FG ~RunTime=$dtime$DEF"; fi
		else
			if [ "$Debug" -ge "0" ]; then echo "$tstamp $2$GREEN_FG ~RunTime=$dtime$DEF Status=$status_ %New: $newbytes"; fi
		fi
	done
	tstamp=`date +'20%y-%m-%d %H:%M:%S'`
	if [ "$3" = "tape" ]
	then
		echo "$tstamp$CYAN_FG [Log=$logxfile]$DEF Migration Export Phase Ended"
	else
		if [ "$AvtarRes" -eq "0" ]
		then
			echo "$tstamp Staging Completed Status=$status_"
			if [ "$Debug" -ge "1" ];then echo "$tstamp Staging Completed Status=$status_" >> $LOG; fi
		else
			if [ "$CloudDataPurge" -ne "1" ]
			then
				echo "$tstamp Staging Completed Status=$conv"
				if [ "$Debug" -ge "1" ];then echo "$tstamp Staging Completed Status=$conv $prc_new" >> $LOG; fi
			else
				echo "$tstamp Clean-UP Completed Status=< 1MB\n"
				if [ "$Debug" -ge "1" ];then echo "$tstamp Clean-UP Completed Status=< 1MB\n" >> $LOG; fi
			fi
		fi
	fi
}

mcscheck_rtn()
{
		if [ -f $BULOCATION/customize/nomcscheck ];
		then
			mcscheck="0"; return
		fi

                rootfull=0; rootfull="$(df -k | grep "/$" | grep -c "100%")"


		mcscheck="0"

		getmcscheck1="$(ps -ef | grep -c mcserver.ja[r])"
                if [ "$getmcscheck1" -gt "0" ]
		then
			mcscheck="0"; return
		else
			echo "MCS-Check-1 = getmcscheck1=$getmcscheck1 0=MCS down >0=MCS up, current-mcscheck-flag=$mcscheck"
		fi

                if [ "$getmcscheck1" -eq "0" ]
                then
                        sleep 10
			getmcscheck2="$(ps -ef | grep -c mcserver.ja[r])"
                        if [ "$getmcscheck2" -gt "0" ]
                        then
                                mcscheck="0"; return
                        else
                                echo "MCS-Check-2 = getmcscheck1=$getmcscheck1 getmcscheck2=$getmcscheck2 0=MCS down >0=MCS up, current-mcscheck-flag=$mcscheck" 
			fi
		fi

                if [ "$getmcscheck1" -eq "0" -a "$getmcscheck2" -eq "0" ]
                then
                        sleep 10
			getmcscheck3="$(ps -ef | grep -c mcserver.ja[r])"
                        if [ "$getmcscheck3" -gt "0" ]
                        then
#=============================> 3rd MCS status final check - if we reach here then the above two failed checks are now considered to be false so return a good status
                                mcscheck="0"; return
                        else
				if [ "$getmcscheck1" -eq "0" -a "$getmcscheck2" -eq "0" -a "$getmcscheck3" -eq "0" ]
				then
                                      	mcscheck="1"
                                       	echo "MCS-Check-3 = getmcscheck1=$getmcscheck1 getmcscheck2=$getmcscheck2 getmcscheck3=$getmcscheck3 0=MCS down >0=MCS up, current-mcscheck-flag=$mcscheck"
				else
					mcscheck="0"
				fi
                         fi
                 fi
}

networker_filter_rtn()
{

	ipfilex="$2"; filterx="$1"; client="$4"; opfilex="$3"
	rm $TMP_PATH/ntwkfilter.tmp2 >/dev/null 2>&1; touch $TMP_PATH/ntwkfilter.tmp2 >/dev/null 2>&1
	grep "^$client" $ipfilex > $TMP_PATH/ntwkfilter.tmp
	lline=`wc -l $TMP_PATH/ntwkfilter.tmp | awk '{print $1}'`
	if [ "$filterx" = "first" ];then linex=1
	elif [ "$filterx" = "last" ];then linex="$lline"
	else linex=1; fi
 
	while true
	do
		line=`sed -n "$linex,$linex"p $TMP_PATH/ntwkfilter.tmp`
		clix=`echo "$line" | awk -F\| '{print $1}'`
		saveset_=`echo -E "$line" | awk -F+ '{print $NF}' | awk -F\| '{print $1}'`
		if [ `echo -E "$saveset_" | grep -c ":"` -gt "0" ];then saveset=`echo "$saveset_" | sed -n "s/\\\\\/\\\\\\\\\\\\\/"gp`; else saveset="$saveset_"; fi
		if [ `grep "^$clix" $TMP_PATH/ntwkfilter.tmp2 | grep -c "$saveset|"` -eq "0" ]
		then
			echo "$line" >> $TMP_PATH/ntwkfilter.tmp2
		fi
		if [ "$filterx" = "first" ]
		then
			if [ "$linex" -ge "$lline" ];then break; else linex=`expr $linex + 1`; fi
			elif [ "$filterx" = "last" ]
			then
				if [ "$linex" -le "1" ];then break; else linex=`expr $linex - 1`
			fi							
		fi
	done
	if [ "$filterx" = "last" ];then sort -n -k 1 $TMP_PATH/ntwkfilter.tmp2 >> $opfilex; else cat $TMP_PATH/ntwkfilter.tmp2 >> $opfilex; fi
}

minimum_rtn()
{

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled minimum_rtn()"; set -x 
	fi

	total=0;oper=""; woper=""; wtmpcnt=0
	rm $TMP_PATH/min_worklist.txt >/dev/null 2>&1
	touch $TMP_PATH/min_worklist.txt >/dev/null 2>&1

	if [ "$clientx" -eq "1" ]
	then
		client_list=`awk -F\| '{print $1}' $output_file | grep "$Client_" | sort -u` 
	else
		client_list=`awk -F\| '{print $1}' $output_file | sort -u` 
	fi

	if [ "$Wkly" -eq "1" ]
	then
		echo "INFO-02C: Limiting selected Snap-up count to specified day of the week [$Weekly]" >> $LOG
	fi

	if [ "$Min_" -eq "1" ]
	then
		echo "INFO-02A: Limiting selected Snap-up count to first only per client/date [-first]" >> $LOG
	elif [ "$Min_" -eq "2" ]
	then
		echo "INFO-02B: Limiting selected Snap-up count to last only per client/date [-last]" >> $LOG
	fi

	orgcnt=`expr $fscnt + $sqlcnt + $excnt`
	orgcnt=`wc -l $TMP_PATH/worklist.tmp2 | awk '{print $1}'`
	

	if [ "$Wkly" -eq "1" ]
	then
		rm $TMP_PATH/worklist.tmp3 >/dev/null 2>&1
		for x in `echo $client_list`
		do
			for w in `cat $TMP_PATH/weekly.tmp`
			do
				grep "^$x" $TMP_PATH/worklist.tmp2| grep "$w" >> $TMP_PATH/worklist.tmp3
				selcnt=`grep "^$x" $TMP_PATH/worklist.tmp3 | grep -c "$w"`
				wcnt_all=`grep "^$x" $TMP_PATH/worklist.tmp2 | grep -c "$w"`
				difcnt_=`expr $wcnt_all - $selcnt`
				difcnt=`expr $difcnt_ \* 1`
				wtmpcnt=`expr $wtmpcnt + $difcnt`
			done
			woper=" -weekly $Weekly $Weekly_d"
		done
		if [ ! -s $TMP_PATH/worklist.tmp3 ]; then wtmpcnt=`grep -c "^$x" $TMP_PATH/worklist.tmp2`; fi
		mv $TMP_PATH/worklist.tmp3 $TMP_PATH/worklist.tmp2
	fi
	
	for x in `echo $client_list`
	do
		tmpcnt=0 
		if [ "$Min_" -eq "1" ]
		then
			if [ "$Networker" -eq "0" ]
			then
#SELECT
				date=`grep "^$x" $TMP_PATH/worklist.tmp2 | head -1 | awk -F\| '{print $4}'`
#				grep "^$x" $TMP_PATH/worklist.tmp2 | grep "$date$" >> $TMP_PATH/min_worklist.txt
				grep "^$x" $TMP_PATH/worklist.tmp2 | grep "$date|" >> $TMP_PATH/min_worklist.txt
				oper="First"
				tmpcnt_date=`grep "^$x" $TMP_PATH/worklist.tmp2 | grep -c "$date"`
				tmpcnt_all=`grep -c "^$x" $TMP_PATH/worklist.tmp2`
				tmpcnt=`expr $tmpcnt_all - $tmpcnt_date`
			elif [ "$Networker" -eq "1" ]
			then
				networker_filter_rtn first $TMP_PATH/worklist.tmp2 $TMP_PATH/min_worklist.txt $x
			fi
		elif [ "$Min_" -eq "11" ]
		then
			grep "^$x" $TMP_PATH/worklist.tmp2 | head -1 >> $TMP_PATH/min_worklist.txt
			oper="First_F"
			tmpcnt=1

		elif [ "$Min_" -eq "2" ]
		then
			if [ "$Networker" -eq "0" ]
			then
				date=`grep "^$x" $TMP_PATH/worklist.tmp2 | tail -1 | awk -F\| '{print $4}'`
				grep "^$x" $TMP_PATH/worklist.tmp2 | grep "$date|" >> $TMP_PATH/min_worklist.txt
				oper="Last"
				tmpcnt_date=`grep "^$x" $TMP_PATH/worklist.tmp2 | grep -c "$date"`
				tmpcnt_all=`grep -c "^$x" $TMP_PATH/worklist.tmp2`
				tmpcnt=`expr $tmpcnt_all - $tmpcnt_date`
			elif [ "$Networker" -eq "1" ]
			then
				networker_filter_rtn last $TMP_PATH/worklist.tmp2 $TMP_PATH/min_worklist.txt $x
			fi

		elif [ "$Min_" -eq "22" ]
		then
			grep "^$x" $TMP_PATH/worklist.tmp2 | tail -1  >> $TMP_PATH/min_worklist.txt
			oper="Last_F"
			tmpcnt=1

		elif [ "$Min_" -eq "0" ]
		then
			grep "^$x" $TMP_PATH/worklist.tmp2 >> $TMP_PATH/min_worklist.txt
			oper="All"
			tmpcnt=0
		fi
		redcnt=`expr $redcnt + $tmpcnt`
		cnt1=`grep -c "$x" $TMP_PATH/worklist.tmp2`
		cnt2=`grep -c "$x" $TMP_PATH/min_worklist.txt`
		redcnt=`expr $cnt1 - $cnt2`
		if [ "$clientx" -eq "1" -a "$Client_" = "$x" ]
		then
			echo "INFO-03A: Client [$x] Removing [$redcnt] Save Sets from worklist [Filter=$oper$woper]" >> $LOG
		elif [ "$clientx" -ne "1" ]
		then
			echo "INFO-03B: Client [$x] Removing [$redcnt] Save Sets from worklist [Filter=$oper$woper]" | tee -a $LOG
		fi
		total_=`expr $total_ + $redcnt`
	done 	

	rm -f $TMP_PATH/min_worklist.txt2 >/dev/null 2>&1
	if [ "$Buid_nums" != "" ]
	then
#		echo "$Siteid" > $Atositeid
		for x in `echo $Buid_nums`
		do
			clx=`grep "$x|" $output_file | awk -F\| '{print $1}'`
			spx=`grep "^$Siteid," $CFG | grep "$clx," | awk -F, '{print $10}'`
			echo "$clx,$spx" >> $Atositeid
			x_=`printf '%7.7d' $x`
			grep "$x_|" $TMP_PATH/min_worklist.txt >> $TMP_PATH/min_worklist.txt2	
			if [ "$?" -eq "0" ]; then buid_=`expr $buid_ + 1`; fi
		done
		mv $TMP_PATH/min_worklist.txt2 $TMP_PATH/min_worklist.txt
		total_=$buid
	fi
set -

	if [ "$total_" -gt "0" ]; then total=`expr $orgcnt - $total_`; else total=0; fi
	sort -u $TMP_PATH/min_worklist.txt > $TMP_PATH/worklist.tmp 2>/dev/null
	final=`wc -l $TMP_PATH/worklist.tmp | awk '{print $1}'`
	total=`expr $orgcnt - $final`
	if [ "$Min_" -ne "0" -o "$Wkly" -ne "0"  -o "$buid" -ne "0" ]
	then
		echo
		if [ "$CDPurge" -ne "1" ]
		then
			echo "INFO-05B: The total Save Set reduction count this session is [$total]" | tee -a $LOG
		else
			echo "INFO-05B: The total Save Set reduction count this session is [$total]" >> $LOG
		fi
	fi
#	awk -F\| '{print $1"|"$2"|"$3"|"$4}' $TMP_PATH/min_worklist.txt > $output_file
#	awk -F\| '{print $1"|"$2"|"$3"|"$4|$5|$6}' $TMP_PATH/min_worklist.txt > $output_file
#SELECT
	mv $TMP_PATH/min_worklist.txt $output_file

}

view_rtn()
{

#	if [ "$CloudDataPurge" -eq "1" ]
#	then
#		echo "$INFO-XX: Preparing for CloudDataPurge, skipping backup view report phase"
#		return
#	fi

	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled view_rtn()"; set -x 
	fi
	while true
	do
		if [ -s $TMP_PATH/.$1.tmp.$Recfile ]
		then
			break
		else
			Recfile=`expr $Recfile + 1`
			if [ "$Recfile" -gt "$MAX_RECOVERY_SESSIONS" ]
			then
				Recoverfile=1; break
			fi
		fi
	done
	atositeid_rtn
	totalsize=0
	bulist_="snapups2tape.txt"
	clean_="rm -f $TMP_PATH/fullname.tmp $TMP_PATH/fsxsize.tmp $TMP_PATH/snapups2tape_view.txt $TMP_PATH/verify.tmp* $TMP_PATH/view.* $TMP_PATH/retry.sav $TMP_PATH/rerun.sav $TMP_PATH/lastviewreport.tmp >/dev/null 2>&1"
	$clean_
	if [ "$Cfg" -eq "" -o "$Cfg" -eq "1" ]; then cfgcnt=0; else cfgcnt=$Cfg; fi
	if [ ! -f $HOMEPATH/mccli -o -L $HOMEPATH/mccli ]
	then
     		$HOMEPATH/avtar -x --acnt=$snapupoutput --include=$include_ --overwrite=always $Quiet $AVTAR_credential $TMP_FILE >/dev/null 2>&1
		type_="Mode=Avamar"
		mv snapups2tape.txt $TMP_PATH/snapups2tape.txt >/dev/null 2>&1
	elif [ "$Recover" -ne "1" ]
	then
		cp $TMP_PATH/.snapups2tape.txt $TMP_PATH/snapups2tape.txt >/dev/null 2>&1
		type_="Mode=Native"
	fi
	include_="snapups2tape_view.txt"
	cp $TMP_PATH/$bulist_ $TMP_PATH/$include_ >/dev/null 2>&1
	if [ "$Recover" -eq "1" ]
	then
		echo "" > $TMP_PATH/$include_ >/dev/null 2>&1
	fi


	if [ "$Retry" -eq "1" -a -s $TMP_PATH/.$1.tmpv ]
	then
		grep "|" $TMP_PATH/.$1.tmpv > $TMP_PATH/$include_ 
		gr_x=`cat $TMP_PATH/.$1.tmpv |head -1`
		retry_rerun="RETRY"
	elif [ "$Rerun" -eq "1" -a -s $TMP_PATH/.$1.tmpv ]
	then
		grep "|" $TMP_PATH/.$1.tmpv > $TMP_PATH/$include_
		gr_x=`cat $TMP_PATH/.$1.tmpv | head -1`
		retry_rerun="RERUN"
	else
		gr_x=`cat $Atositeid|head -1`
		fgr_x=`echo "$gr_x                                           " | cut -b 1-15`
	fi

	if [ `grep -c "ATORECOVER=NETWORKER" $TMP_PATH/.atositeid` -eq "1" ]
	then
		nwk=1; vsize1=55; vsize2=18
	else
		vsize1=8; vsize2=65
	fi

	rm $TMP_PATH/.$1.tmpv $TMP_PATH/lastviewreport.tmp $TMP_PATH/.lastviewreport.rpt >/dev/null 2>&1


	fgr_x=`echo "$gr_x                         " | cut -b 1-15`

	if [ "$Cfg" = "" ]; then Cfg_=1; else Cfg_=$Cfg; fi
	if [ "$Debug" -eq "0" ]
	then
		clear
		echo "                                      ****************<$GREEN_BG$WHITE_FG Environment=$Cfg_ $DEF>****************" | tee -a $TMP_PATH/lastviewreport.tmp
		echo "                                      **** <<$BLUE_BG      Selected for Migration       $DEF>> ****" | tee -a $TMP_PATH/lastviewreport.tmp
		echo "                                      **** <<$BLUE_BG         Group=$fgr_x     $DEF>> ****" | tee -a $TMP_PATH/lastviewreport.tmp
		echo "                                      *************************************************\n" | tee -a $TMP_PATH/lastviewreport.tmp
	fi
	dot="."
	maxvlinecnt="$(wc -l $TMP_PATH/$include_ | awk '{print $1}')"
	curvlinecnt=0

	if [ -s $TMP_PATH/$include_ ]
	then
		if [ "$DEBUG" -ne "0" -o "$Debug" -ne "0" ];then echo "Rendering Report, Please Wait..."; fi
		linecnt=0
		for x in $(awk -F\| '{print $2}' $TMP_PATH/$include_)
		do
			if [ "$curvlinecnt" -lt "$maxvlinecnt" ];then curvlinecnt="$(expr $curvlinecnt + 1)"; else break; fi
			linecnt=`expr $linecnt + 1`
			if [ "$spcnt" -gt "7" ]; then spcnt=0; fi
			if [ "$DEBUG" -eq "0" -a "$Debug" -eq "0" ]
			then
				echo -n "Rendering Report, Please Wait...[${spin[$spcnt]}] \c"; echo -n "\r"; spcnt=`expr $spcnt + 1`
			fi

 			buid=`echo $x | awk -F/ '{print $NF}'`; buid_=`expr $buid + 0`

			clientid=`echo $x | sed -n "s/$buid//"p | sed -n "s/\/$//"gp` 
			if [ "$(grep -c "$clientid" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat)" -gt "0" -a "$VMQUALIFIEDNAMES" = "false" ]
			then
				getclient="$(echo "$clientid" | awk -F/ '{print $NF}')"
				getdomain="$(echo "$clientid" | awk -F"$getclient" '{print $1}')"
				userclientid_="$(grep "$clientid" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | awk -F, '{print $3}')"
				clientid="$getdomain$userclientid_"
			fi

			viewstartdate="$(cat $TMP_PATH/.Search_Startdate.txt | head -1 | awk '{print $1}')"
			viewenddate="$(cat $TMP_PATH/.Search_Startdate.txt | head -1 | awk '{print $2}')"

			buinfo="$(sed -n "$curvlinecnt,$curvlinecnt"p $TMP_PATH/.selectbuinfo.tmp)"
			date=$(echo -E "$buinfo" | awk '{print $2}'); time=$(echo "$buinfo" | awk '{print $3}'); buid=$(echo "$buinfo" | awk '{print $4}')

			ssid=""
			if [ "$nwk" -eq "1" ]
			then
				ssid=`sed -n "$linecnt,$linecnt"p $TMP_PATH/$include_ | awk -F\| '{print "["$4"]"}' | sed -n "s/+/ /"gp`
			fi

			touch $TMP_PATH/fsxsize.tmp >/dev/null 2>&1
			foundsize=0


			if [ "$(echo "$buinfo" | grep -c "#0")" -ne "0" ]
			then
				buinfo_="$(echo "$buinfo" | sed -n "s/#0/ /"p)"; buinfo="$buinfo_"
			fi

			for y in $(echo -E $buinfo)
			do
  				if [ $(echo "$y" | grep -c "\-") -gt 0 -a "$foundsize" -eq "0" ]
				then
  					if [ $(echo "$y " | grep -c "K ") -eq 0 ];then continue; fi
				fi	

				if [ $(echo "$y " | grep -c "K ") -eq 1 ]
				then
					fp="$y"; foundsize=1
					fplen="$(echo "$fp" | wc | awk '{print $3}')"
					if [ "$fplen" -gt "12" ]
					then
						fplenx="$(expr $fplen - 12)"
						fp_="$(echo "$fp" | cut -b $fplenx-$fplen)"
						fp="$fp_"; y="$fp"
					fi 
				fi
				if [ `echo "$fp $y" | egrep -c "K Windows|K MacOSX"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
 				elif [ `echo "$fp $y" | grep -c "K SharePoint"` -eq 1 ]
 				then
 					size=$fp; plugin="SharePoint"; break
				elif [ `echo "$fp $y" | grep -c "K networker"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K HP-UX"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K AIX"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K winclusterfs"` -eq 1 ]
				then
					size=$fp; plugin="WClusFS"; break
				elif [ `echo "$fp $y" | grep -c "K SAP"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K Sybase"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K Linux"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K Solaris"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K FreeBSD"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K Netapp"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K Isilon"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K EMC"` -eq 1 ]
				then
					continue
				elif [ `echo "$fp $y" | grep -c "Celerra"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K SQL"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K ExchangeDB"` -eq 1 ]
				then
					size=$fp; plugin="exchdb"; break
				elif [ `echo "$fp $y" | grep -c "K Exchange"` -eq 1 ] 
				then
					fpsave=$fp; exch_detected=1; continue
				elif [ `echo "$fp $y" | grep -c "Message"` -eq 1 ]
				then
					if [ "$exch_detected" -eq "0" ];then continue; fi
					size=$fpsave; plugin="exchmsg"; break
				elif [ `echo "$fp $y" | grep -c " Database"` -eq 1 ]
				then
					if [ "$exch_detected" -eq "0" ];then continue; fi
					size=$fpsave; plugin="exchdb"; break
				elif [ `echo "$fp $y" | grep -c "VSS"` -eq 1 -a "$exch_detected" -eq "1" ]
				then
					size=$fp; plugin="exchvss"; break
				elif [ `echo "$fp $y" | grep -c "K VSS"` -eq 1 ]
				then
					size=$fp; plugin="VSS"; break
				elif [ `echo "$fp $y" | grep -ci "K Oracle"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K moss"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K SCO"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K netware"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K Hyper-V"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K vmimage"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K lotus"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K Unix"` -eq 1 ]
				then
					size=$fp; plugin="$y"; break
				elif [ `echo "$fp $y" | grep -c "K linuxfastincrementals"` -eq 1 ]
				then
					y="LinuxFastInc"
					size=$fp; plugin="$y"; break
				else
					fp="$y"; plugin="Undetermined"; size="0K"; continue
				fi
				foundsize=0
			done

			exch_detected=0
			buinfo_="$date   $time    $size"

			echo "$clientid $date" >> $TMP_PATH/view.tmp
			if [ `echo $size | grep -c "K"` -ge "1" ]; then size_=`echo $size | sed -n "s/K//"p`; fi
			if [ `echo $size | grep -c "G"` -ge "1" ]
			then
				size_=`echo $size | sed -n "s/G//"p`
				size_=`expr $size_ * 1000`
			fi
			
			totalsize=`expr $totalsize + $size_`
			fsxcnt=0
			clix=`echo "$clientid" | sed -n "s/\// /"gp | awk '{print $NF}'`
			if [ "$VMQUALIFIEDNAMES" = "false" -a "$(grep -c "$clix" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat)" -gt "0" ]
                        then
                                longclient="$(grep "$clix" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $2}' | awk -F/ '{print $NF}')"
                                shortclient="$(grep "$clix" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"
                                fsx=`grep "^$gr_x," $CFG | egrep ",$longclient,|,$shortclient," | awk -F, '{print $10}'`
                        else
                                longclient="$(grep "$clix" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $2}' | awk -F/ '{print $NF}')"
                                shortclient="$(grep "$clix" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"
                                fsx=`grep "^$gr_x," $CFG | egrep ",$longclient,|,$shortclient,,$clix," | awk -F, '{print $10}'`
                        fi


			if [ "$fsx" = "" ]; then fsx=`grep "^$gr_x," $CFG | egrep ",$longclient,|,$shortclient,|,$clix" | tail -1 | awk -F, '{print $10}'`; fi
			fsxline=`grep "$fsx," $TMP_PATH/fsxsize.tmp`

			prvcnt=`echo "$fsxline" | awk -F, '{print $2}'`
			if [ "$fsxline" != "" ]
			then
				grep -v "$fsx,$prvcnt" $TMP_PATH/fsxsize.tmp > $TMP_PATH/fsxsize.tmp2
				fsxcnt=`echo "$fsxline" | awk -F, '{print $2}'`
				fsxcnt=`expr $fsxcnt + $size_`
				echo -E "$fsx,$fsxcnt" >> $TMP_PATH/fsxsize.tmp2
				mv $TMP_PATH/fsxsize.tmp2 $TMP_PATH/fsxsize.tmp
			else
				echo -E "$fsx,$size_" >> $TMP_PATH/fsxsize.tmp
			fi
			if [ "$nwk" -eq "1" ]
                        then
                                f1_s=`echo " [$buid_]$ssid                                           " | cut -b 1-130`
                                nwinfo=`echo "$clientid" | sed -n "s/\/NetWorker\///"p`
                                nwclient=`echo "$nwinfo" | awk -F/ '{print $2}'`
                                nwserver=`echo "$nwinfo" | awk -F/ '{print $1}'`
                                nwserver_=`echo "$nwserver                 " | cut -b1-15`
                                clientid="$nwclient"
                                f2_s=`echo "$clientid                                                                 " | cut -b 1-73`
                                f3_s=`echo "$buinfo_                                             " | cut -b 1-37`
                                f4_s=`echo "$plugin                                              " | cut -b 1-12`
                                echo " $f2_s $f3_s $f4_s " >> $TMP_PATH/verify.tmp
                                echo "   $f1_s  " >> $TMP_PATH/verify.tmp
                                echo "$clientid" | awk -F/ '{print $(NF - 1)}' >> $TMP_PATH/fullname.tmp
                        else
                                f1_s=`echo " [$buid_]$ssid     " | cut -b 1-8`
                                f2_s=`echo "$clientid                                                              " | cut -b 1-65`
                                f3_s=`echo "$buinfo_                                             " | cut -b 1-37`
                                f4_s=`echo "$plugin                                              " | cut -b 1-12`
                                echo "$f1_s $f2_s $f3_s $f4_s " >> $TMP_PATH/verify.tmp
                                echo "$clientid" | awk -F/ '{print $(NF - 1)}' >> $TMP_PATH/fullname.tmp
                        fi	
		done
		if [ "$Debug" -eq "0" ]; then clear; fi
		echo "                                      ****************<$GREEN_BG$WHITE_FG Environment=$Cfg_ $DEF>****************" | tee -a $TMP_PATH/lastviewreport.tmp
		if [ "$Retry" -eq "1" -o "$Rerun" -eq "1" ]
		then
			echo "                                      **** <<$RED_BG$WHITE_FG      Recovery  Manager  View      $DEF>> ****" |tee -a $TMP_PATH/lastviewreport.tmp
		else
			echo "                                      **** <<$BLUE_BG      Selected for Migration       $DEF>> ****" | tee -a $TMP_PATH/lastviewreport.tmp
		fi
		echo "                                      **** <<$BLUE_BG         Group=$fgr_x     $DEF>> ****" | tee -a $TMP_PATH/lastviewreport.tmp
		echo "                                      *************************************************\n" | tee -a $TMP_PATH/lastviewreport.tmp
		echo "=====================================================================================================================================" | tee -a $TMP_PATH/lastviewreport.tmp
		if [ "$Retry" -eq "1" -o "$Rerun" -eq "1" ]
		then
			echo "$RED_BG BU-ID    AVAMAR-DOMAIN / CLIENT-NAME                                         DATE        TIME       SIZE       PLUG-IN  COUNT/CLIENT$DEF" | tee -a $TMP_PATH/lastviewreport.tmp
		else
			if [ "$nwk" -eq "1" ]
			then
				echo "$BLUE_BG BU-ID  SSID-LEVEL-NAME      NWK-SERVER=$nwserver_     CLIENT            DATE        TIME       SIZE       PLUG-IN  COUNT/CLIENT$DEF" | tee -a $TMP_PATH/lastviewreport.tmp
			else
 				echo "$BLUE_BG BU-ID    AVAMAR-DOMAIN / CLIENT-NAME                                         DATE        TIME       SIZE       PLUG-IN  COUNT/CLIENT$DEF" | tee -a $TMP_PATH/lastviewreport.tmp
			fi
		fi
		echo "=====================================================================================================================================" | tee -a $TMP_PATH/lastviewreport.tmp

		lnmax=`wc -l $TMP_PATH/fullname.tmp | awk '{print $1}'`; lnumx=0
		if [ "$nwk" -eq "1" ];then lnmax=`expr $lnmax \* 2`; fi 
		while true
                do
                        lnumx=`expr $lnumx + 1`
                        if [ "$lnumx" -le "$lnmax" ]
                        then
                                warn=""
                                line=`sed -n "$lnumx,$lnumx"p $TMP_PATH/verify.tmp`
                                cli=`echo "$line" | awk '{print $2}'`
                                clix=`sed -n "$lnumx,$lnumx"p $TMP_PATH/fullname.tmp`
                                if [ `echo "$line" | awk '{print $NF}'` = " networker " ]
                                then
                                        date=`echo "$line" | awk '{print $5}'`
                                else
                                        date=`echo "$line" | awk '{print $3}'`
                                fi
                                cnt=`grep "$cli" $TMP_PATH/verify.tmp | grep -c "$date"`
                                cnt2=`grep -c "$cli" $TMP_PATH/verify.tmp`
                                cnt3=`expr $cnt2 - $cnt`
                                if [ `echo "$line" | grep -c " networker "` -eq "1" -a "$nwk" -eq "1" ]
                                then
                                        cnt=`expr $cnt / 1`
                                        f5_s=`echo "[$cnt]               " | cut -b 1-4`
                                elif [ "$nwk" -eq "0" ]
                                then
                                        f5_s=`echo "[$cnt]               " | cut -b 1-4`
                                else
                                        f5_s=""
                                fi

				realclient="$(sed -n "$lnumx,$lnumx"p $TMP_PATH/snapups2tape.txt | awk -F\| '{print $1}')"
                                if [ "$(grep -c "$realclient," $BULOCATION/tmp/atocfg/.vmqualifiednames.dat)" -gt "0" -a "$VMQUALIFIEDNAMES" = "false" ]
                                then
                                        disname="$(grep "$realclient" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"
                                        if [ "$(echo "$realclient" | grep -c "$disname")" -gt "0" ];then warn5=""; else warn5="VM-NameChg"; fi
                                fi

#				cliname="$(echo "$cli" | awk -F/ '{print $NF}')"
#				if [ "$(grep -c "$cliname" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat)" -gt "0" -a "$VMQUALIFIEDNAMES" = "false" ]
#				then
## ====================================> setup a warning flag dispalyed in view report when VM user names are being used
#					disname="$(grep "$cli" $BULOCATION/tmp/atocfg/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"
### 					if [ "$(echo "$cli" | awk -F/ '{print $NF}')" = "$disname" ];then warn5=""; else warn5="VM-NameChg"; fi
#					clnameipiece="$(echo "$cli" | awk -F/ '{print $NF}')"
#					if [ "$(echo "$disname" | grep -c "$clinamepiece")" -gt "0" ];then warn5=""; else warn5="VM-NameChg"; fi
#					clix="$disname"
#				fi
                                gname=`grep "^$gr_x," $CFG | grep "$clix," | head -1 | awk -F, '{print $6}'`
                                rtype=`grep "^$gr_x," $CFG | grep "$clix," | head -1 | awk -F, '{print $7}'`
                                inc_del=`grep "^$gr_x," $CFG | grep "$clix," | head -1 | awk -F, '{print $18}'`
                                if [ "$gname" != "n/a" ]; then warn1="gname,"; else warn1=""; fi
                                if [ "$rtype" != "n/a" ]; then warn2="rtype,"; else warn2=""; fi

				warn3=""
                                selectfilesx=`grep "^$gr_x," $CFG | grep "$clix," | head -1 |awk -F, '{print $8}'`
                                selectfilesi=`grep "^$gr_x," $CFG | grep "$clix," | head -1 |awk -F, '{print $17}'`

                                if [ "$selectfilesx" != "n/a" ]; then warn3="Excl-files,"; fi
                                if [ "$selectfilesi" != "n/a" -a "$warns3" = "" ]; then warn3="Incl-files,"; fi
                                if [ "$selectfilesi" != "n/a" -a "$selectfilesx" != "n/a" ]; then warn3="Incl-Excl-files,"; fi

                                if [ "$inc_del" != "n/a" ]; then warn4="incdel"; else warn4=""; fi
                                if [ "$warn1" != "" -o "$warn2" != "" -o "$warn3" != "" -o "$warn4" != "" -o "$warn5" != "" ]
                                then
                                        warn="<--$RED_BG$GREEN_FG$warn1$warn2$warn3$warn4$warn5$DEF"
                                fi
                                if [ "$cnt" -eq "1" ]
                                then
                                        echo "$line $f5_s$warn" >> $TMP_PATH/verify.tmp2
                                else
                                        echo "$line $CYAN_FG$f5_s$DEF$warn" >> $TMP_PATH/verify.tmp2
                                fi
                        else
                                break
                        fi
                done

		if [ "$Debug" -eq "0" ]; then more $TMP_PATH/verify.tmp2
		else 
			cat $TMP_PATH/verify.tmp2
			cat $TMP_PATH/verify.tmp2 >> $TMP_PATH/lastviewreport.tmp
		fi
	
		echo "\n-------------------------------------------------------------------------------------------------------------------------------------" | tee -a $TMP_PATH/lastviewreport.tmp
		stype=`grep "^$gr_x," $CFG | tail -1 | awk -F, '{print $15}'`
		if [ "$stype" = "WINDOWS" ]; then sname=`grep "^WINDOWSS" $ENVCFG | awk -F= '{print $2}'`; fi
		if [ "$stype" = "UNIX" ]; then sname=`grep "^UNIXSS" $ENVCFG | awk -F= '{print $2}'`; fi
		if [ "$stype" = "LINUX" ]; then sname=`grep "^LINUXSS" $ENVCFG | awk -F= '{print $2}'`; fi
		
		tbucnt=`wc -l $TMP_PATH/verify.tmp2 | awk '{print $1}'`
		if [ "$nwk" -eq "1" ]
		then
			tbucnt=`expr $tbucnt / 2`
			tclients=`grep " networker " $TMP_PATH/verify.tmp2 | awk '{print $1}' | sort -u | wc -l | awk '{print $1}'`
		else
#			tclients=`awk '{print $2}' $TMP_PATH/verify.tmp2 | sort -u | wc -l | awk '{print $1}'`
			tclients="$(awk -F\| '{print $1}' $TMP_PATH/snapups2tape.txt | sort -u | wc -l | awk '{print $1}')"
		fi
		if [ "$totalsize" -gt "1000000" ]
		then
			if [ "$input" -eq "" ];then input=1; fi
			totalsize1=`expr $totalsize / 1000000`
			totalsize2=`expr $totalsize % 1000000 | cut -b 1-1`
			if [ "$Retry" -eq "1" -o "$Rerun" -eq "1" ]
			then
				if [ "$Already" -eq "1" ]
				then
					light="[$GREEN_BG$WHITE_FG$retry_rerun Session-$input$DEF]"
				else
					light="[$RED_BG$WHITE_FG$retry_rerun Session-$input$DEF]"
				fi
				echo "\n$light$BLUE_BG$WHITE_FG STAGING SUMMARY: Total Backup Size: $totalsize1.$totalsize2 GB's Client Count: $tclients Backup-Count: $tbucnt $DEF" | tee -a $TMP_PATH/lastviewreport.tmp
			else
				echo "\n$BLUE_BG$WHITE_FG STAGING SUMMARY: Total Backup Size: $totalsize1.$totalsize2 GB's Client Count: $tclients Backup-Count: $tbucnt $DEF" | tee -a $TMP_PATH/lastviewreport.tmp
			fi
		else
			if [ "$Retry" -eq "1" -o "$Rerun" -eq "1" ]
			then
				echo "\n$light $BLUE_BG$WHITE_FG STAGING SUMMARY: Total Backup Size: $totalsize KB's Client Count: $tclients Backup Count: $tbucnt $DEF" | tee -a $TMP_PATH/lastviewreport.tmp
			else
				echo "\n$BLUE_BG$WHITE_FG STAGING SUMMARY: Total Backup Size: $totalsize KB's Client Count: $tclients Backup Count: $tbucnt $DEF" | tee -a $TMP_PATH/lastviewreport.tmp
			fi
		fi
		fscnt=`wc -l $TMP_PATH/fsxsize.tmp| awk '{print $1}'`
		echo "\n$CYAN_FG Staging-Server-Type:$WHITE_FG $stype$CYAN_FG Staging-Server-Name:$WHITE_FG $sname$CYAN_FG Staging-File-System-Count:$WHITE_FG $fscnt$DEF\n" | tee -a $TMP_PATH/lastviewreport.tmp
		for x in `cat $TMP_PATH/fsxsize.tmp`
		do
			if [ "$(echo "$x" | grep -c "^\\\\")" -ne "0" ]
			then
 				x_="$(echo "$x" | sed -n "s/\\\//"gp)"
				x="$x_"
			fi
			fsx=`echo "$x" | awk -F, '{print $1}'`
			sizx=`echo "$x" | awk -F, '{print $2}'`
#ADAM12
			if [ "$(echo "$fsx" | grep -c "\\\\")" -ne "0" ];then fsx="\\\\$fsx"; fi

			if [ "$sizx" -gt "1000000" ]
			then
				sizx1=`expr $sizx / 1000000`
				sizx2=`expr $sizx % 1000000 | cut -b 1-1`
				fl_sizx=`echo "[$sizx1.$sizx2]GB's         " | cut -b 1-13`
				echo "$CYAN_FG File-System-Summary:$WHITE_FG $fl_sizx -> $fsx$DEF" | tee -a $TMP_PATH/lastviewreport.tmp
			else
				fl_sizx2=`echo "[$sizx]KB's         " | cut -b 1-13`
				echo "$CYAN_FG File-System-Summary:$WHITE_FG $fl_sizx2 -> $fsx$DEF" | tee -a $TMP_PATH/lastviewreport.tmp
			fi
		done
		cat $TMP_PATH/lastviewreport.tmp | sed -r "s:\x1B\[[0-9;]*[mK]::g" > $TMP_PATH/.lastviewreport.rpt
		if [ "$Debug" -lt "2" -a "$DEBUG" -lt "2" ]
		then
			while true
			do
				echo "$CYAN_FG\nTo display contents of a given BUID#, enter its number or <$WHITE_FG Def=Quit $CYAN_FG>$DEF: \c"; read input_buid
				if [ "$input_buid" -ge "1" ]
				then
					buidx=$(printf '%7.7d' $input_buid)
					buid_info="$(egrep "$buidx\|" $TMP_PATH/snapups2tape_view.txt 2>/dev/null | tail -1 2>/dev/null)"
					buid_info_="$(echo "$buid_info" | awk -F\| '{print $2}' | sed -n "s/$buidx//"gp)"
					details="--internal --x27=32"
					$HOMEPATH/avtar --list --acnt=$buid_info_ --hfsaddr=$AVAMAR_UTILNODE_NAME $Quiet --sequencenum=$input_buid $details | more
				else
					echo "\n<Press Enter to Continue>"
					break
				fi
				input_buid=""
			done
		fi
	else
		if [ ! -s $TMP_PATH/$include_ -a "$Retry" -eq "1" ]
		then
			echo "\n$RED_BG$WHITE_FG No previously FAILED sessions available for Retry $DEF"
			$clean_
		elif [ ! -s $TMP_PATH/$include_ -a "$Rerun" -eq "1" ]
		then
			for fx in `ls -al $TMP_PATH/.rerun.tmp.* 2>/dev/null | awk '{print $NF}'`
			do
				if [ `egrep -c "TAPE_NOTOK|TAPE_OK" $fx 2>/dev/null` -gt "0" ]
				then
					$clean_; break
				else
					continue
				fi
				echo "\n$RED_BG$WHITE_FG No previously FAILED sessions available for Rerun $DEF"
				$clean_
#				exit
			done
		else
			echo "\n$RED_BG$WHITE_FG No backups have been selected for migration, Check or rerun the -select process$DEF"
			$clean_
		fi
	fi

	if [ "$Debug" -lt "4" ];then $clean_ ;fi
}

mail_rtn()
{


	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled mail_rtn()"; set -x 
	fi
	bflag=""; now="$(date +'%B-%d-%Y_%H-%M-%S')"; incinfo="ADME-Incinfo_$now"
	if [ "$BatchMailFlag" -eq "1" ]
	then
		MailFlag=1
		linex="$(grep -n "MYPID=" $bprofile | tail -1 | sed -n "s/:/ /"p | awk '{print $1}')"
  		linex="$(expr $linex - 1)"

		lastline=`wc -l $bprofile | awk '{print $1}'`
		summaryline="$(egrep -n "BATCH - SUMMARY|JOB - SUMMARY" $bprofile  | tail -1 | sed -n "s/:/ /"p | awk '{print $1}')"
		if [ "$summaryline" -lt "$linex" ];then summaryline=""; fi
		if [ "$summaryline" -ne "" ]
		then
			sed -n "$summaryline,$lastline"p $bprofile | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep -v "^$" > $TMP_PATH/email.tmp
			echo "\n ==========================================< BATCH - HEADER >=========================================\n" >> $TMP_PATH/email.tmp
			sed -n "$linex,$(expr $summaryline - 1)"p $bprofile | egrep -v "Maintenance Status|Lost-It|Found it|RunTime=|Rendering|retaining|Press Enter" | sed -r "s:\x1B\[[0-9;]*[mK]::g" | cat -s >> $TMP_PATH/email.tmp
		else
			sed -n "$linex,$lastline"p $bprofile | egrep -v "Lost-It|Found it|RunTime=|Rendering|retaining|Press Enter" | sed -r "s:\x1B\[[0-9;]*[mK]::g" | cat -s > $TMP_PATH/email.tmp
		fi

		if [ $(tail -5 $bprofile | grep -c "currently locked by") -ne "0" ]
		then
			tail -5 $bprofile | grep "currently locked by" | tail -1 | sed -r "s:\x1B\[[0-9;]*[mK]::g" > $TMP_PATH/email.tmp
			echo "\nAn attempt was made to execute this batch policy but its environment was locked by another job" >> $TMP_PATH/email.tmp
		fi
		bprofile_="$(echo "$bprofile" | awk -F/ '{print $NF}' | sed -n "s/.log/.cfg/"p)"
		action="BATCH $bprofile_"
	elif [ "$MailFlag" -eq "1" ]
	then
		linex="$(grep -n "==== Version-" $LOG | tail -1 | sed -n "s/:/ /"p | awk '{print $1}')"
		if [ "$linex" -eq "" ]; then linex=1; fi
		sed -n "$linex,99999"p $LOG | sed -r "s:\x1B\[[0-9;]*[mK]::g" | cat -s > $TMP_PATH/email.tmp
		action=`head -1 $TMP_PATH/email.tmp | awk '{print $NF}'`
	fi

	if [ "$MailFlag" -eq "1" ]
	then
		if [ $(egrep -c "BATCH-SUCCEEDED" $TMP_PATH/email.tmp) -gt "0" ];then err=0
		elif [ $(egrep -c "ERROR|BATCH-FAILURE" $TMP_PATH/email.tmp) -gt "0" ];then err=1
		else err=0; fi
		if [ "$Cfg" -eq "" ];then Cfg=1; fi

		if [ "$action" = "SELECT" -o "$action" = "-select" ]
		then
			action="-select"
			echo >> $TMP_PATH/email.tmp
		elif [ "$action" = "TAPEOUT" ]
		then
			action="-migrate"
		fi

		if [ "$(grep -c "^MAIL_NOTIFICATION_EXTENSION=" $BULOCATION/customize/adme.cfg)" -ne "0" ]
		then
			ext="$(grep "^MAIL_NOTIFICATION_EXTENSION=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
			cp $TMP_PATH/email.tmp $TMP_PATH/email.$ext
			email_attach="$TMP_PATH/email.$ext"
			seqnum="$(grep "^Migration-Sequence-Number=" $TMP_PATH/email.$ext | tail -1 | awk -F= '{print $2}')"
			cp $TMP_PATH/email.$ext $BULOCATION/audit/$seqnum.$ext >/dev/null 2>&1			
			chmod 660 $BULOCATION/audit/$seqnum.$ext  >/dev/null 2>&1
		else
			cp $TMP_PATH/email.tmp $TMP_PATH/email.txt
			email_attach="$TMP_PATH/email.txt"
			seqnum="$(grep "^Migration-Sequence-Number=" $TMP_PATH/email.txt | tail -1 | awk -F= '{print $2}')"
			cp $TMP_PATH/email.txt $BULOCATION/audit/$seqnum.txt >/dev/null 2>&1			
			chmod 660 $BULOCATION/audit/$seqnum.txt  >/dev/null 2>&1
		fi

  		if [ $(echo "$MAIL_FROM" | grep -c "\@") -ne "0" ];then fromadrs="$MAIL_FROM"; else fromadrs=""; fi
		Size="$(grep "Size:" $TMP_PATH/email.tmp |head -1| awk '{print $5,$6,$7}'| grep .)"
		Elapsedtime="$(grep "Elapsed-Time:" $TMP_PATH/email.tmp | tail -1 | awk -FElapsed-Time: '{print "Run-Time: "$2}' | awk '{print $1,$2}')"

		if [ "$1" != "" -a "$action" != "ENV" ]
		then
 			$CMD_mail -s "$1" \"$MAIL_TO\"
		elif [ "$err" -gt "0" ]
		then
			Exceptions="$(grep "Staging-Exceptions" $TMP_PATH/email.tmp | awk '{print $2}'| grep .)"
			if [ ! -s /etc/SuSE-release ]
			then
				if [ "$MAIL_TO" != "" ]
				then
					$CMD_mail -s \""ADME ERROR Notification: $Exceptions Avamar-System: `hostname`  Env-#: $Cfg  Group-ID:$Siteid Action: $action $Size $Elapsedtime"\" $MAIL_TO < $TMP_PATH/email.tmp -- -F'ADME-Admin' -f$fromadrs
				fi
				if [ "$MAIL_TO_ERROR" != "" ]
				then
					$CMD_mail -s \""ADME ERROR Notification: $Exceptions Avamar-System: `hostname`  Env-#: $Cfg  Group-ID:$Siteid Action: $action $Size $Elapsedtime"\" $MAIL_TO_ERROR < $TMP_PATH/email.tmp -- -F'ADME-Admin' -f$fromadrs
				fi
			else
				if [ "$MAIL_TO" != "" ]
				then
					$CMD_mail -s \""ADME ERROR Notification: $Exceptions Avamar-System: `hostname`  Env-#: $Cfg  Group-ID:$Siteid Action: $action $Size $Elapsedtime"\" -a $email_attach -r $fromadrs $MAIL_TO < $TMP_PATH/email.tmp
				fi
				if [ "$MAIL_TO_ERROR" != "" ]
                                then
					$CMD_mail -s \""ADME ERROR Notification: $Exceptions Avamar-System: `hostname`  Env-#: $Cfg  Group-ID:$Siteid Action: $action $Size $Elapsedtime"\" -a $email_attach -r $fromadrs $MAIL_TO_ERROR < $TMP_PATH/email.tmp
				fi
			fi
		else
			if [ ! -s /etc/SuSE-release ]
			then
				if [ "$MAIL_TO" != "" ]
                                then
   					$CMD_mail -s \""ADME SUCCESS Notification: Avamar-System: `hostname`  Env-#: $Cfg  Group-ID:$Siteid Action: $action $Size $Elapsedtime"\" $MAIL_TO < $TMP_PATH/email.tmp -- -F'ADME-Admin' -f$fromadrs
				fi
			else
				
				if [ "$MAIL_TO" != "" ]
                                then
   					$CMD_mail -s \""ADME SUCCESS Notification: Avamar-Sys em: `hostname`  Env-#: $Cfg  Group-ID:$Siteid Action: $action $Size $Elapsedtime"\" -a $email_attach -r $fromadrs $MAIL_TO < $TMP_PATH/email.tmp
				fi

			fi
		fi
		
		batchinc="$(grep "BaseGroupName" $TMP_PATH/email.tmp | grep -c "\-inc")"
		if [ "$batchinc" -eq "1" -o "$Mode1" -eq "1" ]
		then

			cp $TMP_PATH/email.tmp $TMP_PATH/$incinfo >/dev/null 2>&1
			if [ "$err" -gt "0" ];then estat="_Error";else estat="_Okay"; fi
			mv $TMP_PATH/$incinfo $TMP_PATH/$incinfo$estat.txt >/dev/null 2>&1
			incinfo="$incinfo$estat.txt"
 			$HOMEPATH/avtar -c --nocache --acnt=$snapupoutput $Quiet --expires=1 --label=incremental-status $AVTAR_credential $Use_DD $TMP_PATH/$incinfo >/dev/null 2>&1
			buid=`$HOMEPATH/avtar --backups --acnt=$snapupoutput $AVTAR_credential $Quiet | head -3 | tail -1 | awk '{print $3}'`
			sserv="$(grep "INFO-18A" $TMP_PATH/email.tmp | head -1 | sed -n "s/\\[/ /"gp | sed -n "s/\\]/ /"gp | awk '{print $7}')"
			ptype="$(grep "Initiating " $TMP_PATH/email.tmp | head -1 | sed -n "s/\\[/ /"gp | sed -n "s/\\]/ /"gp | awk '{print $4}')" 
			if [ "$ptype" -eq "" ]
			then
				grpx="$(grep "User-Input:" $TMP_PATH/email.tmp | awk '{print $4}')"
				if [ "$(grep "$sserv" $BULOCATION/etc/atoenv.cfg$Cfg | head -1 | grep "WINDOWSS" | grep -c "$sserv")" -eq "1" ];then ptype="3001"
				elif [ "$(grep "$sserv" $BULOCATION/etc/atoenv.cfg$Cfg | head -1 | grep -c "UNIXSS")" -eq "1" ]
				then
					ptype_="$(grep "^TUNIXSS" $BULOCATION/etc/atoenv.cfg$Cfg | head -1 | awk -F= '{print $2}')"
					if [ "$ptype_" = "LINUX" ];then ptype=1001
					elif [ "$ptype_" = "SOLARIS" ];then ptype=2001
					elif [ "$ptype_" = "HPUX" ];then ptype=4001
					elif [ "$ptype_" = "AIX" ];then ptype=5001		
					elif [ "$ptype_" = "FREEBSD" ];then ptype=1001;fi
				fi
			fi

			ddirx="$(grep "STGSRV" $TMP_PATH/email.tmp | head -1 | sed -n "s/\\[/ /"gp | sed -n "s/\\]/ /"gp | awk '{print $8}')"
			if [ "$ddirx" = "" ]
			then
				grpx="$(grep "User-Input:" $TMP_PATH/email.tmp | awk '{print $4}')"
				ddirx_="$(grep "^$grpx" $CFG | head -1 | awk -F, '{print $10}')"
				ddirx="$ddirx_/INCREMENTAL"
			fi
			$HOMEPATH/mccli backup restore $MCS_credential --name=$snapupoutput --dest-client-name=$sserv --labelNum=$buid --dest-dir=$ddirx --cmd=$Overwrite --plugin=$ptype $MCCLI_avflags --data=$TMP_PATH/$incinfo > /dev/null
			echo "INFO-18D: Staging ADME-Incinfo file to [$sserv $ddirx/$incinfo]" | tee -a $LOG
		fi
		echo "Email Flag Set; Email notification sent" >> $LOG 
	else
  		echo "Email Flag NOT Set; Email notification skipped" >> $LOG
		return
	fi 
   	rm $TMP_PATH/email.tmp $TMP_PATH/$incinfo $email_attach >/dev/null 2>&1
}

session_lock_rtn()
{

	if [ "$Cfg" -eq "" ]; then envx=1; else envx=$Cfg; fi
	if [ -s $TMP_PATH/.admebatch.lok ]
        then
                pidx=`awk -F= '{print $3}' $TMP_PATH/.admebatch.lok`
                whoisit="`head -1 $TMP_PATH/.admebatch.lok`"
                if [ `ps -ef | grep "$pidx" | cut -b1-50 | grep -v gr | wc -l | awk '{print $1}'` -ne "0" ]
                then
			echo "$CYAN_FG Environment-$envx is now locked by [$WHITE_FG $whoisit $CYAN_FG]$DEF"
                        return
                else
                        cat $TMP_PATH/.admebatch.lok
                        echo "$CYAN_FG Removing stale lock for Environment-$envx Batch-Job PID=$pidx $DEF"
                        /usr/bin/rm -f $TMP_PATH/.admebatch.lok >/dev/null 2>&1
                fi
        fi

	if [ -s $TMP_PATH/adm.lck ]
	then
		pidx=`cat $TMP_PATH/adm.lck | awk -F= '{print $2}'| awk '{print $1}'`
		actionx=`cat $TMP_PATH/adm.lck | awk -F= '{print $3}' | awk '{print $1}'`
		if [ `ps -ef | grep "$pidx" | cut -b1-50 | grep -v gr | wc -l | awk '{print $1}'` -ne "0" ]
		then 
	                echo "\n$ERRORX-80H: An attempt was made to use Env=$envx but it is already in use$DEF"
			echo "            Another ADME process has Env-$envx locked, Lock-File:$WHITE_FG $TMP_PATH/adm.lck $RED_FG, exiting...."
			echo "`cat $TMP_PATH/adm.lck` verify current status of the displayed PID#, delete lock file if appropriate and retry$DEF"
			mail_rtn "ERROR-80H: A new ADME session using Env=$envx was attempted but a previous session has the environment locked"
			exit 1
		else
			cat $TMP_PATH/adm.lck
			echo "$CYAN_FG Removing stale lock for Env-$envx PID=$pidx$DEF"
			/usr/bin/rm -f $TMP_PATH/adm.lck >/dev/null 2>&1
		fi
	fi
}

checkpoint_rtn()
{
	while true
	do
		echo "\n$GREEN_FG Additional Options: -inc -tapeonly -stageonly -data <folder-name> -xdata <folder-name> -path <destination-path-suffix>" 
		echo "\n$CYAN_FG Enter all options used during the original tapeout session:$DEF > \c"; read chkpt_opts
		echo "\n$CYAN_FG Confirm options are correct [Ops=$WHITE_FG$chkpt_opts$CYAN_FG]? Y/N Q=Quit $DEF > \c"; read chkpopts
		if [ "$chkpopts" = "Q" -o "$chkpopts" = "q" ];then return; fi
		if [ "$chkpopts" = "Y" -o "$chkpopts" = "y" ]
		then
			echo "\n$BLUE_BG$WHITE_FG Checkpoint-CMD:$DEF$GREEN_FG adme $3 -gid $4 -migrate -$1 $2 $chkpt_opts $DEF"
			checkpoint_cmd=" $3 -gid $4 -migrate -$1 $2 $chkpt_opts"
			break
		else
			continue
		fi
	done
	if [ -f /tmp/admbatch-CHEKPOINT.chk ]
	then
		echo "\n$ERRORX-17: An on demand checkpoint session is already active preventing this session from starting$DEF"
		echo "\n<Press Enter to Continue>"; read
		continue
	fi
	while true
	do
		echo "$CYAN_FG\nExecute Checkpoint session Interactively or Batch? [B=Batch I=Interactive] or Q=Quit:$DEF > \c"; read go
		if [ "$go" = "" ]
		then
			continue
		elif [ "$go" = "q" -o "$go" = "Q" ]
		then
			break
		elif [ "$go" = "i" -o "$go" = "I" ]
		then
			$HOMEPATH/adme $checkpoint_cmd -d
		elif [ "$go" = "b" -o "$go" = "B" ]
		then
			if [ "$1" = "retry" ];then function="RETRY"
			elif [ "$1" = "rerun" ];then function="RERUN"; fi
			echo "#!/bin/ksh" > /tmp/admbatch-CHECKPOINT.$$
			echo "HOMEPATH=\"/usr/local/avamar/bin\"" >> /tmp/admbatch-CHECKPOINT.$$
			echo "sdate=\"`date +'20%y-%m-%d %H:%M'`\"" >> /tmp/admbatch-CHECKPOINT.$$
			echo "echo \"RUNNING: \$sdate\" > /tmp/admbatch-CHECKPOINT.chk" >> /tmp/admbatch-CHECKPOINT.$$
			echo "LOG=\"/$BULOCATION/log/admbatch-CHECKPOINT.log\"" >> /tmp/admbatch-CHECKPOINT.$$
			echo "echo \"=====================================\" >> \$LOG" >> /tmp/admbatch-CHECKPOINT.$$
			echo "echo \" ADMe CHECKPOINT-BATCH Session Started: `date +'%d/%m/%y %H:%M'` MYPID=\$\$\" >> \$LOG" >> /tmp/admbatch-CHECKPOINT.$$
			echo "echo \" Batch Script Name: /tmp/admbatch-CHECKPOINT.$$\" >> \$LOG" >> /tmp/admbatch-CHECKPOINT.$$
			echo "echo \" BaseGroupName=$4 SubGrpx#=0 Env#=$3 Filters=NONE TAPEOUT-OPT=$checkpoint_cmd\" >> \$LOG" >> /tmp/admbatch-CHECKPOINT.$$
			echo "echo \"=====================================\" >> \$LOG" >> /tmp/admbatch-CHECKPOINT.$$
			echo "/usr/local/avamar/bin/adme $checkpoint_cmd -d >> \$LOG" >> /tmp/admbatch-CHECKPOINT.$$ 
			echo "rc=\$?" >> /tmp/admbatch-CHECKPOINT.$$
			echo "if [ \$rc -ne 0 ]" >> /tmp/admbatch-CHECKPOINT.$$
			echo "then" >> /tmp/admbatch-CHECKPOINT.$$
			echo "edate=\"`date +'20%y-%m-%d %H:%M'`\"" >> /tmp/admbatch-CHECKPOINT.$$
			echo "echo \"$RED_BG$WHITE_FG ADME-$function-FAILED: [-migrate] RC=[\$rc] Run-Time:\$sdate Ended:$edate Env#:$envnum $DEF\" >> \$LOG" >> /tmp/admbatch-CHECKPOINT.$$
			echo "echo \"$RED_BG$WHITE_FG ADME-$function-FAILED: [-migrate] RC=[\$rc] Run-Time:\$sdate Ended:$edate Env#:$envnum $DEF\" >> $TMP_PATH/.$1.tmp.$2" >> /tmp/admbatch-CHECKPOINT.$$
			echo "rm /tmp/admbatch-CHECKPOINT.chk" >> /tmp/admbatch-CHECKPOINT.$$
			echo "exit 1" >> /tmp/admbatch-CHECKPOINT.$$
			echo "fi" >> /tmp/admbatch-CHECKPOINT.$$
			echo "edate=\"`date +'20%y-%m-%d %H:%M'`\"" >> /tmp/admbatch-CHECKPOINT.$$
			echo "echo \"$GREEN_BG$WHITE_FG ADME-$function-SUCCEEDED: Run-Time:\$sdate Ended:\$edate Env#:\$envnum $DEF \" >> \$LOG" >> /tmp/admbatch-CHECKPOINT.$$
			echo "echo \"$GREEN_BG$WHITE_FG ADME-$function-SUCCEEDED: Run-Time:\$sdate Ended:\$edate Env#:\$envnum $DEF \" >> $TMP_PATH/.$1.tmp.$2" >> /tmp/admbatch-CHECKPOINT.$$
			echo "rm /tmp/admbatch-CHECKPOINT.chk" >> /tmp/admbatch-CHECKPOINT.$$
			chmod +x /tmp/admbatch-CHECKPOINT.$$
			echo "/tmp/admbatch-CHECKPOINT.$$" > /tmp/initiate
			chmod +x /tmp/admbatch-CHECKPOINT.$$ /tmp/initiate
			 /usr/bin/at -f /tmp/initiate now >/dev/null 2>&1
			echo "\nCHECKPOINT-BATCH Session Initiated Using:$GREEN_FG [Env-$envnum Job-Policy-admbatch-ONDEMAND File-admbatch-CHECKPOINT.$$]$DEF"
			echo "                     To Monitor Progress:$GREEN_FG Return to Batch Log Viewer or tail -f /$BULOCATION/log/admbatch-CHECKPOINT.log$DEF"
			echo "\n<Press Enter to Continue>"; read
			break
		fi
	done
}

list_rtn()
{
	if [ "$Debug" -ge "6" ]
	then
		echo "TRACE: Enabled list_rtn()"; set -x 
	fi
	ast="*"

	if [ "$1" = "retry" -o "$1" = "rerun" ]
	then
		if [ "$2" = "0" ]
		then
			echo "DEBUG - arg2 = 0" >/dev/null
		elif [ "$2" = "" -a -s $TMP_PATH/.$1.tmp.1 ]
		then
			return
		elif [ "$2" -ge "1" -a "$2" -le "$MAX_RECOVERY_SESSIONS" -a -s $TMP_PATH/.$1.tmp.$2 ]
		then
			cp $TMP_PATH/.$1.tmp.$2 $TMP_PATH/.$1.tmpv >/dev/null 2>&1; return
		elif [ "$2" -eq "" ]
		then
			echo "\n$ERRORX-xx: Recovery session [1] doesn't exist$DEF"; exit 1
		else
			Retry=0; Rerun=1; Action="rerun"; return
			echo "\n$ERRORX-xx: Recovery session [$2] doesn't exist$DEF"; exit 1
		fi
	fi

	input=""
	if [ "$inputsav" -eq "" ];then inputsav="0"; fi
while true
do
	if [ "$return" -gt "1" ]; then return $return; fi
	if [ "$1" = "retry" ]
	then
		filex=".retry.tmp"; pathx="$TMP_PATH/"; ast="*"
		heading1="RECOVERY MANAGER [RETRY] Mode: " 
		heading2="Date-RETRY-Status: Blue=Never-Retried Green=Retry-Succeeded Red=Retry-Failed"
		prompt="$CYAN_FG Recovery Session Action: [$WHITE_FG E$CYAN_FG=Execute$WHITE_FG M$CYAN_FG=Rerun-Mode$WHITE_FG #$CYAN_FG=View$WHITE_FG D$CYAN_FG=Delete$WHITE_FG Q$CYAN_FG=Quit$WHITE_FG Enter 0$CYAN_FG=Refresh]$DEF > "
		msg1="No RETRY sessions available"
		maxcnt=`ls -atlr $pathx$filex$dot$ast 2>/dev/null | wc -l | awk '{print $1}'`
		filelist=`ls -la $pathx/$filex$ast 2>/dev/null | awk -F. '{print $NF}' | sort -n | grep -v tmp`
		heading_=`echo "$BLUE_BG$WHITE_FG$heading1 $heading2                                                                                                            " | cut -b1-147`
	elif [ "$1" = "rerun" ]
	then
		filex=".rerun.tmp"; pathx="$TMP_PATH/"; ast="*"
		heading1="RECOVERY MANAGER [RERUN] Mode: "
		heading2="Date-RERUN-Status: Blue=Never-Rerun Green=Rerun-Succeeded Red=Rerun-Failed"
		msg1="No RETRY sessions available"
		prompt="$CYAN_FG Recovery Session Action: [$WHITE_FG E$CYAN_FG=Execute$WHITE_FG M$CYAN_FG=Rerun-Mode$WHITE_FG #$CYAN_FG=View$WHITE_FG D$CYAN_FG=Delete$WHITE_FG Q$CYAN_FG=Quit$WHITE_FG Ente 0r$CYAN_FG=Refresh]$DEF > "
		msg1="No RETRY sessions available"
#		prompt="$CYAN_FG Recovery Session Action: [E=Execute M=Retry-Mode #=View D=Delete Q=Quit Enter=Refresh]$DEF > "
		msg1="No RERUN sessions available"
		maxcnt=`ls -atlr $pathx$filex$dot$ast 2>/dev/null | wc -l | awk '{print $1}'`
		filelist=`ls -la $pathx/$filex$ast 2>/dev/null | awk -F. '{print $NF}' | sort -n | grep -v tmp`
		heading_=`echo "$BLUE_BG$WHITE_FG$heading1 $heading2                                                                                                            " | cut -b1-147`
	elif [ "$1" = "batch" ]
	then
		log="log"
		filex="admbatch-"; pathx="/$BULOCATION/log/"; 
		heading1="JOB MANAGER [Dashboard] View: (All Env#'s):"
		heading2="$BLUE_BG$WHITE_FG JOB-RUN-STATUS:$WHITE_FG Blue=No-Info Green=Succeeded Red=Failure Cyan/White=Active Yellow=Excp's"
		if [ "$BACKUPPRODUCT" = "networker" -o "$BACKUPPRODUCT" = "networker_save" -o "$BACKUPPRODUCT" = "networker_adv1" -o "$BACKUPPRODUCT" = "networker_adv2" ]
		then prompt="$CYAN_FG Batch Action: [$WHITE_FG P$CYAN_FG=Policy-Management$WHITE_FG #$CYAN_FG=Review-Job-#$WHITE_FG C$CYAN_FG=Cancel-Job$WHITE_FG D$CYAN_FG=Delete-Log$WHITE_FG N$CYAN_FG=Networker-Util$WHITE_FG Q$CYAN_FG=Quit$WHITE_FG Enter 0$CYAN_FG=Refresh$WHITE_FG Def-Job-#=$inputsav] $DEF> "
		else
		prompt="$CYAN_FG Batch Action: [$WHITE_FG P$CYAN_FG=Policy-Management$WHITE_FG #$CYAN_FG=Review-Job-#$WHITE_FG C$CYAN_FG=Cancel-Job$WHITE_FG D$CYAN_FG=Delete-Log$WHITE_FG Q$CYAN_FG=Quit$WHITE_FG Enter 0$CYAN_FG=Refresh$WHITE_FG Def-Job-#=$inputsav] $DEF> "

		fi
		msg1="No BATCH session logs available"
		maxcnt=`ls -atlr $pathx$filex$ast$dot$log 2>/dev/null | wc -l | awk '{print $1}'`
		filelist=`ls -la $pathx/$filex$ast$dot$log 2>/dev/null | awk -F/ '{print $NF}'`
#		heading_=`echo "$CYAN_BG$GRAY_FG$heading1 $heading2                                                                                                            " | cut -b1-168`
		heading_=`echo "$BLUE_BG$WHITE_FG$heading1 $heading2                                                                                                            " | cut -b1-168`
	fi

	zero="0"
	echo "$DEF"
	cnt=0; sx=0; rnum=1; bk=")"; dot="."; ast="*"
	rm $TMP_PATH/.list.tmp >/dev/null 2>&1
	if [ "$COLORSCHEME" -le "3" ]
	then
		ColorBarException="$YELLOW_FG"
		ColorBarSuccess="$GREEN_FG"
		ColorBarFail="$RED_FG"
		ColorBarActive="$CYAN_BG$WHITE_FG"
	elif [ "$COLORSCHEME" -eq "4" ]
	then
		ColorBarException="$YELLOW_BG$GRAY_FG"
		ColorBarSuccess="$GREEN_BG$GRAY_FG"
		ColorBarFail="$RED_BG$GRAY_FG"
		ColorBarActive="$CYAN_BG$GRAY_FG"
	elif [ "$COLORSCHEME" -eq "5" ]
	then
		ColorBarException="$YELLOW_BG$GRAY_FG"
		ColorBarSuccess="$GREEN_BG$WHITE_FG"
		ColorBarFail="$RED_BG$WHITE_FG"
		ColorBarActive="$CYAN_BG$WHITE_FG"
	fi
	bcolwidth="$(grep "^POLICYCOLWIDTH=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
	
	for x in `echo $filelist`
	do
		 if [ "$1" = "retry" -o "$1" = "rerun" ]; then x="$filex$ast$x"; fi
		 if [ "$x" = "$filex" -o "$x" = "$filex$zero" ]; then continue; fi
		 cnt=`expr $cnt + 1`
		 sx=`echo "$cnt$bk"`
		 if [ "$rnum" -eq "1" ]
		 then
			dx1=`ls -l $pathx$x 2>/dev/null | awk '{print $(NF - 3),$(NF - 2),$(NF - 1)}'`
 			last_status="$(tail -5 $pathx$x | grep -v Kill | egrep "BATCH" | tail -1)"
			filechk=`echo "$x" | sed -n "s/.log/.chk/"p`
			if [ `echo "$last_status" | egrep -c "BATCH-PROFILE-SUCCEEDED|ATO-RETRY-SUCCEEDED|ADME-RETRY-SUCCEEDED|ATO-RERUN-SUCCEEDED|ADME-RERUN-SUCCEEDED|ATO-BATCH-SUCCEEDED|ADME-BATCH-SUCCEEDED|ATO-TAPEOUT-ON-DEMAND-SUCCEEDED|ADME-TAPEOUT-ON-DEMAND-SUCCEEDED|TAPE_OK"` -eq "1" ]; then dt1c="$ColorBarSuccess"
			elif [ `echo "$last_status" | egrep -c "Staging-Exceptions="` -eq "1" ]; then dt1c="$ColorBarException"
			elif [ `echo "$last_status" | egrep -c "BATCH-PROFILE-FAILED|ATO-RETRY-FAILED|ADME-RETRY-FAILED|ATO-RERUN-FAILED|ADME-RERUN-FAILED|ATO-BATCH-FAILURE|ADME-BATCH-FAILURE|ATO-TAPEOUT-ON-DEMAND-FAILURE|ADME-TAPEOUT-ON-DEMAND-FAILURE|TAPE_NOTOK"` -eq "1" ]; then dt1c="$ColorBarFail"
			elif [ -f /tmp/$filechk ]; then dt1c="$ColorBarActive"
			else dt1c="$BLUE_FG"; fi 
			dx1="$dx1" 
			date1=`echo "[$dx1]                               "|cut -b1-15`
			if [ "$1" = "retry" -o "$1" = "rerun" ]
			then
				ses1="$sx `head -1 $pathx$x`"
				ses1_=`echo "$ses1                        "|cut -b1-24`
			elif [ "$1" = "batch" ]
			then
				if [ `echo "$x" | egrep -c "ONDEMAND|CHECKPOINT"` -gt "0" ]
				then
					ses1_=`echo "$sx $CYAN_FG $x $DEF                        "|cut -b1-39`
				else
					ses1_=`echo "$sx $x                        "|cut -b1-$bcolwidth`
				fi
			fi
			if [ "$cnt" -eq "$maxcnt" ]
			then
				echo " $ses1_ $dt1c$date1$DEF" >> $TMP_PATH/.list.tmp
				break
			fi
			rnum=`expr $rnum + 1`; continue
		 elif [ "$rnum" -eq "2" ]
		 then
			dx2=`ls -l $pathx$x 2>/dev/null | awk '{print $(NF - 3),$(NF - 2),$(NF - 1)}'`
			last_status=`tail -1 $pathx$x`
 			last_status="$(tail -5 $pathx$x | grep -v Kill | egrep "BATCH" | tail -1)"
			filechk=`echo "$x" | sed -n "s/.log/.chk/"p`
			if [ `echo "$last_status" | egrep -c "BATCH-PROFILE-SUCCEEDED|ATO-RETRY-SUCCEEDED|ADME-RETRY-SUCCEEDED|ATO-RERUN-SUCCEEDED|ADME-RERUN-SUCCEEDED|ATO-BATCH-SUCCEEDED|ADME-BATCH-SUCCEEDED|ATO-TAPEOUT-ON-DEMAND-SUCCEEDED|ADME-TAPEOUT-ON-DEMAND-SUCCEEDED|TAPE_OK"` -eq "1" ]; then dt2c="$ColorBarSuccess"
			elif [ `echo "$last_status" | egrep -c "Staging-Exceptions="` -eq "1" ]; then dt2c="$ColorBarException"
			elif [ `echo "$last_status" | egrep -c "BATCH-PROFILE-FAILED|ATO-RETRY-FAILED|ADME-RETRY-FAILED|ATO-RERUN-FAILED|ADME-RERUN-FAILED|ATO-BATCH-FAILURE|ADME-BATCH-FAILURE|ATO-TAPEOUT-ON-DEMAND-FAILURE|ADME-TAPEOUT-ON-DEMAND-FAILURE|TAPE_NOTOK"` -eq "1" ]; then dt2c="$ColorBarFail"
			elif [ -f /tmp/$filechk ]; then dt2c="$ColorBarActive"
			else dt2c="$BLUE_FG"; fi 
			date2=`echo "[$dx2]                               "|cut -b1-15`
			if [ "$1" = "retry" -o "$1" = "rerun" ]
			then
				ses2="$sx `head -1 $pathx$x`"
				ses2_=`echo "$ses2                        "|cut -b1-24`
			elif [ "$1" = "batch" ]
			then
				if [ `echo "$x" | egrep -c "ONDEMAND|CHECKPOINT"` -gt "0" ]
				then
					ses2_=`echo "$sx $CYAN_FG $x $DEF                        "|cut -b1-39`
				else
					ses2_=`echo "$sx $x                      "|cut -b1-$bcolwidth`
				fi
			fi
			if [ "$cnt" -eq "$maxcnt" ]
			then
				echo " $ses1_ $dt1c$date1$DEF $ses2_ $dt2c$date2$DEF" >> $TMP_PATH/.list.tmp
				break
			fi
			rnum=`expr $rnum + 1`; continue
		elif [ "$rnum" -eq "3" ]
		then
			dx3=`ls -l $pathx$x 2>/dev/null | awk '{print $(NF - 3),$(NF - 2),$(NF - 1)}'`
			last_status=`tail -1 $pathx$x`
 			last_status="$(tail -5 $pathx$x | grep -v Kill | egrep "BATCH" | tail -1)"
			filechk=`echo "$x" | sed -n "s/.log/.chk/"p`
			if [ `echo "$last_status" | egrep -c "BATCH-PROFILE-SUCCEEDED|ATO-RETRY-SUCCEEDED|ADME-RETRY-SUCCEEDED|ATO-RERUN-SUCCEEDED|ADME-RERUN-SUCCEEDED|ATO-BATCH-SUCCEEDED|ADME-BATCH-SUCCEEDED|ATO-TAPEOUT-ON-DEMAND-SUCCEEDED|ADME-TAPEOUT-ON-DEMAND-SUCCEEDED|TAPE_OK"` -eq "1" ]; then dt3c="$ColorBarSuccess"
			elif [ `echo "$last_status" | egrep -c "Staging-Exceptions="` -eq "1" ]; then dt3c="$ColorBarException"
			elif [ `echo "$last_status" | egrep -c "BATCH-PROFILE-FAILED|ATO-RETRY-FAILED|ADME-RETRY-FAILED|ATO-RERUN-FAILED|ADME-RERUN-FAILED|ATO-BATCH-FAILURE|ADME-BATCH-FAILURE|ATO-TAPEOUT-ON-DEMAND-FAILURE|ADME-TAPEOUT-ON-DEMAND-FAILURE|TAPE_NOTOK"` -eq "1" ]; then dt3c="$ColorBarFail"
			elif [ -f /tmp/$filechk ]; then dt3c="$ColorBarActive"
			else dt3c="$BLUE_FG"; fi 
			date3=`echo "[$dx3]                        "|cut -b 1-15`
			if [ "$1" = "retry" -o "$1" = "rerun" ]
			then
				ses3="$sx `head -1 $pathx$x`"
				ses3_=`echo "$ses3                        "|cut -b1-24`
			elif [ "$1" = "batch" ]
			then
				if [ `echo "$x" | egrep -c "ONDEMAND|CHECKPOINT"` -gt "0" ]
				then
					ses3_=`echo "$sx $CYAN_FG $x $DEF                        "|cut -b1-39`
				else
					ses3_=`echo "$sx $x                       "|cut -b1-$bcolwidth`
				fi
			fi
			if [ "$cnt" -eq "$maxcnt" ]
			then
				echo " $ses1_ $dt1c$date1$DEF $ses2_ $dt2c$date2$DEF $ses3_ $dt3c$date3$DEF" >> $TMP_PATH/.list.tmp
				break
			else
				echo " $ses1_ $dt1c$date1$DEF $ses2_ $dt2c$date2$DEF $ses3_ $dt3c$date3$DEF" >> $TMP_PATH/.list.tmp
				rnum=1; continue
			fi
		 fi
	 done

	while true
	do
		if [ "$Rerun" -eq "0" -a "$Retry" -eq "0" ];then clear; fi
		if [ `echo "$heading_" | grep -c "Dashboard"` -eq "1" ]
		then
			echo "==========<$GREEN_BG$WHITE_FG JOB - DASHBOARD $DEF>================================================================================<$CYAN_FG `hostname`$DEF >==================" | cut -b1-164
		else
			echo "======================================================================================================================================"
		fi
		echo " $heading_$DEF"
		echo "======================================================================================================================================"
		if [ -s $TMP_PATH/.list.tmp ]
		then
			cat $TMP_PATH/.list.tmp
		else
			echo "INFO: $msg1" 
		fi
		echo "======================================================================================================================================"
		echo "\n$execsyntax"
		echo "\n$prompt$DEF\c"
		read input
		export input
		if [ "$input" = "0" ]
		then
			input=""; inputsav=""
		fi
		if [ "$input" = "" ];then input="$inputsav"; fi
		if [ "$input" = "q" -o "$input" = "Q" ]
		then
			rm -f $TMP_PATH/.list.tmp >/dev/null 2>&1
			return 99
		elif [ "$input" = "" ]
		then
			break
		elif [ "$input" = "P" -o "$input" = "p" -a "$1" = "batch" ]
		then
			batch_build_rtn batch
			break
		elif [ "$input" = "M" -o "$input" = "m" -a "$1" != "batch" ]
		then
			if [ RecMenu -eq 1 ]
			then
				echo "\n$BLUE_BG$WHITE_FG NOTE: $DEF Sorry this option is not available when RM is launched from the menu...\n"
				continue
			fi
			execsyntax=""; Already=0
			if [ "$Retry" -eq "1" ]
			then 
				return=2; break 
			elif [ "$Rerun" -eq "1" ]
			then
				return=3; break 
			fi
		elif [ "$input" = "D" -o "$input" = "d" -a "$1" != "batch" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
			echo "\n$RED_BG$WHITE_FG Enter Session# to DELETE or [Enter to Continue]: $DEF \c"
			read input2
			if [ "$input2" -ge "1" -a "$input2" -le "$maxcnt" ]
			then
				rm $TMP_PATH/.$1.tmp.$input2 >/dev/null 2>&1
				archive_file_rtn $1
				break
			fi
			break
		elif [ "$input" = "C" -o "$input" = "c" -a "$1" = "batch" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
			jobcancel_rtn
			input=0; break
		elif [ "$input" = "N" -o "$input" = "n" -a "$1" = "batch" ]
		then
			if [ ! -d /nsr/res ]
        		then
                		echo "\n$RED_BG$WHITE_FG WARNING: $DEF The Networker Linux-64 bit file system agent does not appear to be installed on this system"
                		echo "\n<Press Enter to Continue>"; read
                		break
			else
				buserverx="$BUSERVER_NAME"; nwkx=""
                                if [ -s $BULOCATION/customize/nwutil_flag.txt ]
                                then
                                        echo "$GREEN_FG"
                                        cat $BULOCATION/customize/nwutil_flag.txt
                                        echo "\n$CYAN_FG Choose a Networker server to access by number: [$WHITE_FG Def=1$CYAN_FG ] $DEF\c"; read nwkx
                                        if [ "$nwkx" = "" ];then buserverx="$(grep "^1" $BULOCATION/customize/nwutil_flag.txt | head -1 | awk '{print $2}')"
                                        else buserverx="$(grep "^$nwkx" $BULOCATION/customize/nwutil.txt | head -1 | awk '{print $2}')"; fi
                                        buserverx="$(grep "^$nwkX" $BULOCATION/customize/nwutil_flag.txt | head -1 | awk '{print $2}')"
                                fi
                                $HOMEPATH/nwutil $buserverx
			fi
		elif [ "$input" = "H" -o "$input" = "h" -a "$1" = "batch" ]
		then
			break
		elif [ "$input" = "D" -o "$input" = "d" -a "$1" = "batch" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
			echo "\n$RED_BG$WHITE_FG Enter a Job-Log# to DELETE or [Press Enter to Continue]: $DEF \c"
			read input2
			if [ "$input2" = "" ];then break; fi
			linex=`grep " $input2$bk " $TMP_PATH/.list.tmp 2>/dev/null | head -1`; flag=0
			for fx in `echo $linex`
			do
				if [ "$flag" -eq "1" ]
				then
					file="$fx"; break
				else
					if [ "$fx" = "$input2)" ]; then flag=1; fi
				fi
			done
			length_chk2_rtn $file
			file="$Filex"
			echo "\n$CYAN_FG Confirm deletion of Job-Log [$WHITE_FG $file] Enter Y or N [Def=N]$DEF :> $Asciesc"; read deleteprompt
			if [ "$deleteprompt" = "Y" -o "$deleteprompt" = "y" ]
			then
#				rm $BULOCATION/log/$file >/dev/null 2>&1
				mv $BULOCATION/log/$file $BULOCATION/retire >/dev/null 2>&1
				rm $TMP_PATH/.list.tmp >/dev/null 2>&1
				echo "\n Job-Log has been retired ..."; sleep 1
			else
				echo "\n Job-Log has been retained ..."; sleep 1
			fi

			break
		elif [ "$input" = "e" -o "$input" = "E" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then break; fi
			if [ "$1" = "batch" ];then continue; fi
			echo "\n$RED_BG$WHITE_FG WARNING:$DEF Before executing a checkpoint, you should FIRST display it to verify selected backups"
			echo "\n$CYAN_FG Select the checkpoint number to use or Q=Quit :$DEF > \c"; read chkpt
			if [ "$chkpt" = "" -o "$chkpt" = "Q" -o "$chkpt" = "q" ];then exit; fi
			if [ "$Cfg" -eq "" ]; then cfgx=1; else cfgx=$Cfg; fi
			grp_x=`head -1 $TMP_PATH/.$1.tmp.$chkpt`
			checkpoint_rtn $1 $chkpt $cfgx $grp_x
			
		elif [ "$input" -ge "1" -a "$input" -le "$maxcnt" -a "$Retry" -eq "1" ]
		then
			export Already=0
			status=`tail -1 $TMP_PATH/.$1.tmp.$input`
			grp_x=`head -1 $TMP_PATH/.$1.tmp.$input`
			if [ `echo "$status"  | egrep -c "ATO-RETRY-SUCCEEDED|ADME-RETRY-SUCCEEDED"` -eq "1" ]
			then
				export Already=1; echo "\n$GREEN_FG $status$DEF [Enter to Continue]:$DEF\c"; read
			elif [ `echo "$status"  | egrep -c "ATO-RETRY-FAILED|ADME-RETRY-FAILED"` -eq "1" ]
			then
				export Already=2; echo "\n$RED_FG $status$DEF [Enter to Continue]:$DEF\c"; read
			fi
			if [ "$Cfg" -eq "" ]; then cfgx=1; else cfgx=$Cfg; fi
			execsyntax="$BLUE_BG$CYAN_FG To RETRY Session-$input Use:$DEF$GREEN_FG adme $cfgx -sid $grp_x -migrate -$1 $input   [ -inc -s -path -data -d -D etc..]$DEF"
			if [ -s $TMP_PATH/.$1.tmp.$input ]; then cp $TMP_PATH/.$1.tmp.$input $TMP_PATH/.$1.tmpv >/dev/null 2>&1; fi
		elif [ "$input" -ge "1" -a "$input" -le "$maxcnt" -a "$Rerun" -eq "1" ]
		then
			if [ -s $TMP_PATH/.$1.tmp.$input ]; then cp $TMP_PATH/.$1.tmp.$input $TMP_PATH/.$1.tmpv >/dev/null 2>&1; fi
			export Already=0
			status=`tail -1 $TMP_PATH/.$1.tmp.$input`
			grp_x=`head -1 $TMP_PATH/.$1.tmp.$input`
			if [ `echo "$status"  | egrep -c "ATO-RERUN-SUCCEEDED|ADME-RERUN-SUCCEEDED"` -eq "1" ]
			then
				export Already=1; echo "\n$GREEN_FG $status$DEF [Enter to Continue]:\c"; read
#				execsyntax="$BLUE_BG$CYAN_FG To RERUN Session-$input Use:$DEF$GREEN_FG adme $cfgx -sid $grp_x -migrate -$1 $input   [ -inc -s -path -data -d -D etc..]$DEF"
			elif [ `echo "$status"  | egrep -c "TAPE_OK"` -eq "1" ]
			then
				export Already=1; echo "\n$GREEN_FG $status$DEF [Enter to Continue]:\c"; read
			elif [ `echo "$status"  | egrep -c "ATO-RERUN-FAILED|ADME-RERUN-FAILED"` -eq "1" ]
			then
				export Already=2; echo "\n$RED_B$WHITE_FGG $status [Enter to Continue]:\c"; read
			elif [ `echo "$status"  | egrep -c "TAPE_NOTOK"` -eq "1" ]
			then
				export Already=2; echo "\n$RED_B$WHITE_FGG $status [Enter to Continue]:\c"; read
			else
				set -
			fi
			if [ "$Cfg" -eq "" ]; then cfgx=1; else cfgx=$Cfg; fi
		elif [ "$input" = "B" -o "$input" = "b" -a "$1" = "batch" ]
		then
			break
			echo "\n$CYAN_FG Browse results from last job execution only, Enter a session-# to BROWSE <$WHITE_FG Def=$inputsav or Q=Quit $CYAN_FG>:$DEF \c"; read input2
			if [ "$input2" = "Q" -o "$input2" = "q" ];then break; fi 
			if [ "$input2" -eq "" ];then input2="$inputsav"; else inputsav="$input2"; fi
			
			if [ "$input2" -ge "1" -a "$input2" -le "$maxcnt" ]
			then
				linex=`grep " $input2$bk" $TMP_PATH/.list.tmp 2>/dev/null | head -1`; flag=0
				for fx in `echo $linex`
				do
					if [ "$flag" -eq "1" -a `echo "$fx" | egrep -c "admbatch"` -ne "1" ];then continue; fi 
					if [ "$flag" -eq "1" ]
					then
						file="$fx"; break
					else
						if [ "$fx" = "$input2)" ]; then flag=1; fi
					fi
				done
				length_chk2_rtn $file
				file="$Filex"
				if [ `grep -c "BATCH-PROFILE-START-TIME:" $pathx/$file` -gt "0" ]
				then
					start_line=`grep -n "BATCH-PROFILE-START-TIME:" $pathx/$file | tail -1 | sed -n "s/:/ /"p | awk '{print $1}'`
				else
					start_line=`egrep -n "ADMe BATCH Session Started:|ATO BATCH Session Started:|ADMe CHECKPOINT-BATCH Session Started:|ATO CHECKPOINT-BATCH Session Started:" $pathx/$file | tail -1 | sed -n "s/:/ /"p | awk '{print $1}'`
				fi
				if [ "$start_line" -eq "" ];then start_line=2; fi
				start_line=`expr $start_line - 1`
				last_line=`wc -l $pathx/$file | awk '{print $1}'` 
 				sed -n "$start_line,$last_line"p $pathx/$file | less -R
			fi
			break
		elif [ "$input" -ge "1" -a "$input" -le "$maxcnt" -a "$1" = "batch" ]
		then
			input2="$input"; batch=0
  			if [ "$input2" -eq "" ];then input2="$inputsav"; else inputsav="$input2"; fi	
			linex=`grep " $input$bk" $TMP_PATH/.list.tmp 2>/dev/null | head -1`; flag=0
			for fx in `echo $linex`
			do
				if [ "$flag" -eq "1" -a `echo "$fx" | egrep -c "admbatch"` -ne "1" ];then continue; fi 
				if [ "$flag" -eq "1" ]
				then
					file="$fx"; break
				else
					if [ "$fx" = "$input)" ]; then flag=1; fi
				fi
			done
			length_chk2_rtn $file
			file="$Filex"
			start_line=`egrep -n "ADMe BATCH Session Started:|ATO BATCH Session Started:" $pathx/$file | tail -1 | sed -n "s/:/ /"p | awk '{print $1}'`
			lprev=0; lline=0

			lprev="$(grep -n "BATCH-PROFILE-START" $pathx/$file | tail -1 | sed -n "s/:/ /"p | awk '{print $1}')"
                        if [ "$lprev" -eq "" ]
                        then
                                lprev="$(grep -n "ADME-BATCH-" $pathx/$file | tail -1 | sed -n "s/:/ /"p | awk '{print $1}')"
                        else
                                batch=1
                        fi
			lprev2="$(grep -n "^BATCHPID=" $pathx/$file | tail -1 | sed -n "s/:/ /"p | awk '{print $1}')"
			lline="$(wc -l $pathx/$file | awk '{print $1}')"

			if [ "$batch" -eq "1" ]
                        then
                                diffx="$(expr $lline - $lprev)"; diffx="$(expr $diffx + 2)"
                                laststat=`tail -$diffx $pathx/$file`
			elif [ "$lprev" -eq "$lline" ]
			then
				lprev3="$(egrep -n "BATCH - SUMMARY|JOB - SUMMARY" $pathx/$file | tail -1 | sed -n "s/:/ /"p | awk '{print $1}')"
				if [ "$lprev3" -gt "$lprev2" ]
				then
					diffx="$(expr $lline - $lprev3)"; diffx="$(expr $diffx + 1)"
					laststat=`tail -$diffx $pathx/$file`
				else
 					diffx="$(expr $lline - $lprev2)"
					if [ "$diffx" -gt "20" ];then diffx="20"; fi
					laststat=`tail -$diffx $pathx/$file`
				fi
			elif [ "$lprev" -ne "$lline" ]
			then
				diffx="$(expr $lline - $lprev2)"; diffx="$(expr $diffx - 1)"
				if [ "$diffx" -gt "20" ];then diffx="20"; fi
				laststat=`tail -$diffx $pathx/$file`
			elif [ "$lprev2" -gt "$lprev" ]
			then
				diffx="$(expr $lline - $lprev2)"
				if [ "$diffx" -gt "20" ];then diffx="20"; fi
				laststat=`tail $diffx $pathx/$file`
			else
				laststat=`tail -20 $pathx/$file`
			fi
			echo "\n$CYAN_FG Last-Status-Summary:$DEF"
			echo "$laststat"
			if [ "$(tail -1 $pathx/$file | egrep -c "ATO-BATCH-FAILURE|ADME-BATCH-FAILURE")" -eq "1" ]
			then
				echo "\n$RED_BG$WHITE_FG Note: $DEF To review details from a failed job use$WHITE_FG L=Last-Run$DEF option to browse the log"
			fi
			echo "\n$BLUE_BG$WHITE_FG Review Job Log:$DEF$CYAN_FG [$WHITE_FG L$CYAN_FG=Last-Run$WHITE_FG A$CYAN_FG=All-Runs$WHITE_FG H$CYAN_FG=History or <$WHITE_FG Press Enter to Return $CYAN_FG>]:$DEF \c"; read input2

			if [ "$input2" = "A" -o "$input2" = "a" ]
			then
				clear; less -R $pathx/$file
  				break
			elif [ "$input2" = "L" -o "$input2" = "l" ]
			then
				last_run_rtn $pathx/$file
				break
			elif [ "$input2" = "H" -o "$input2" = "h" ]
			then
  				if [ "$input2" -eq "" ];then input2="$inputsav"; else inputsav="$input2"; fi	
				history_rtn $file
				break
			elif [ "$input2" -eq "" ]
			then
				break
  			fi
		else
			echo "\n$RED_FG Input Invalid$DEF"; sleep 1
		fi
		if [ "$Retry" -eq "1" -o "$Rerun" -eq "1" ]
		then
			rm $TMP_PATH/.list.tmp >/dev/null 2>&1
			return
		fi
	done
	done
}

jobcancel_rtn()
{

	jname="$1"; jaction="$2"; jreason="$3"
	
	if [ "$(echo "$jname" | grep -c ".cfg")" -ne "0" ]
	then
		jname_="$(echo "$jname" | sed -n "s/.cfg/.log/"gp)"; jname="$jname_"		
	fi

	if [ "$jaction" = "help" -o "$Jobcancel" -eq "0" ]
	then
		echo "\nCancelling a standard job policy while it is in the selection, view or staging phases should end the job preventing"
		echo "additional staging activities from proceeding by cancelling its active MCS sessions."
		echo "\nStaging items which rely on avtar versus mccli used for ndmp, vmimage, lotus etc. can be cancelled from ADMe"
		echo "preventing new items from being initiated and to clean up the job lock files. However, its associated active avtar session"
		echo "on the staging server must be ended or cancelled from the staging server involved or you can try using the MCS GUI"
		echo "under Server->Sessions-Tab to end the session."
		echo "Asynchronous timing issues may prevent the cancellation from completing and in this case you may need to cancel"
		echo "an active session directly from the Avamar Activity Monitor manually."
		echo "\nIf the export backup phase has begun the backup process itself must be cancelled from the staging server or tape"
		echo "backup server depending on the tape application involved and whether the -server option was being used. "
	fi
	if [ "$jaction" = "help" ]
	then 
#		rm /tmp/cancelockname > /dev/null 2>&1
		return 0
	fi

	if [ "$jaction" != "noprompt" ]
	then
		echo "\n$RED_BG$WHITE_FG Enter Job-Session# to CANCEL or [Press Enter to Continue]:$DEF \c"
		read input2
	fi
	if [ "$input2" -eq "" -a "$Jobcancel" -eq "0" ]
	then
		return
	fi

	if [ "$Jobcancel" -eq "0" ]
	then
		linex=`grep " $input2$bk " $TMP_PATH/.list.tmp 2>/dev/null | head -1`; flag=0
	else
		linex="$jname";  flag=1
	fi
	for fx in `echo $linex`
	do
		if [ "$flag" -eq "2" ]
		then
			file="$fx"; break
		fi
		if [ "$flag" -eq "1" ]
		then
			if [ `echo "$fx" | grep -c ".log"` -gt "0" ]
			then
				file="$fx"; break
			else
				if [ `echo "$fx" | grep -c "admbatch-"` -eq "1" ]
				then
					if [ `ls -l $HOMEPATH/../var/log/$fx*.log | grep -c "$fx"` -eq "1" ]
					then
						file=`ls -l $HOMEPATH/../var/log/$fx*.log | awk -F/ '{print $NF}'`
						break
					elif [ `ls -l $HOMEPATH/../var/log/$fx*.log | grep -c "$fx"` -gt "1" ]
					then
						echo "$GREEN_FG"; ls -l $HOMEPATH/../var/log/$fx*.log | awk -F/ '{print $NF}'
						if [ "$2" != "noprompt" ]
						then
							if [ -s $BULOCATION/log/$1 ]
							then
								echo "\n$CYAN_FG Enter the file name from the list provided:> \c$DEF"; read file
								break
							fi
						elif [ ! -s $BULOCATION/log/$1 ]
						then
							echo "$ERRORX-XX: Job log name past is invalid, [$WHITE_FG$1$RED_FG]$DEF"
							rm /tmp/cancelockname > /dev/null 2>&1
							return 1
						fi
					fi
				fi
				flag=2; continue	
			fi
		else
			if [ "$fx" = "$input2)" ]; then flag=1; fi
		fi
	done
	length_chk2_rtn $file
	file="$Filex"
	file_cfg=`echo "$file" | sed -n "s/.log/.cfg/"p`
	jobtype=0; dot="."
	echo ""

	cancelockname="$(echo "$file_cfg" | sed -n "s/.cfg/-cancel.lck/"gp)"
	if [ ! -f /tmp/cancelockname ]
	then
		if [ "$Canceljobcall" = "" ];then Canceljobcall="Menu initiated cancel"; fi
		echo "$Canceljobcall" > /tmp/$cancelockname
#		if [ ! -f $BULOCATION/tmp/atocfg/.guirefresh.lck ]
#		then
#			touch $BULOCATION/tmp/atocfg/.guirefresh.lck
#			gather_stats_rtn
#			rm $BULOCATION/tmp/atocfg/.guirefresh.lck >/dev/null 2>&1
#		fi
	else
		echo "$ERRORX-00: A previous cancel session is already in progress for job name: [$file_cfg], skipping cancel operation"
		exit 1
	fi

	waitcnt=0; delaytime=10; maxwaittime=300
	while true
	do
		if [ "$(grep "MYPID=" /$BULOCATION/log/$file | tail -1 | grep -c "MYPID=")" -ne "0" ]
		then
			linex=`grep -n "MYPID=" /$BULOCATION/log/$file | tail -1 | sed -n "s/:/ /"p`
			linex_num=`echo "$linex" | awk '{print $1}'`
			if [ "$linex_num" -eq "" ];then break; fi
			envx=`sed -n "$linex_num,99999"p /$BULOCATION/log/$file | grep "BaseGroupName=" | tail -1 | awk '{print $3}' | awk -F= '{print $2}'`

			mypid=`echo "$linex" | awk -F= '{print $2}'`
			if [ "$(ps -ef | egrep "adme|admbat" | egrep -v "grep|-select|-v" | egrep "$mypid|atopnpc $file_cfg" | grep -ce "-migrate")" -ne "0" ]
			then
				killpids=`ps -ef | egrep "adme|admbat" | egrep -v "grep|-select|-v" | egrep "$mypid|atopnpc $file_cfg|-migrate" | awk '{print $2}'`
				jobtype=1
				break
			else
				echo " >>> Up to 5 minute wait for the -migrate phase to begin prior to initiating a cancel operation [$waitcnt Seconds] $dot \r\c"
				sleep $delaytime; dot="$dot." 
				waitcnt="$(expr $waitcnt + $delaytime)"
				if [ "$waitcnt" -ge "$maxwaittime" ];then break; else continue; fi
			fi
		elif [ "$(grep -c "BATCH-PROFILE" $BULOCATION/log/$file)" -ne "0" ]
		then
			filenoext="$(ls -rtl $BULOCATION/log/$file | awk -F/ '{print $NF}' | awk -F. '{print $1}')"
			killpids=$(ps -ef | egrep "$filenoext" | grep -v grep | awk '{print $2,$3}')
			jobtype=2
			break
		fi
	done
	echo ""

	if [ "$killpids" = "" ]
	then
		echo
		if [ "$2" != "noprompt" ]
		then
			echo "$RED_BG$WHITE_FG WARNING:$DEF$RED_FG Selected Job-ID is not currently active$DEF"; echo "\nPress Enter to Continue"; read
			rm /tmp/$cancelockname > /dev/null 2>&1
		 	return 1
		else
			echo "$RED_BG$WHITE_FG WARNING:$DEF$RED_FG Selected Job-ID is not currently active$DEF"
			rm /tmp/$cancelockname > /dev/null 2>&1
			return 1
		fi
	else
		echo 
		killit="junk"
	fi

	if [ "$input" = "C" -o "$input" = "c" ]
	then
		if [ "$jobtype" -eq "1" ];then ps -ef | egrep "adme|admbat" | grep -v grep | egrep "$mypid|atopnpc $file_cfg"
		elif [ "$jobtype" -eq "2" ]
		then
			ps -ef | egrep -o "$killpids|$file.log" | grep -v grep
			echo "\n$RED_BG$WHITE_FG NOTE: $DEF Cancelling a BATCH job will prevent jobs currently queued to it from starting.\n\n"
		fi

		if [ "$2" != "noprompt" ]
		then
			echo "\n$CYAN_FG The above process's for job [$WHITE_FG $Filex$CYAN_FG ] are about to be cancelled,$WHITE_FG Enter Y or N to continue :$DEF> $Asciesc"; read killit
		else
			killit="Y"
		fi
		if [ "$killit" != "Y" -a "$killit" != "y" ]
		then
			rm /tmp/$cancelockname > /dev/null 2>&1
			return
		fi
	fi
	if [ "$jobtype" -eq "1" ]
	then
		if [ "$envx" -eq "1" ];then envx=""; fi
		groupnamex="$(grep "^Base_Group_Name" $BULOCATION/etc/$file_cfg | awk -F= '{print $2}')"
		stageos="$(grep "^$groupnamex" $CFG | head -1 | awk -F, '{print $15}')"
		if [ "$stageos" = "WINDOWS" ];then stagingsrv="$(grep "^WINDOWSS=" $BULOCATION/etc/atoenv.cfg$envx | head -1 | awk -F= '{print $2}')"
		else stagingsrv="$(grep "^UNIXSS=" $BULOCATION/etc/atoenv.cfg$envx | head -1 | awk -F= '{print $2}')"; fi
		stagingservername="$(echo "$stagingsrv" | awk -F/ '{print $3}')"
		stagingserverdomain="$(echo "$stagingsrv" | awk -F/ '{print $2}')"

		for c in 1 2 3 4 5 6 7 8 9
		do
			actidx=`$HOMEPATH/mccli activity show --active=true --domain=/$stagingserverdomain --name=$stagingservername | grep " Restore " | awk '{print $1}'`
			if [ "$actidx" -eq "" ]
			then
				dot="$dot."
				echo " >>> Searching for associated MCS Activity-ID#=$dot\r\c"
				if [ "$(tail -1 $BULOCATION/log/$file | egrep -c "ATO-BATCH-|ADME-BATCH-")" -ne "0" ]
				then
					echo "INFO: Job has already ended, skipping cancel operation"
					rm /tmp/$cancelockname > /dev/null 2>&1
					return 0
				fi
				sleep 2; continue
			else
				echo " >>> Found associated MCS Running Activity-ID#=$actidx"
				break
			fi
		done
		if [ "$actidx" -eq "" ]
		then
			actidx="$($HOMEPATH/mccli activity show  --domain=/$stagingserverdomain --name=$stagingservername --queued | grep " Restore " | grep "Waiting-Queued" | head -1 | awk '{print $1}')"
			echo " >>> Found associated MCS Waiting-Queued Activity-ID#=$actidx"
		fi
		$HOMEPATH/mccli activity cancel --id=$actidx >/dev/null 2>&1
	fi		

	if [ "$jobtype" -eq "1" ]
	then
		killpids=`ps -ef | egrep "adme|admbat" | grep -v grep | egrep "$mypid|atopnpc $file_cfg" | awk '{print $2}'`
	elif [ "$jobtype" -eq "2" ]
	then

		for k in `echo "$killpids"`
		do
   			/bin/kill -9 $k >/dev/null 2>&1
		done
		echo "$RED_BG$WHITE_FG BATCH-PROFILE-FAILED: Batch session for [$WHITE_FG$file_cfg$RED_FG] was cancelled by user $DEF" >> /$BULOCATION/log/$file
		echo
 		rm /tmp/$filenoext.chk >/dev/null 2>&1
		return 0
	fi

	for k in `echo "$killpids"`
	do
   		/bin/kill -9 $k >/dev/null 2>&1
	done

	mypid=`echo "$linex" | awk -F= '{print $2}'`
	killpids=`ps -ef | egrep "adme|admbat" | grep -v grep | egrep "$mypid|atopnpc $file_cfg" | awk '{print $2}'`
	for k in `echo "$killpids"`
	do
   		echo "/bin/kill -9 $k >/dev/null 2>&1"
		killpids=`ps -ef | egrep "adme|admbat" | grep -v grep | egrep "$mypid|atopnpc $file_cfg" | awk '{print $2}'`
	done

 	sleep 3
	echo
	notex="$BLUE_BG$WHITE_FG Reason for Cancellation:$DEF"; 
	if [ "$jaction" != "noprompt" ]
	then
		echo "\n$notex \c"; read comments
		echo "\n$notex $comments \n" >> /$BULOCATION/log/$file
  		echo "\n$notex $comments \n" >> $BULOCATION/log/atoevent.log$envx 
	elif [ "$3" != "" -a "$jaction" = "noprompt" ]
	then
		comments="$jreason"	
		echo "\n$notex $comments \n" >> /$BULOCATION/log/$file
  		echo "\n$notex $comments \n" >> $BULOCATION/log/atoevent.log$envx 
	fi
	echo ""
 	sdate="$(date +'20%y-%m-%d %H:%M')"

	sdate="$(grep "ADMe JOB Session Started:" $BULOCATION/log/$file | tail -1 | awk '{print $6,$7}')"
 	edate="$(date +'20%y-%m-%d %H:%M')"
	echo "$RED_BG$WHITE_FG ADME-BATCH-FAILURE: Start-Time: $sdate End-Time: $edate Batch session for [$file_cfg] was cancelled by user $DEF \c" >> $BULOCATION/log/atoevent.log$envx
	echo "$RED_BG$WHITE_FG ADME-BATCH-FAILURE: Start-Time: $sdate End-Time: $edate Batch session for [$file_cfg] was cancelled by user $DEF" | tee -a /$BULOCATION/log/$file

	lockfilex=`echo "$file" | awk -F. '{print $1}'`
	rm /tmp/$lockfilex.chk >/dev/null 2>&1
	rm $TMP_PATH$envx/.admebatch.lok >/dev/null 2>&1
	rm $TMP_PATH$envx/adm.lok >/dev/null 2>&1

 	echo "$file_cfg ENDED" >> $BULOCATION/jobstats/.activity-inc.txt
	$HOMEPATH/adme -jobreport activity force >/dev/null 2>&1
	rm /tmp/$cancelockname > /dev/null 2>&1
	return 0
}

last_run_rtn()
{

	if [ $(grep -c "BATCH-PROFILE-START-TIME:" $1) -gt "0" ]
	then
		start_line=`egrep -n "BATCH-PROFILE-START-TIME:" $1 | tail -1 | sed -n "s/:/ /"p | awk '{print $1}'`
	else
		start_line=`egrep -n "ADMe BATCH Session Started:|ADMe Job Session Started|ADMe JOB Session Started|ATO BATCH Session Started:|ADMe CHECKPOINT-BATCH Session Started:|ATO CHECKPOINT-BATCH Session Started:" $1 | tail -1 | sed -n "s/:/ /"p | awk '{print $1}'`
	fi
	if [ "$start_line" -eq "1" ];then start_line=2; fi
	if [ "$batch1" -eq "1" ];then start_line="$(expr $start_line + 1)"; else start_line="$(expr $start_line - 2)"; fi
	last_line=`wc -l $1 | awk '{print $1}'` 
	clear; sed -n "$start_line,$last_line"p $1 | less -R
}

history_rtn()
{
	file="$1"; pathx="$BULOCATION/log"; TMP_PATH="$BASE_TMP_PATH"
	hcnt=0; lhcnt=0; input3=""; scnt=0; fcnt=0; xcnt=0
#	Filex="$(echo "$file" | awk -F/ '{print $NF}')"
	Filex="$file"

 	echo "\n$BLUE_BG$WHITE_FG Job History Status:$DEF$WHITE_FG F$CYAN_FG=Failed$WHITE_FG S$CYAN_FG=Succeeded or$WHITE_FG A$CYAN_FG=All [$WHITE_FG Def=All or Q=Quit $CYAN_FG]: $DEF \c"; read input3
	if [ "$input3" = "Q" -o "$input3" = "q" ];then break; fi
  	if [ "$input3" = "" ];then input3="A"; fi

	if [ "$input3" = "S" -o "$input3" = "s" ]
	then
		echo "$GREEN_FG" > $TMP_PATH/batch_hist.tmp
	
		if [ "$batch" -eq "1" ]
		then
			egrep -n "PROFILE-SUCCEEDED" /$BULOCATION/log/$Filex | sed -n "s/:/ /"p | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep -n "^" | sed -n "s/:/) /"p >> $TMP_PATH/batch_hist.tmp 
		else
			grep -n "BATCH-SUCCEEDED" /$BULOCATION/log/$Filex | sed -n  "s/:/ /"p | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep -n "^" | sed -n "s/:/) /"p >> $TMP_PATH/batch_hist.tmp 
		fi
              	scnt=`wc -l $TMP_PATH/batch_hist.tmp | awk '{print $1}'`
		cat $TMP_PATH/batch_hist.tmp | awk '{print $1,$3,$4,$5,$6,$7,$8,$9,$10,$11}' 2>/dev/null
	elif [ "$input3" = "F" -o "$input3" = "f" ]
	then
		if [ "$batch" -eq "1" ]
		then
			egrep -n "PROFILE-FAILED" /$BULOCATION/log/$Filex | sed -n "s/:/ /"p | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep -n "^" | sed -n "s/:/) /"p > $TMP_PATH/batch_hist.tmp 
		else
			egrep -n "BATCH-FAILURE" /$BULOCATION/log/$Filex | sed -n  "s/:/ /"p | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep -n "^" | sed -n "s/:/) /"p > $TMP_PATH/batch_hist.tmp
		fi
              	hcnt=1; lhcnt="$(wc -l $TMP_PATH/batch_hist.tmp | awk '{print $1}')"
               	fcnt_=0
               	echo
               	while true
               	do
                      	linex="$(sed -n "$hcnt,$hcnt"p $TMP_PATH/batch_hist.tmp)"
                       	if [ "$(echo "$linex" | grep -c "currently locked")" -ne "0" ]
                       	then
                               	fcnt_="$(expr $fcnt_ + 1)"
                            	if [ "$hcnt" -lt "$lhcnt" ];then hcnt="$(expr $hcnt + 1)"; else break; fi
                              	continue
                       	elif [ "$(echo "$linex" | egrep -c "cancelled by user|Exceptions")" -eq "1" ]
                       	then
                              	echo "$YELLOW_FG$linex" | awk '{print $1,$3,$4,$5,$6,$7,$8,$9,$10,$11}'
                               	xcnt=`expr $xcnt + 1`
                      	elif [ "$(echo "$linex" | egrep -c "PROFILE-FAILED|BATCH-FAILURE")" -eq "1" ]
                      	then
                              	echo "$RED_FG$linex" | awk '{print $1,$3,$4,$5,$6,$7,$8,$9,$10,$11}'
                               	fcnt=`expr $fcnt + 1`
                       	else
                               	echo "$GREEN_FG$linex" | awk '{print $1,$3,$4,$5,$6,$7,$8,$9,$10,$11}'
                               	scnt=`expr $scnt + 1`
                       	fi
                       	if [ "$hcnt" -lt "$lhcnt" ];then hcnt="$(expr $hcnt + 1)"; else break; fi
               	done
	elif [ "$input3" = "A" -o "$input3" = "a" ]
	then
		if [ "$batch" -eq "1" ]
		then
			egrep -n "PROFILE-SUCCEEDED|PROFILE-FAILED" /$BULOCATION/log/$Filex | sed -n "s/:/ /"p | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep -n "^" | sed -n "s/:/) /"p > $TMP_PATH/batch_hist.tmp 
		else
			egrep -n "BATCH-FAILURE:|BATCH-SUCCEEDED:" /$BULOCATION/log/$Filex | sed -n "s/:/ /"p | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep -n "^" | sed -n "s/:/) /"p > $TMP_PATH/batch_hist.tmp 
		fi
		hcnt=1; lhcnt="$(wc -l $TMP_PATH/batch_hist.tmp | awk '{print $1}')"
		fcnt_=0
		echo
		while true
               	do
                      	linex="$(sed -n "$hcnt,$hcnt"p $TMP_PATH/batch_hist.tmp)"
                      	if [ "$(echo "$linex" | grep -c "currently locked")" -ne "0" ]
                      	then
                               	fcnt_="$(expr $fcnt_ + 1)"
                              	if [ "$hcnt" -lt "$lhcnt" ];then hcnt="$(expr $hcnt + 1)"; else break; fi
                               	continue
                       	elif [ "$(echo "$linex" | egrep -c "cancelled by user|Exceptions")" -eq "1" ]
			then
				echo "$YELLOW_FG$linex" | awk '{print $1,$3,$4,$5,$6,$7,$8,$9,$10,$11}'
 				xcnt=`expr $xcnt + 1`
                      	elif [ "$(echo "$linex" | egrep -c "PROFILE-FAILED|BATCH-FAILURE")" -eq "1" ]
			then
				echo "$RED_FG$linex" | awk '{print $1,$3,$4,$5,$6,$7,$8,$9,$10,$11}'
				fcnt=`expr $fcnt + 1`
                       	else
				echo "$GREEN_FG$linex" | awk '{print $1,$3,$4,$5,$6,$7,$8,$9,$10,$11}'
 				scnt=`expr $scnt + 1`
			fi
			if [ "$batch" -eq "1" ]
			then
				egrep -n "PROFILE-SUCCEEDED|PROFILE-FAIL" /$BULOCATION/log/$Filex | sed -n "s/:/ /"p | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep -n "^" | sed -n "s/:/) /"p > $TMP_PATH/batch_hist.tmp 
			else
				egrep -n "BATCH-FAILURE:|BATCH-SUCCEEDED:" /$BULOCATION/log/$Filex | sed -n "s/:/ /"p | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep -n "^" | sed -n "s/:/) /"p > $TMP_PATH/batch_hist.tmp 
			fi
                      	if [ "$hcnt" -lt "$lhcnt" ];then hcnt="$(expr $hcnt + 1)"; else break; fi
              	done
	fi
 	tcnt="$(expr $scnt + $fcnt + $xcnt)"
 	echo "\n$BLUE_BG$WHITE_FG JOB-HISTORY-STATS: Job-Name=$Filex Succeeded=$scnt Exceptions=$xcnt Failed=$fcnt Total=$tcnt$DEF"
	lmax="$(wc -l $TMP_PATH/batch_hist.tmp | awk '{print $1}')"
	echo "\n$BLUE_BG$WHITE_FG Review Log Details:$DEF$CYAN_FG Enter a Log-# or <$WHITE_FG Press Enter to Return $CYAN_FG>]:$DEF \c"; read input2
	if [ "$input2" -eq "" ]
	then
 		break	
	elif [ "$input2" -gt "0" -o "$input2" -le "$lmax" ]
	then
		lline="$(sed -n "$input2,$input2"p $TMP_PATH/batch_hist.tmp | awk '{print $2}')"
		fline="$(sed -n "1,$lline"p $pathx/$file | grep -n "^BATCHPID" | sed -n "s/:/ /"gp | tail -1 | awk '{print $1}')"
  		if [ "$lline" -le "20" -o "$input2" -eq "1" ];then fline_=1; fi
		clear; sed -n "$fline,$lline"p $pathx/$file | less -R
	fi
    	rm $TMP_PATH/batch_hist.tmp >/dev/null 2>&1
}

length_chk2_rtn()
{
	wild="*"
	lcnt=`ls -l $BULOCATION/log/$1$wild 2>/dev/null | wc -l | awk '{print $1}'`
	if [ "$lcnt" -eq "1" ]
	then
		Filex=`ls -l $BULOCATION/log/$1$wild 2>/dev/null | awk -F/ '{print $NF}'`
	else
		echo "\n$RED_FG Unable to determine selection to use:$GREEN_FG\n"
		ls -l $BULOCATION/log/$1$wild 2>/dev/null | awk -F/ '{print $NF}'
		echo "\n$CYAN_FG Enter complete selection name to use: \c$DEF"; read Filex
	fi
}

readonly_rtn()
{
	sleeptime=`expr $1 \* 60`
	datex=`date +'20%y/%m'`

  	if [ -f $HOMEPATH/avmaint -a "$Avtar_Versionx2" -eq "1" ]
	then
		while true
		do
#			gsan_state="$($HOMEPATH/status.dpn | egrep "Access-Status:|GC in progress:|Checkpoint in progress:|Hfscheck in progress:")"			
#			gccchk="$(echo "$gsan_state" | grep -c "GC in progress:")"
#			cpchk="$(echo "$gsan_state" | grep -c "Checkpoint in progress:")"
#			hfschk="$(echo "$gsan_state" | grep -c "Hfscheck in progress:")"
#			else reason=""; fi

			gcc_start=`$HOMEPATH/avmaint cat /sysinfo/log/$datex/gc $AVMAINT_credential 2>/dev/null | egrep -n "4200" | tail -1 | sed -n "s/:/ /"p 2>/dev/null  | awk '{print $1}'`
			gcchk=`$HOMEPATH/avmaint cat /sysinfo/log/$datex/gc $AVMAINT_credential 2>/dev/null | sed -n "$gcc_start,9999"p 2>/dev/null | egrep -c "4203|4201|4202"`
			if [ "$gcc_start" -eq "" ];then gcchk=1; fi
			cp_start=`$HOMEPATH/avmaint cat /sysinfo/log/$datex/cp $AVMAINT_credential  2>/dev/null | egrep -n "4300" | tail -1 | sed -n "s/:/ /"p 2>/dev/null  | awk '{print $1}'`
			cpchk=`$HOMEPATH/avmaint cat /sysinfo/log/$datex/cp $AVMAINT_credential  2>/dev/null | sed -n "$cp_start,9999"p 2>/dev/null | grep -c "4301"`
			if [ "$cp_start" -eq "" ];then cpchk=1; fi
			hfs_start=`$HOMEPATH/avmaint cat /sysinfo/log/$datex/hfscheck $AVMAINT_credential 2>/dev/null | egrep -n "4002" | tail -1 | sed -n "s/:/ /"p 2>/dev/null  | awk '{print $1}'`
			hfschk=`$HOMEPATH/avmaint cat /sysinfo/log/$datex/hfscheck $AVMAINT_credential 2>/dev/null | sed -n "$hfs_start,9999"p 2>/dev/null  | grep -c "4003"`
			if [ "$hfs_start" -eq "" ];then hfschk=1; fi
        		if [ "$gcchk" -eq "0" ];then reason="READONLY-GC"
        		elif [ "$cpchk" -eq "0" ];then reason="CHKPNT-Act "
        		elif [ "$hfschk" -eq "0" ];then reason="HFSCHK-Act "
			else reason=""; fi

			if [ `date +'%d'` -eq "01" ];then reason=""; fi
			echo
			if [ "$1" -gt "0" -a "$reason" = "READONLY-GC" -a "$Function" -eq "2" ]
			then
				if [ "$gcchk" -eq "0" -o "$hfschk" -eq "0" -o "$cpchk" -eq "0" ];then echo "$RED_BG$WHITE_FG Avamar Maintenance Status: $reason `date +'%d/%m/%y %H:%M'` Sleeping $1 minutes $DEF"; fi

				if [ "$Avtar_Versionx2" -eq "0" ]
				then
					sleep $sleeptime; continue
				else
					break
				fi
			else
 				if [ "$gcchk" -eq "0" -o "$hfschk" -eq "0" -o "$cpchk" -eq "0" ];then echo "$RED_BG$WHITE_FG Avamar Maintenance Status: $reason$DEF"; fi
				break
			fi
		done
	else
		reason=""
	fi
}

avflags_rtn()
{

	MCCLI_avflags=""; AVTAR_avflags=""	
	for x in $(echo "$Avtarflags")
	do
		MCCLI_avflags="$MCCLI_avflags --cmd=--$x"
		AVTAR_avflags="$AVTAR_avflags --$x"
	done
}

shptflags_rtn()
{
#	This routine no longer required.
        SHPT_flags=""
        for x in $(echo "$Shptflags")
        do
                SHPT_flags="$SHPT_flags --$x"
        done
}

init_config_rtn()
{
#	clear
	if [ "$2" != "manager" -a "$2" != "refresh" -a "$2" != "stats" ]
	then
		echo "==================< Client Configuration >================="	
		echo "$BLUE_BG Client Cfg Filename: $CFG$DEF"
		echo "===========================================================\n"	
		linex=`grep -n "^" $CFG | sed -n "s/:/ /"p | grep "# \*\*\*\*\*\*\*" | tail -1 | awk '{print $1}'`
		echo "$CYAN_FG$BOLD 1. Group-ID      6.  Policy-Grp-Name     11. ExportBU-Script         16. Dest-Path Suffix"
		echo " 2. Start-Date    7.  Retention-Tag       12. Regular-TPolicy         17. Include-Folder(s)"
		echo " 3. End-Date      8.  Exclude-Folder(s)   13. Yearly-TPolicy          18. Incremental Delete"
		echo " 4. Domain        9.  Selection O/P File  14. Srv-Initiated-TPolicy"
		echo " 5. Client        10. Destination-Dir     15. SSrv-Type$DEF\n"
		echo "\n====================================================================================================================================="	
	fi
	if [ "$2" != "parse" -a "$2" != "add" -a "$2" != "update" -a "$2" != "add_v" -a "$2" != "manager"  -a "$2" != "refresh" -a "$2" != "stats" ]
	then
		client_err=0; domain_err=0; move_err=0; disablecnt=0
		linemax=`wc -l $CFG | awk '{print $1}'`; c="$RED_FG,$DEF+"; incdel=0; select=0; clients=0
		rm -f $TMP_PATH/pathscfg.tmp $TMP_PATH/groupscfg.tmp $TMP_PATH/clientscfg.tmp >/dev/null 2>&1
		while true
		do
			if [ "$linex" -lt "$linemax" ]; then linex=`expr $linex + 1`; else break; fi
			if [ "$2" = "hide" ]
			then
				hide=1; arg2=""
			else
				hide=0; arg2=$2
			fi
			if [ "$arg2" != "" ]
			then
				line=`sed -n "$linex,$linex"p $CFG | egrep "^$2,|^#DISABLED $2,"`
			else
				line=`sed -n "$linex,$linex"p $CFG`
			fi
			if [ `echo "$line" | grep -c "^#DISABLED $arg2"` -eq "0" ]
			then
				if [ `echo "$line" | grep -c "^$arg2"` -eq "0" -o `echo "$line" | grep -c "^##"` -gt "0" ]; then continue; fi
			else
				disablecnt=`expr $disablecnt + 1`
			fi
			if [ `echo "$line" | grep -c "^# sample"` -gt "0" ]
			then
				lineout=`echo "$BLUE_FG$line$DEF"`
				if [ "$hide" -eq "0" ]; then echo "$lineout"; fi
				elif [ `echo "$line" | grep -c "^#DISABLED"` -gt "0" ]
				then
					lineout=`echo "$RED_FG$line$DEF"`
					if [ "$hide" -eq "0" ]; then echo "$lineout"; fi
				elif [ `echo "$line" | grep -c "^#"` -gt "0" ]
				then
					if [ `echo "$line" | grep -c "^# "` -gt "0" ]
					then
						lineout=`echo "$GREEN_FG$line$DEF"`
						if [ "$hide" -eq "0" ]; then echo "$lineout"; fi
					else continue; fi
				else
					f1=`echo "$line" | awk -F, '{print $1}'`; f2=`echo "$line" | awk -F, '{print $2}'`; f3=`echo "$line" | awk -F, '{print $3}'`
					f4=`echo "$line" | awk -F, '{print $4}'`; f5=`echo "$line" | awk -F, '{print $5}'`; f6=`echo "$line" | awk -F, '{print $6}'`
					f7=`echo "$line" | awk -F, '{print $7}'`; f8=`echo "$line" | awk -F, '{print $8}'`; f9=`echo "$line" | awk -F, '{print $9}'`
					f10=`echo "$line" | awk -F, '{print $10}'`; f11=`echo "$line" | awk -F, '{print $11}'`; f12=`echo "$line" | awk -F, '{print $12}'`
					f13=`echo "$line" | awk -F, '{print $13}'`; f14=`echo "$line" | awk -F, '{print $14}'`; f15=`echo "$line" | awk -F, '{print $15}'`
					f16=`echo "$line" | awk -F, '{print $16}'`; f17=`echo "$line" | awk -F, '{print $17}'`; f18=`echo "$line" | awk -F, '{print $18}'`
					if [ "$f1" != "" ]
					then
						f1_="$CYAN_FG$f1$DEF+"
						echo "$f1" >> $TMP_PATH/groupscfg.tmp; clients=`expr $clients + 1`
					else
						f1_=$f1
					fi

					if [ $(grep -c "^$f5 " $TMP_PATH/.input.dat1.discover) -gt "0" -a "$(grep -c ",$F5" $TMP_PATH/.vmqualifiednames.dat)" -gt "0" ]
					then
						if [ $(grep "^$f5 " $TMP_PATH/.input.dat1.discover | grep -c "$f4 ") -eq "0" ]
						then
							move_err=$(expr $move_err + 1); f5_="$RED_BG$YELLOW_FG$f5$DEF+"; f4_="$RED_BG$YELLOW_FG$f4$DEF+"
						else
							f4_="$CYAN_FG$f4$DEF+"; f5_="$CYAN_FG$f5$DEF+"
						fi
					else
						f4_="$CYAN_FG$f4$DEF+"; f5_="$CYAN_FG$f5$DEF+"
					fi
					if [ "$(grep -c "$f5" $TMP_PATH/.input.dat1.discover)" -eq "0" -a "$(grep -c "$f5" $TMP_PATH/.vmqualifiednames.dat)" -eq "0" ]
					then
						f5_="$RED_FG$f5$DEF+"; client_err=$(expr $client_err + 1)
					fi

					if [ `grep -c "$f4" $TMP_PATH/.input.dat1.discover` -eq "0" ]
					then
						f4_="$RED_FG$f4$DEF+"; domain_err=$(expr $domain_err + 1)
					fi
					
					if [ "$f5" != "" ];then echo "$f5" >> $TMP_PATH/clientscfg.tmp; fi
					if [ "$f6" != "n/a" ]
					then
						f6_="$CYAN_FG$f6$DEF+"; select=`expr $select + 1`
					else
						f6_=$f6
					fi
					if [ "$f7" != "n/a" ]
					then
						f7_="$CYAN_FG$f7$DEF+"; select=`expr $select + 1`
					else
						f7_=$f7
					fi
					if [ "$f8" != "n/a" ]
					then
						f8_="$CYAN_FG$f8$DEF+"; select=`expr $select + 1`
					else
						f8_=$f8
					fi
					if [ "$f10" != "" ]
					then
						f10_="$CYAN_FG$f10$DEF+"
						echo "$f10" >> $TMP_PATH/pathscfg.tmp
					else
						f10_=$f10
					fi
					if [ "$f16" != "n/a" ]; then f16_="$CYAN_FG$f16$DEF+"; else f16_=$f16; fi
					if [ "$f17" != "n/a" ]
					then
						f17_="$CYAN_FG$f17$DEF+"; select=`expr $select + 1`
					else
						f17_=$f17
					fi
					if [ "$f18" = "INCDEL" ]
					then
						f18_="$RED_BG$CYAN_FG$f18$DEF+"; incdel=`expr $incdel + 1`
					else
						f18_=$f18
					fi
					echo "$f1_$c$f2$c$f3$c$f4_$c$f5_$c$f6_$c$f7_$c$f8_$c$f9$c$f10_$c$f11$c$f12$c$f13$c$f14$c$f15$c$f16_$c$f17_$c$f18_"| sed -n "s/+//"gp
					fi
		done
		groups=`sort -u $TMP_PATH/groupscfg.tmp 2>/dev/null | wc -l | awk '{print $1}'`
		paths=`sort -u $TMP_PATH/pathscfg.tmp 2>/dev/null | wc -l | awk '{print $1}'`
		uclients=`sort -u $TMP_PATH/clientscfg.tmp 2>/dev/null | wc -l | awk '{print $1}'`
		rm -f $TMP_PATH/pathscfg.tmp $TMP_PATH/groupscfg.tmp $TMP_PATH/clientscfg.tmp >/dev/null 2>&1
		echo "\n$BLUE_BG$WHITE_FG CONFIGURATION SUMMARY: Clients=$clients Unique-Clients=$uclients Disabled-Clients=$disablecnt Groups=$groups Staging-Paths=$paths Select-Files-Only=$select Inc-Delete=$incdel$DEF"

		dupcountx=0; rm $TMP_PATH/.duplicatedclients >/dev/null 2>&1
		clientlist="$(cat $CFG | grep -v "#" | grep . | awk -F, '{print $5}' | sort -u)"
		for x in $clientlist
		do
			grouplist="$(grep ",$x," $CFG | awk -F, '{print $1,$4,$5}')" 
			countx="$(echo "$grouplist" | wc -l | awk '{print $1}')"
			if [ "$countx" -gt "1" ];then echo -e "$grouplist" >> $TMP_PATH/.duplicatedclients; fi
		done
		if [ -s $TMP_PATH/.duplicatedclients ];then dupcountx="$(cat $TMP_PATH/.duplicatedclients | sort -u | wc -l | awk '{print $1}')"; fi

		if [ "$client_err" -gt "0" -o "$domain_err" -gt "0" -o "$move_err" -gt "0" -o "$dupcountx" -gt "0" ]
		then
			echo "      $RED_BG$WHITE_FG ERRORS-DETECTED: Domain-Invalid=$domain_err Client-Invalid=$client_err Domain-Client-Moved=$move_err Duplicate-Client-Entries=$dupcountx$DEF"
			if [ "$dupcountx" -gt "0" ]
			then
				echo "\n$RED_BG$WHITE_FG Duplicate Client Entries: $DEF\n"
				cat $TMP_PATH/.duplicatedclients | sort -u
			fi
		fi
		elif [ "$2" = "parse" ]
		then
			parse_rtn $Cfg	
		elif [ "$2" = "refresh" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then return; fi
			echo "Discovering Avamar Domains, please wait..."
			domain_discover_rtn
			vmdiscover_rtn
 			cp $TMP_PATH/input.dat1 $TMP_PATH/.input.dat1.discover >/dev/null 2>&1
		elif [ "$2" = "update" ]
		then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then return; fi
			$MYEDITOR $CFG	
		elif [ "$2" = "add" ]
                then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then return; fi
			add_v=0;  add_rtn $2 
		elif [ "$2" = "manager" ]
                then
			session_lock_rtn2 block; if [ "$?" -eq "1" ];then return; fi
			Manager=1; add_v=0; add_rtn $2
		elif [ "$2" = "add_v" ]
                then
			add_v=1;  add_rtn $2
		elif [ "$2" = "stats" ]
                then
#			Jobreport=0
			if [ "$3" = "noprompt" ]
			then
				Prompt="noprompt"; bumail_flg=1
			fi 
			if [ "$3" = "nomail" ]
			then
				Prompt="nomail"; bumail_flg=0
			fi
			gather_stats_rtn
			exit
		else
			sed -n "$linex,9999"p $CFG | grep "^$2," | more
		fi
}

gather_stats_rtn()
{

	stdjobcnt=0; batjobcnt=0; stdjoblist=""; batchjoblist=""; grpcnt=0; clicnt=0; domcnt=0; exppolcnt=0; expeoycnt=0; expsrvcnt=0; wincli=0; unixcli=0
	startdate=0; starttime=0; enddate=0; endtime=0;

	if [ "$Jobreport" -ne "2" ]
	then 
		echo "\n Gathering client/group properties & job stats information..."
		STATS="$BULOCATION/stats/adme-property-stats.csv"
		JOBSTATS="$BULOCATION/stats/adme-JobStats.csv"
		rm $TMP_PATH/jobinfo.tmp $JOBSTATS $STATS >/dev/null 2>&1
	fi

	ClientFile="$CFG"
	MINISTATS="$BULOCATION/jobstats/adme-property-stats.csv"
	JOBINDIVIDUAL="$BULOCATION/jobstats/jobindividual.log"

	if [ "$1" = "force" ];then FORCE="$1"; fi

	if [ "$Jobreport" -eq "1" ]
	then
		jbrpt=0
		JOBREPORT="$BULOCATION/jobstats/jobactivity.csv"
		if [ ! -s $JOBREPORT ];then FORCE="force"; fi
		if [ "$(grep -c "^WEBUI_REFRESHTYPE2=full" $BULOCATION/customize/webui.txt)" -eq "1" ]
		then
			if [ "$FORCE" = "force" ];then rm $JOBREPORT $BULOCATION/jobstats/.jobactivity.tmp >/dev/null 2>&1; fi
			jbrpt=1
		fi
		
	elif [ "$Jobreport" -eq "2"  ]; then JOBREPORT="$BULOCATION/jobstats/jobhistory.csv"

	else JOBREPORT="$BULOCATION/jobstats/jobactivity.csv"; fi

	if [ "$Jobreport" -eq "0" -o "$Jobreport" -eq "3" ]
	then
		rundate="$(date)"
		hostname="$(hostname)"
		grep -v "^#" $ClientFile | grep -v "^$" | sort -k 1 > $TMP_PATH/atoclient-filtered.tmp1
		grpcnt="$(awk -F, '{print $1}' $TMP_PATH/atoclient-filtered.tmp1 | sort -u | wc -l | awk '{print $1}')"
		domcnt="$(awk -F, '{print $4}' $TMP_PATH/atoclient-filtered.tmp1 | sort -u | wc -l | awk '{print $1}')"
		clicnt="$(awk -F, '{print $5}' $TMP_PATH/atoclient-filtered.tmp1 | sort -u | wc -l | awk '{print $1}')"
		exppolcnt="$(awk -F, '{print $12}' $TMP_PATH/atoclient-filtered.tmp1 | grep -v "n/a" | sort -u | wc -l | awk '{print $1}')"
		expeoycnt="$(awk -F, '{print $13}' $TMP_PATH/atoclient-filtered.tmp1 | grep -v "n/a" | sort -u | wc -l | awk '{print $1}')"
		expsrvcnt="$(awk -F, '{print $14}' $TMP_PATH/atoclient-filtered.tmp1 | grep -v "n/a" | sort -u | wc -l | awk '{print $1}')"
		wincli="$(awk -F, '{print $5,$15}' $TMP_PATH/atoclient-filtered.tmp1 | sort -u | awk '{print $2}' | grep -c "WINDOWS")"
		unixcli="$(awk -F, '{print $5,$15}' $TMP_PATH/atoclient-filtered.tmp1 | sort -u | awk '{print $2}' | grep -c "UNIX")"
		envscnt="$(ls -rtl $BULOCATION/etc/atoenv.cfg* | wc -l | awk '{print $1}')"
		awk -F, '{print $1","$4","$5","$6","$7","$8","$17","$10", "$12", "$13", "$14","$15","}' $TMP_PATH/atoclient-filtered.tmp1 | sort -k 1 > $TMP_PATH/atoclient-filtered.tmp2

		counters="$(awk -F, '{print $25,$26,$27,$28,$29,$30,$31,$32}' $BULOCATION/jobstats/jobactivity.csv 2>/dev/null)"

		success_total=1
		for x in $(echo "$counters" | awk '{print $2}')
		do
			success_total="$(expr $success_total + $x)"
		done
		if [ "$success_total" -gt "1" ];then success_total="$(expr $success_total - 1)"; fi
		stagingfail_total=0
		for x in $(echo "$counters" | awk '{print $5}')
		do
			stagingfail_total="$(expr $stagingfail_total + $x)"
		done
		exportfail_total=0
		for x in $(echo "$counters" | awk '{print $6}')
		do
			exportfail_total="$(expr $exportfail_total + $x)"
		done
		cancels_total=0
		for x in $(echo "$counters" | awk '{print $7}')
		do
			cancels_total="$(expr $cancels_total + $x)"
		done
			envlock_total=0
		for x in $(echo "$counters" | awk '{print $8}')
		do
			envlock_total="$(expr $envlock_total + $x)"
		done

		auditrecordcnt="$(wc -l $BULOCATION/audit/.adme-audit.csv | awk '{print $1}')"
		auditstagingsucceeded="$(grep -c "^Staging-Succeeded"  $BULOCATION/audit/.adme-audit.csv)"
		auditstagingfailed="$(grep -c "^Staging-Failed"  $BULOCATION/audit/.adme-audit.csv)"
		auditexportfailed="$(grep -c "^Export-Failed"  $BULOCATION/audit/.adme-audit.csv)"
		auditexportsucceeded="$(grep -c "^Export-Succeeded"  $BULOCATION/audit/.adme-audit.csv)"
		auditsourceclientcnt="$(awk -F, '{print $7}' $BULOCATION/audit/.adme-audit.csv | sort -u | wc -l | awk '{print $1}')"
		auditssequencecnt="$(awk -F, '{print $30}' $BULOCATION/audit/.adme-audit.csv | sort -u | wc -l | awk '{print $1}')"
		auditsstageonlycnt="$(awk -F, '{print $12}' $BULOCATION/audit/.adme-audit.csv | grep -c "StgOnly=1")"

		systeminfo="Hostname: $hostname,Date: $rundate,ADMe $Version,Avamar-Version: $($HOMEPATH/avtar --version | grep "version:" | head -1 | awk '{print $2}') "
#		echo "$grpcnt,$domcnt,$clicnt,$exppolcnt,$expeoycnt,$expsrvcnt,$wincli,$unixcli,$envscnt, $systeminfo,$success_total,$stagingfail_total,$exportfail_total,$cancels_total,$envlock_total,$auditrecordcnt,$auditstagingsucceeded,$auditstagingfailed,$auditexportfailed,$auditexportsucceeded,$auditsourceclientcnt,$auditssequencecnt,$auditsstageonlycnt" > $MINISTATS	
		echo "$grpcnt,$domcnt,$clicnt,$exppolcnt,$expeoycnt,$expsrvcnt,$wincli,$unixcli,$envscnt, $systeminfo,$success_total,$stagingfail_total,$exportfail_total,$cancels_total,$envlock_total,$auditrecordcnt,$auditstagingsucceeded,$auditstagingfailed,$auditexportfailed,$auditexportsucceeded,$auditsourceclientcnt,$auditssequencecnt,$auditsstageonlycnt,ADMe Home-Page: $WEBLINK" > $MINISTATS	
		if [ "$Jobreport" -eq "3" ];then return 0; fi
	fi

	joblist="$(ls -rtl $BULOCATION/etc/admbatch-*.cfg | awk '{print $NF}' | sort -u)"
	batchjoblist=""
	for x in $joblist
	do
      		if [ "$(grep -c "FAIL ACTION" $x)" -ne "0" ]
       		then
               		batchjoblist="$batchjoblist $x"
               		batjobcnt="$(expr $batjobcnt + 1)"
       		fi
	done

	if [ "$Jobreport" -eq "0" -o "$FORCE" = "force" ]
	then
		joblist="$(ls -rtl $BULOCATION/etc/admbatch-*.cfg | awk '{print $NF}' | sort -u)"

		batchjoblist=""
		for x in $joblist
		do
        		if [ "$(grep -c "Base_Group_Name:=" $x)" -ne "0" ]
        		then
                		stdjoblist="$stdjoblist $x"
                		stdjobcnt="$(expr $stdjobcnt + 1)"
        		elif [ "$(grep -c "FAIL ACTION" $x)" -ne "0" ]
        		then
                		batchjoblist="$batchjoblist $x"
                		batjobcnt="$(expr $batjobcnt + 1)"
        		fi
		done

		for j in $stdjoblist
		do
			jshort="$(echo "$j" | awk -F/ '{print $NF}')"
			if [ -s $BULOCATION/jobstats/.activity-inc.txt ]
			then
				if [ "$(grep -c "^$jshort ENDED" $BULOCATION/jobstats/.activity-inc.txt)" -ne "0" ]
				then
					grep -v "^$jshort" $BULOCATION/jobstats/.activity-inc.txt >> $BULOCATION/jobstats/.activity-inc.tmp
					mv $BULOCATION/jobstats/.activity-inc.tmp $BULOCATION/jobstats/.activity-inc.txt
				fi
			fi
		done

 		if [ -f /tmp/policyrefresh ];then rm $JOBREPORT /tmp/policyrefresh >/dev/null 2>&1; fi
		if [ "$(grep -c "WEBUI_REFRESHTYPE=full" $BULOCATION/customize/webui.txt)" -ne "0" ];then rm $JOBREPORT >/dev/null 2>&1; fi
		rm $BULOCATION/jobstats/jobactivity.csv3 >/dev/null 2>&1
		
		if [ -s $JOBREPORT ]
		then
			JOBREPORT="$BULOCATION/jobstats/jobactivity.csv"
			grep ",RUNNING," $BULOCATION/jobstats/jobactivity.csv | awk -F, '{print $1}' > $BULOCATION/jobstats/jobactivity.csv3
  			if [ -s $BULOCATION/jobstats/jobactivity.csv3 ]
			then
				grep -v ",RUNNING," $JOBREPORT > $BULOCATION/jobstats/jobactivity.csv2
				mv $BULOCATION/jobstats/jobactivity.csv2 $JOBREPORT

				stdjoblist=""
				for r in $(cat $BULOCATION/jobstats/jobactivity.csv3)
				do
					stdjoblist="$stdjoblist $BULOCATION/etc/admbatch-$r.cfg "
				done
			fi
		else
			stdjoblist="$stdjoblist"
		fi
#		echo "FORCE JOBLIST - stdjoblist=$stdjoblist"

	elif [ "$Jobreport" -eq "1" ]
	then
		if [ -s $BULOCATION/jobstats/.activity-inc.txt ];then stdjoblist="$(awk '{print $1}' $BULOCATION/jobstats/.activity-inc.txt | sort -u)"; fi
		stdjoblist_=""
		for j in $stdjoblist
		do
			jshort="$(echo "$j" | awk -F/ '{print $NF}')"
			if [ -s $BULOCATION/jobstats/.activity-inc.txt ]
			then
				if [ "$(grep -c "^$jshort ENDED" $BULOCATION/jobstats/.activity-inc.txt)" -ne "0" ]
				then
					grep -v "^$jshort" $BULOCATION/jobstats/.activity-inc.txt >> $BULOCATION/jobstats/.activity-inc.tmp
					mv $BULOCATION/jobstats/.activity-inc.tmp $BULOCATION/jobstats/.activity-inc.txt
				fi
			fi
			stdjoblist_="$stdjoblist_|^$j,"
		done
		rm $BULOCATION/jobstats/.jobactivity.tmp $BULOCATION/jobstats/.jobactivity.tmp1 $BULOCATION/jobstats/.jobactivity.tmp2 >/dev/null 2>&1
		stdjoblist_="$(echo "$stdjoblist_" | cut -b 2-999 | sed -n "s/admbatch-//"gp | sed -n "s/.cfg//"gp)"

 		if [ -f /tmp/policyrefresh ]
		then
			rm $JOBREPORT /tmp/policyrefresh >/dev/null 2>&1
			joblist="$(ls -rtl $BULOCATION/etc/admbatch-*.cfg | awk '{print $NF}' | sort -u)"
			batchjoblist=""
			for x in $joblist
			do
       		 		if [ "$(grep -c "Base_Group_Name:=" $x)" -ne "0" ]
       		 		then
       		         		stdjoblist="$stdjoblist $x"
       		         		stdjobcnt="$(expr $stdjobcnt + 1)"
       		 		elif [ "$(grep -c "FAIL ACTION" $x)" -ne "0" ]
        			then
               		 		batchjoblist="$batchjoblist $x"
                			batjobcnt="$(expr $batjobcnt + 1)"
        			fi
			done
		elif [ "$stdjoblist_" != "" ]
		then
			egrep -v "$stdjoblist_" $JOBREPORT > $BULOCATION/jobstats/.jobactivity.tmp1
			mv $BULOCATION/jobstats/.jobactivity.tmp1 $JOBREPORT
		else
			mv $JOBREPORT $BULOCATION/jobstats/.jobactivity.tmp1
			sort -u $BULOCATION/jobstats/.jobactivity.tmp1 > $JOBREPORT
		fi

		stdjoblist_=""
		for j in $stdjoblist
		do
			stdjoblist_="$stdjoblist_$BULOCATION/etc/$j "
		done
		stdjoblist="$stdjoblist_"
		echo "PARTIAL JOBLIST - stdjoblist_=$stdjoblist_"

	elif [ "$Jobreport" -eq "2" ]
	then
		if [ "$1" != "" ];then stdjoblist="$1"; else return 1; fi
	fi

#	echo "Job Process Collection Loop - stdjoblist=$stdjoblist"

	for x in $stdjoblist
	do
        	jlog_="$(echo "$x" | sed -n "s/.cfg/.log/"p)"
        	jlog="$(echo "$jlog_" | sed -n "s/etc/log/"p)"
		jlog_save="$jlog"


        	if [ -s $jlog ]
        	then
			success=0; exception=0; stage_exception_=0; stage_exception=0; select_exception_=0; select_exception=0; cancelled=0; env_locks=0; execution=0; tapeerr_=0; tapeerr=0
			error_message="n/a"

                	success="$(egrep -c "ATO-BATCH-SUCCEEDED|ADME-BATCH-SUCCEEDED" $jlog)"
                	exception="$(egrep "ATO-BATCH-FAILURE|ADME-BATCH-FAILURE" $jlog | grep -c "Staging-Exceptions")"
                	stage_exception_="$(grep -c "ERROR-10" $jlog)"
			if [ "$stage_exception_" -gt "1" ];then  stage_exception="$(expr $stage_exception_ \/ 2)"; fi
                	select_exception_="$(grep -c "ERROR-04" $jlog)"
			if [ "$select_exception_" -gt "1" ];then select_exception="$(expr $select_exception_ \/ 2)"; fi
                	cancelled="$(egrep "ATO-BATCH-FAILURE|ADME-BATCH-FAILURE" $jlog | grep -c "cancelled by user")"
                	env_locks="$(egrep "ATO-BATCH-FAILURE|ADME-BATCH-FAILURE" $jlog | grep -c "is currently locked by")"
                	execution="$(grep -c "^BATCHPID=" $jlog)"
                	tapeerr_="$(egrep -c "_BACKUP_NOTOK|ERROR-50" $jlog)"
			if [ "$tapeerr_" -gt "1" ];then tapeerr="$(expr $tapeerr_ \/ 2)"; fi

 	 		if [ "$Jobreport" -eq "2" ];then jlog="$JOBINDIVIDUAL"; fi

			tail -35 $jlog | egrep "cancelled by user|ERROR-06|ERROR-10|ERROR-04|ERROR-11|ERROR-50|ERROR-12|ERROR-06|ERROR-05" |  sed -r "s:\x1B\[[0-9;]*[mK]::g" | sort -u | grep -n . | sed -n "s/:/: /"p > $TMP_PATH/error_message.tmp
			if [ -s $TMP_PATH/error_message.tmp ]
			then
				lastmessage="$(wc -l $TMP_PATH/error_message.tmp | awk '{print $1}')"
				error_message=""; firstmessage="1"; error_messagex=""
				while true
				do
					error_messagex="$(sed -n "$firstmessage,$firstmessage"p $TMP_PATH/error_message.tmp)"
					if [ "$(echo "$error_messagex" | grep -c "," )" -ne "0" ];then  error_messagex="$(echo "$error_messagex" | sed -n "s/,/ /"gp)"; fi
					if [ "$(echo "$error_messagex" | grep -c "\\r" )" -ne "0" ];then  error_messagex="$(echo "$error_messagex" | sed -n "s/\\r//"gp)"; fi
					error_message="$error_message $error_messagex"
					firstmessage="$(expr $firstmessage + 1)"
					if [ "$firstmessage" -gt "$lastmessage" ];then break; fi
				done
			else
				error_message="n/a"
			fi
			rm $TMP_PATH/error_message.tmp >/dev/null 2>&1
			
			failer=0
                	failed="$(expr $stage_exception + $select_exception )"
                	failed="$(expr $failed + $env_locks )"
                	failed="$(expr $failed + $tapeerr )"

			last_status_="$(tail -1 $jlog | egrep "BATCH-SUCCEEDED|BATCH-FAILURE")"
			if [ "$(echo "$last_status_" | grep -c "BATCH-SUCCEEDED")" -eq "1" ];then last_status="SUCCEEDED"
			elif [ "$(echo "$last_status_" | grep -c "BATCH-FAILURE")" -eq "1" -a "$(echo "$last_status_" | grep -c "Staging-Exceptions")" -eq "1" ];then last_status="EXCEPTIONS"
			elif [ "$(echo "$last_status_" | grep -c "BATCH-FAILURE")" -eq "1" -a "$(echo "$last_status_" | grep -c "cancelled by user")" -eq "1" ];then last_status="CANCELLED"
			elif [ "$(echo "$last_status_" | egrep -c "BATCH-FAILURE|BATCH-SUCCEEDED|cancelled by user")" -eq "0" ]
			then
				last_status="RUNNING"
			elif [ "$(echo "$last_status_" | grep -c "BATCH-FAILURE")" -eq "1" ];then last_status="FAILURE"; fi

			jobnamex="$(echo "$jlog" | awk -F/ '{print $NF}' | sed -n "s/.log/-cancel.lck/"gp)"
			if [ -s /tmp/$jobnamex ]
			then
				chkfirst="$(grep -n "^BATCHPID=" $jlog | tail -1 | sed -n "s/:/ /"gp | awk '{print $1}')"
				chklast="$(wc -l $jlog | awk '{print $1}')"
				if [ "$(sed -n "$chkfirst,$chklast"p $jlog | egrep -c "^CANCEL OPERATION")" -ne "0" ];then last_status="Cancelling"; fi
			fi

			endline="$(tail -1 $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | sed -n "s/Start-Time:/~/"gp | awk -F~ '{print $2}' | sed -n "s/End-Time://"gp | sed -n "s/Env#://"gp)"
#			size_stat="$(tail -60 $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep "Total Backup Size:" | tail -1)"
			size_stat="$(tail -100 $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep "Total Backup Size:" | tail -1)"

			endline2="$(tail -1 $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g")"
			last_error=""
			metadata_startline="$(egrep -n "^BATCHPID=" $jlog | tail -1 | sed -n "s/:/ /"gp | awk '{print $1}')"
			metadata_lastline="$(wc -l $jlog | awk '{print $1}')"
			if [ "$(sed -n "$metadata_startline,$metadata_lastline"p $jlog | egrep -c "JOB - SUMMARY| BATCH - SUMMARY")" -ne "0" ]
			then
				metadata_summaryline="$(egrep -n "JOB - SUMMARY|BATCH - SUMMARY" $jlog | tail -1 | sed -n "s/:/ /"gp | awk '{print $1}')"

#				metadata_summaryline="$(sed -n "$metadata_startline,$metadata_lastline"p $jlog | egrep -n "JOB - SUMMARY|BATCH - SUMMARY" | tail -1 | sed -n "s/:/ /"gp 2>/dev/null | awk '{print $1}')"
			else
				metadata_summaryline="$metadata_startline"
			fi 
			metadata="$metadata_startline,$metadata_summaryline,$metadata_lastline"

			if [ "$Jobreport" -eq "2" ];then jlog="$jlog_save"; fi

			if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | grep "Final-Stage-Result" | tail -1 | egrep -c "Ok|Success|Skipped|Total")" -ne "0" ]
			then
				last_stats="$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | grep "Final-Stage-Result" | tail -1 | awk '{print $(NF - 3), $(NF - 2), $(NF - 1), $NF}')"
				last_success="$(echo "$last_stats" | awk -F= '{print $2}' | awk '{print $1}')"
				last_skipped="$(echo "$last_stats" | awk -F= '{print $3}' | awk '{print $1}' | sed -n "s/-//"p)"
				if [ "$last_skipped" -eq "" ];then last_skipped="0"; fi
				last_error="$(echo "$last_stats" | awk -F= '{print $4}' | awk '{print $1}')"
				last_total="$(echo "$last_stats" | awk -F= '{print $5}' | awk '{print $1}')"
				last_stats="$last_success,$last_skipped,$last_error,$last_total"
			else
				last_stats="0,0,0,0"
			fi

			if [ "$Jobreport" -eq "2" ];then jlog="$JOBINDIVIDUAL"; else jlog="$jlog_save"; fi
			buproduct="n/a"; nwkssid="0"; nwkbulevel="n/a"; nwkstartdate="0"; nwkstarttime="00:00"; nwkenddate="0"; nwkendtime="00:00"; nwkbrowse="0"; nwkretention="0"
			
			fromline="$(grep -n "^BATCHPID=" $jlog | tail -1 | sed -n "s/:/ /"p | awk '{print $1}')"
			nwk1="$(grep -n "Networker-Backup-Report" $jlog | sed -n "s/:/ /"p |tail -1 | awk '{print $1}')"
			if [ "$nwk1" -lt "$fromline" ];then nwk1="0"; fi
			nwk2="$(grep -n "Networker-Media-Report" $jlog | sed -n "s/:/ /"p |tail -1 | awk '{print $1}')"
			if [ "$nwk2" -lt "$fromline" ];then nwk2="0"; fi

			if [ "$(echo "$nwk1" | grep -c "====")" -ne "0" ];then nwk1=""; fi
			if [ "$nwk1" -gt "0" -a "$last_status" != "RUNNING" -a "$last_status" != "CANCELLED" ]
			then
				nwkline1="$(expr $nwk1 + 3)"
				nwkinfo1="$(sed -n "$nwkline1,$nwkline1"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g")"
				buproduct="Networker"
				nwkssid="$(echo "$nwkinfo1" | awk '{print $2}')"
				nwkbulevel="$(echo "$nwkinfo1" | awk '{print $4}')"
				nwkstartdate="$(echo "$nwkinfo1" |  awk '{print $5}' | awk -F/ '{print $2"/"$1"/"$3}')"
				nwkstarttime="$(echo "$nwkinfo1" |  awk '{print $6}' | awk -F: '{print $1":"$2}')"
				nwkenddate="$(echo "$nwkinfo1" |  awk '{print $7}'| awk -F/ '{print $2"/"$1"/"$3}')"
				nwkendtime="$(echo "$nwkinfo1" |  awk '{print $8}' | awk -F: '{print $1":"$2}')"
				nwkbrowse="$(echo "$nwkinfo1" |  awk '{print $9}' | awk -F/ '{print $2"/"$1"/"$3}')"
				nwkretention="$(echo "$nwkinfo1" |  awk '{print $10}' | awk -F/ '{print $2"/"$1"/"$3}')"
				if [ "$nwkenddate" = "/undefined/" ]
                                then
                                        nwkenddate="$nwkstartdate"; nwkendtime="$nwkstarttime"
                                        nwkbrowse="$(echo "$nwkinfo1" |  awk '{print $8}' | awk -F/ '{print $2"/"$1"/"$3}')"
                                        nwkretention="$(echo "$nwkinfo1" |  awk '{print $9}' | awk -F/ '{print $2"/"$1"/"$3}')"
                                        nwksize="$(echo "$nwkinfo1" |  awk '{print $10}')"
                                        nwfilecnt="$(echo "$nwkinfo1" |  awk '{print $11}')"
                                        nwgroup="$(echo "$nwkinfo1" |  awk '{print $12}')"
                                        nwpath="$(echo "$nwkinfo1" |  awk '{print $13}')"
                                        buproduct="Networker"
                                else
                                        nwksize="$(echo "$nwkinfo1" |  awk '{print $11}')"
                                        nwfilecnt="$(echo "$nwkinfo1" |  awk '{print $12}')"
                                        nwgroup="$(echo "$nwkinfo1" |  awk '{print $13}')"
                                        nwpath="$(echo "$nwkinfo1" |  awk '{print $14}')"
                                fi
                                buproduct="Networker"
			fi

			if [ "$nwk1" -eq "0" -o "$nwkssid" -eq "" -o "$last_status" = "RUNNING" -o "$last_status" = "CANCELLED"  ] 
			then
				enum_="$(grep "^Environment_Number:=" $x | head -1 | awk -F= '{print $2}')"
				if [ "$enum_" -eq "1" ];then enmumber=""; else enumber="$enum_"; fi
				bup_="$(grep "^BACKUPPRODUCT=" $BULOCATION/etc/atoenv.cfg$enumber | head -1 | awk -F= '{print $2}')"

				buproduct="$bup_"; nwkssid="0"; nwkbulevel="n/a"; nwkstartdate="0"; nwkstarttime="00:00"; nwkenddate="0"; nwkendtime="00:00"; nwkbrowse="0"; nwkretention="0"
				nwksize="0"; nwfilecnt="0"; nwgroup="n/a"; nwpath="n/a"; nwkpool="n/a"; nwkvol="n/a"; nwkbarcode="n/a"
			fi
				
			if [ "$nwkssid" -ne "" -a "$nwk2" -gt "0" -a "$nwk1" -gt "0" -a "$last_status" != "RUNNING" -a "$last_status" != "CANCELLED" ]
			then
				nwkline2="$(expr $nwk2 + 3)"
				nwkinfo2="$(sed -n "$nwkline2,$nwkline2"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g")"
#				nwkpool="$(echo "$nwkinfo2" | awk '{print $(NF - 1)}')"
				nwkpool="$(echo "$nwkinfo2" | awk '{print $6}')"
				nwkvol="$(echo "$nwkinfo2" | awk '{print $2}')"

				nwkbarcode="$(grep "UNIQUE-BARCODES:" $jlog | tail -1 | awk -FUNIQUE-BARCODES: '{print $2}')"
				if [ "$nwkbarcode" = "disk" -o  "$nwkbarcode" = "" ];then nwkbarcode="n/a"; fi
			fi

			if [ "$nwkpool" = "" -a "$last_status" != "RUNNING" -a "$last_status" != "CANCELLED" ]
			then 
				nwkpool="n/a"; nwkvol="n/a"; nwkbarcode="n/a" 
			fi

			exportmetadata="$buproduct,$nwkssid,$nwkbulevel,$nwkstartdate,$nwkstarttime,$nwkenddate,$nwkendtime,$nwkbrowse,$nwkretention,$nwksize,$nwfilecnt,$nwgroup,$nwpath,$nwkpool,$nwkvol,$nwkbarcode"
			if [ "$(echo "$exportmetadata" | grep -c "\\\\")" -ne "0" ]
			then
				exportmetadata_="$(echo "$exportmetadata" | sed -n "s/\\\/\//"gp)"
				exportmetadata="$exportmetadata_"
			fi

#			if [ "$Jobreport" -eq "2" ];then jlog="$JOBINDIVIDUAL"; else jlog="$jlog_save"; fi

                        if [ "$(echo "$endline2" | grep -c "Staging-Exceptions")" -ne "0" ]
                        then
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "ERROR-10|ERROR-05A|ERROR-09")" -ne "0" ];then last_error="$last_error Staging-Error"; fi
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "BACKUP_NOTOK|ERROR-11")" -ne "0" ];then last_error="Export-Error"; fi
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "ERROR-50")" -ne "0" ];then last_error="Purge-Error"; fi
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "ERROR-04B|ERROR-04A")" -ne "0" ];then last_error="$last_error Selection-Error"; fi
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "is currently locked by")" -ne "0" ];then last_error="$last_error Env-Locked"; fi
				if [ "$last_error" = "" ];then last_error="Undetermined";fi
                        elif [ "$(echo "$endline2" | grep -c "BATCH-FAILURE")" -ne "0" -a "$(echo "$endline" | grep -c "Staging-Exceptions")" -eq "0" ]
                        then
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "ERROR-10|ERROR-05A|ERROR-09")" -ne "0" ];then last_error="$last_error Staging-Error"; fi
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" |  egrep -c -e "BACKUP-NOTOK|ERROR-11")" -ne "0" ];then last_error="Export-Error"; fi
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "ERROR-06|ERROR-60|ERROR-11I")" -ne "0" ];then last_error="$last_error Usage-Error"; fi
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "ERROR-50")" -ne "0" ];then last_error="Purge-Error"; fi
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "cancelled by user")" -ne "0" ];then last_error="$last_error Cancelled"; fi
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "ERROR-04A")" -ne "0" ];then last_error="$last_error Selection-Error"; fi
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "ERROR-20")" -ne "0" ];then last_error="$last_error Syntax-Error"; fi
                                if [ "$(sed -n "$metadata_summaryline,$metadata_lastline"p $jlog | sed -r "s:\x1B\[[0-9;]*[mK]::g" | egrep -c -e "is currently locked by")" -ne "0" ];then last_error="$last_error Env-Locked"; fi
				if [ "$last_error" = "" ];then last_error="Undetermined";fi
                        else
                                last_error="None"
                        fi
 			if [ "$Jobreport" -eq "2" ];then jlog="$jlog_save"; fi
			
                        if [ "$(echo "$last_error" | grep -c "+")" -ne "0" ];then last_error="$(echo "$last_error" | sed -n "s/+//"p)"; fi

			if [ "$endline"	!= "" ]
			then
				if [ "$last_status" != "CANCELLED" ]
				then
					startdate="$(echo "$endline" | awk '{print $1}')"
					starttime="$(echo "$endline" | awk '{print $2}')"
					enddate="$(echo "$endline" | awk '{print $3}')"
					endtime="$(echo "$endline" | awk '{print $4}')"
				else
					startx="$sed -n "$metadata_startline,$metadata_lastline"p $jlog | grep "Session Started:" | head -1 | awk '{print $6,$7,$8,$10}')"
					startdate="aktest"
					starttime="$(echo "$startx" | awk '{print $3}' | awk -F: '{print $1":"$2}')"
					endx="$(ls --full-time $jlog | awk '{print $6,$7}')"
					enddate="$(echo "$endx" | awk '{print $1}' | sed -n "s/-/ /"gp | awk '{print $3"/"$2"/"$1}')"
					endtime="$(echo "$endx" | awk '{print $2}' | awk -F: '{print $1":"$2}')"
				fi


				backup_size_="$(echo "$size_stat" | awk -F: '{print $3}' | awk '{print $1}')"
				if [ "$backup_size_" -eq "" ];then backup_size_="0"; fi
				client_cnt="$(echo "$size_stat" | awk -F: '{print $4}' | awk '{print $1}')"
				if [ "$client_cnt" -eq "" ];then client_cnt="0"; fi
				backup_cnt="$(echo "$size_stat" | awk -F: '{print $5}' | awk '{print $1}')" 
				if [ "$backup_cnt" -eq "" ];then backup_cnt="0"; fi
			
				if [ "$(echo "$size_stat" | grep -c " KB")" -ne "0" ]
				then
					backup_unit="KB"
					backup_size="$backup_size_"
				elif [ "$(echo "$size_stat" | grep -c " GB")" -ne "0" ]
				then
					backup_unit="GB"
					if [ "$(echo "$backup_size_" | grep -c ".")" -ne "0" ]
					then
						backup_size="$(echo "$backup_size_" | sed -n "s/\.//"p)"
						backup_size="$(expr $backup_size \* 100000)"
					fi
				elif [ "$(echo "$size_stat" | grep -c " TB")" -ne "0" ]
				then
					backup_unit="TB"
					if [ "$(echo "$backup_size_" | grep -c ".")" -ne "0" ]
					then
						backup_size="$(echo "$backup_size_" | sed -n "s/\.//"p)"
						backup_size="$(expr $backup_size \* 100000000000)"
					fi
				else
					backup_unit="n/a"
					backup_size="0"
				fi

				elapsedtime="$(echo "$endline" | awk '{print $(NF - 1)}')"
				if [ "$(echo "$elapsedtime" | grep -c "Elapsed")" -eq "1" ]
				then
					elapsedtime="$(echo "$endline" | sed -n "s/Elapsed-Time://"gp | awk '{print $5}')"
				else
					elapsedtime="00:00"
				fi
				jobname="$(echo "$jlog" | awk -F/ '{print $NF}' | sed -n "s/.log//"gp | sed -n "s/admbatch-//"gp)"
			else

				jobname="$(echo "$jlog" | awk -F/ '{print $NF}' | sed -n "s/.log//"gp | sed -n "s/admbatch-//"gp)"
				if [ "$Jobreport" -ne "2" ]
				then
					if [ "$(grep "JOB Session Started:" $jlog | tail -1 | grep -c "JOB" )" -eq "1" ];then format="running"
					elif [ "$(tail -1 $jlog | grep -c "Start-Time:")" -eq "1" ];then format="new"
					elif [ "$(tail -1 $jlog | grep -c "Start-Time:" )" -eq "0" ];then format="old"; fi
#					else format="old"; fi
					cancel_format_rtn $format $jlog
				else
					if [ "$(tail -1 $JOBINDIVIDUAL | grep -c "Start-Time:")" -eq "1" ];then format="new"
					elif [ "$(tail -1 $JOBINDIVIDUAL | grep -c "Start-Time:")" -eq "0" ];then format="old"
					else format="old"; fi
					cancel_format_rtn $format $JOBINDIVIDUAL
				fi
				elapsedtime="00:00"
				client_cnt="0"
				backup_cnt="0"
				backup_size="0"
				backup_unit="n/a"
			fi
#			if [ "$runninginc" = "RUNNING" ];then elapsedtime="$epochhours:$epochmins"; fi

			if [ "$(grep -ce "^admbatch-$jobname.cfg RUNNING" $BULOCATION/jobstats/.activity-inc.txt)" -ne "0" ]
                        then
                        	epochstartdate="$(grep -e "^admbatch-$jobname.cfg RUNNING" $BULOCATION/jobstats/.activity-inc.txt | tail -1 | awk '{print $3}')"
                                edate="$(date +'%d/%m/%y %H:%M')"
                                epochenddate="$(date '+%s')"
                                epochdiff="$(expr $epochenddate - $epochstartdate)"

                                if [ "$epochdiff" -ge "3600" ];then epochhours="$(expr $epochdiff / 3600)"; else epochhours="00"; fi
                                epochmins="$(expr $epochdiff % 3600)"

                                if [ "$epochmins" -ge "60" ]
                                then
                                	epochmins="$(expr $epochmins / 60)"
                                        if [ "$epochmins" -le "9" ];then epochmins="0$epochmins"; fi
                                else
                                        epochmins="01"
                                fi
                                elapsedtime="$epochhours:$epochmins"
			fi

       			select="$(grep "^Select_Flags:=" $x | tail -1 | awk -F= '{print $2}')"
			if [ "$(echo "$select" | grep -c -e "-vmimage")" -ne "0" ];then pluginx="Vmimage"
			elif [ "$(echo "$select" | grep -c -e "-sql")" -ne "0" ];then pluginx="SQL"	
			elif [ "$(echo "$select" | grep -c -e"-sybase")" -ne "0" ];then pluginx="Sybase"	
			elif [ "$(echo "$select" | grep -c -e "-oracle")" -ne "0" ];then pluginx="Oracle"	
			elif [ "$(echo "$select" | grep -c -e "-chkpt")" -ne "0" ];then pluginx="CheckPoint"	
			elif [ "$(echo "$select" | grep -c -e "-exchdb")" -ne "0" ];then pluginx="ExchDB"	
			elif [ "$(echo "$select" | grep -c -e "-exchvss")" -ne "0" ];then pluginx="ExchVSS"	
			elif [ "$(echo "$select" | grep -c -e "-shptvss")" -ne "0" ];then pluginx="SharePoint"	
			elif [ "$(echo "$select" | grep -c -e "-hypervvss")" -ne "0" ];then pluginx="Hyper-V"	
			elif [ "$(echo "$select" | grep -c -e "-sap")" -ne "0" ];then pluginx="SAP"	
			elif [ "$(echo "$select" | grep -c -e "-ndmp")" -ne "0" ];then pluginx="NDMP"	
			elif [ "$(echo "$select" | grep -c -e "-lotus")" -ne "0" ];then pluginx="Lotus"	
			elif [ "$(echo "$select" | grep -c -e "-linuxfastinc")" -ne "0" ];then pluginx="LinuxFastInc"	
			elif  [ "$(echo "$select" | egrep -c -e "-vmimage|-sql|-sybase|-oracle|-chkpt|-exchdb|-exchvss|-shptvss|-hypervvss|-sap|-ndmp|-linuxfastinc|-lotus")" -eq "0" ];then pluginx="File-System"
			else pluginx="n/a"; fi

			if [ "$pluginx" = "" ];then pluginx="n/a"; fi
			jobname="$(echo "$jlog" | awk -F/ '{print $NF}' | sed -n "s/.log//"gp | sed -n "s/admbatch-//"gp)"
			grpname="$(grep "Base_Group_Name:=" $x | awk -F= '{print $2}')"
			if [ "$(echo "$backup_size" | grep -c "KB's")" -ne "0" ];then backup_size="$(echo "$backup_size" | sed -n "s/KB's/0/"gp)"; fi

			if [ "$Jobreport" -ne "2" ]
			then
        			select="$(grep "^Select_Flags:=" $x | head -1 | awk -F= '{print $2}')"
        			migrate="$(grep "^Migration_Flags:=" $x | head -1 | awk -F:= '{print $2}')"
			else
				select=""; migrate=""
				select="$(grep "BaseGroupName=" $JOBINDIVIDUAL | head -1 | awk -FSelection-Flags= '{print $2}' | awk -FMigration-Flags= '{print $1}')" 
				if [ "$select" = "" ];then select="$(grep "BaseGroupName=" $JOBINDIVIDUAL | head -1 | awk -FSelect-Filters= '{print $2}' | awk -FTapeout-Options= '{print $1}')"; fi
				migrate="$(grep "BaseGroupName=" $JOBINDIVIDUAL | head -1 | awk -FMigration-Flags= '{print $2}')"
				if [ "$migrate" = "" ];then migrate="$(grep "BaseGroupName=" $JOBINDIVIDUAL | head -1 | awk -FTapeout-Options= '{print $2}')"; fi
				if [ "$migrate" = "" ];then migrate="$(grep "BaseGroupName=" $JOBINDIVIDUAL | head -1 | awk -FMigration-Options= '{print $2}')"; fi
			fi

			if [ "$(echo "$migrate" | grep -c -e "-inc")" -eq "1" ];then staging_method="INCREMENTAL"; else staging_method="NON-INCREMENTAL"; fi
			if [ "$(echo "$migrate" | grep -c "archive pax")" -eq "1" ];then staging_method="ARCHIVE-PAX"; fi
			if [ "$(echo "$migrate" | grep -c "archive tar")" -eq "1" ];then staging_method="ARCHIVE-TAR"; fi

			enum="$(grep "^Environment_Number:=" $x | head -1 | awk -F= '{print $2}')"
       	 		if [ "$enum" -eq "1" ];then envnum=""; else envnum="$enum"; fi
        		gnam="$(grep "^Base_Group_Name:=" $x | head -1 | awk -F= '{print $2}')"
        		stageos="$(grep "^$gnam" $ClientFile | head -1 | awk -F, '{print $15}')"

			if [ "$Jobreport" -ne "2" ]
			then
				if [ -s $BULOCATION/etc/atoenv.cfg$envnum ]
				then
					if [ "$stageos" = "UNIX" ];then stagingserver="$(grep "^UNIXSS=" $BULOCATION/etc/atoenv.cfg$envnum | awk -F= '{print $2}')"
					elif [ "$stageos" = "WINDOWS" ];then stagingserver="$(grep "^WINDOWSS=" $BULOCATION/etc/atoenv.cfg$envnum | awk -F= '{print $2}')"
					else stagingserver="Undetermined"; fi
				else
					stagingserver="Undetermined"; enum="n/a"
				fi
			else
				stagingserver="$(grep "Staging-Server-Name:" $JOBINDIVIDUAL | head -1 | sed -r "s:\x1B\[[0-9;]*[mK]::g" | awk -FStaging-Server-Name: '{print $2}' | awk -FStaging-File-System-Count '{print $1}' | sed -n "s/ //"p )" 
 				stageos="$(grep "Staging-Server-Type:" $JOBINDIVIDUAL | head -1 | sed -r "s:\x1B\[[0-9;]*[mK]::g" | awk -FStaging-Server-Type: '{print $2}' | awk -FStaging-Server-Name: '{print $1}' | sed -n "s/ //"p )"
			fi

			batchx=""
        		for j in $batchjoblist
        		do
                		jobx="$(echo "$x" | awk -F/ '{print $NF}')"
                		if [ "$(grep -c "$jobx" $j)" -ne "0" ]
                		then
                        		batchx_="$(echo "$j" | awk -F/ '{print $NF}' | sed -n "s/admbatch-//"gp | sed -n "s/.cfg//"gp)"
					batchx="$batchx$batchx_+"
                		fi
        		done

			if [ "$batchx" != "" ]
			then
				batchx_="$(echo "$batchx" | sed -n "s/+/ /"gp)"
				batchx="$batchx_"
			fi
		else
			startx="$(ls --full-time $x | awk '{print $6,$7}')"
			startdate="$(echo "$startx" | awk '{print $1}' | sed -n "s/-/ /"gp | awk '{print $3"/"$2"/"$1}')"
			starttime="$(echo "$startx" | awk '{print $2}' | awk -F: '{print $1":"$2}')"
			enddate="$startdate"
			endtime="$starttime"
			jobname="$(echo "$jlog" | awk -F/ '{print $NF}' | sed -n "s/.log//"gp | sed -n "s/admbatch-//"gp)"
			last_status="NEVER-RUN"; last_error="None"; elapsedtime="00:00"; backup_size="0"; backup_unit="KB"; client_cnt="0"; backup_cnt="0"
			success="0"; failed="0"; select_exception="0"; stage_exception="0"; tapeerr="0"; cancelled="0"; env_locks="0"; error_message="n/a"
			select="$(grep "Select_Flags:=" $x | head -1 | awk -FFlags:= '{print $2}')"
			if [ "$(echo "$select" | grep -c -e "-vmimage")" -ne "0" ];then pluginx="Vmimage"
			elif [ "$(echo "$select" | grep -c -e "-sql")" -ne "0" ];then pluginx="SQL"	
			elif [ "$(echo "$select" | grep -c -e"-sybase")" -ne "0" ];then pluginx="Sybase"	
			elif [ "$(echo "$select" | grep -c -e "-oracle")" -ne "0" ];then pluginx="Oracle"	
			elif [ "$(echo "$select" | grep -c -e "-chkpt")" -ne "0" ];then pluginx="CheckPoint"	
			elif [ "$(echo "$select" | grep -c -e "-exchdb")" -ne "0" ];then pluginx="ExchDB"	
			elif [ "$(echo "$select" | grep -c -e "-exchvss")" -ne "0" ];then pluginx="ExchVSS"	
			elif [ "$(echo "$select" | grep -c -e "-shptvss")" -ne "0" ];then pluginx="SharePoint"	
			elif [ "$(echo "$select" | grep -c -e "-hypervvss")" -ne "0" ];then pluginx="Hyper-V"	
			elif [ "$(echo "$select" | grep -c -e "-sap")" -ne "0" ];then pluginx="SAP"	
			elif [ "$(echo "$select" | grep -c -e "-ndmp")" -ne "0" ];then pluginx="NDMP"	
			elif [ "$(echo "$select" | grep -c -e "-lotus")" -ne "0" ];then pluginx="Lotus"	
			elif [ "$(echo "$select" | grep -c -e "-linuxfastinc")" -ne "0" ];then pluginx="LinuxFastInc"	
			elif  [ "$(echo "$select" | egrep -c -e "-vmimage|-sql|-sybase|-oracle|-chkpt|-exchdb|-exchvss|-shptvss|-hypervvss|-sap|-ndmp|-linuxfastinc|-lotus")" -eq "0" ];then pluginx="File-System"
			else pluginx="n/a"; fi

			last_stats="0,0,0,0"
                        migrate="$(grep "Migration_Flags:=" $x | head -1 | awk -FFlags:= '{print $2}')"
			grpname="$(grep "Base_Group_Name:=" $x | awk -F= '{print $2}')"
			enum="$(grep "^Environment_Number:=" $x | head -1 | awk -F= '{print $2}')"
			execution=0; success=0; failed=0; select_exception=0; stage_exception=0; tapeerr=0; cancelled=0; env_locks=0; error_message=""
			exportmetadata="n/a,0,n/a,0,00:00,0,00:00,0,0,0,0,n/a,n/a,n/a,n/a,n/a"
			metadata="0,0,0"
			buproduct="n/a"; nwkssid="0"; nwkbulevel="n/a"; nwkstartdate="0"; nwkstarttime="00:00"; nwkenddate="0"; nwkendtime="00:00"; nwkbrowse="0"; nwkretention="0"
			stgtype="$(grep "^$grpname" $CFG | head -1 | awk -F, '{print $15}')"
			if [ "$enum" -eq "1" ];then envxnum=""; else envxnum="$enum"; fi
			if [ "$stgtype" = "WINDOWS" ]
			then
				stagingserver="$(grep "^WINDOWSS=" $BULOCATION/etc/atoenv.cfg$envxnum | head -1 | awk -F= '{print $2}')"
			else
				stagingserver="$(grep "^UNIXSS=" $BULOCATION/etc/atoenv.cfg$envxnum | head -1 | awk -F= '{print $2}')"
			fi
       		fi

		if [ "$(echo "$startdate" | grep -c "\-")" -ne "" ]
		then
			convyear="$(echo "$startdate" | awk -F- '{print $1}' | cut -b 3-4)"
			convsdate="$(echo "$startdate" | awk -F- '{print $3"/"$2"/"}')"
			sconvfinal="$convsdate$convyear"
			startdate="$sconvfinal"
#		fi
#		if [ "$(echo "$enddate" | grep -c "\-")" -ne "" ]
#		then
			convyear="$(echo "$enddate" | awk -F- '{print $1}' | cut -b 3-4)"
			convedate="$(echo "$enddate" | awk -F- '{print $3"/"$2"/"}')"
			econvfinal="$convedate$convyear"
			enddate="$econvfinal"
		fi

		if [ "$batchx" = "" ];then batchx="n/a"; fi
		if [ "$Jobschedule" -eq "0" -a "$Jobreport" -eq "0" ]
		then
			echo "$jobname,$batchx,$last_status,$last_error,$grpname,$startdate,$starttime,$enddate,$endtime,$elapsedtime,$backup_size,$backup_unit,$client_cnt,$backup_cnt,$pluginx,$stagingserver,$enum, $select, $migrate,$execution,$success,$failed,$select_exception,$stage_exception,$tapeerr,$cancelled,$env_locks,$error_message,$exportmetadata," >> $JOBSTATS
		elif [ "$Jobreport" -ne "0" ]
		then
			if [ "$Jobreport" -eq "2" ];then metadata="$2"; fi
			echo "$jobname,$batchx,$last_status,$last_error,$grpname,$startdate,$starttime,$enddate,$endtime,$elapsedtime,$backup_size,$backup_unit,$client_cnt,$backup_cnt,$last_stats,$pluginx,$staging_method,$stagingserver,$enum, $select, $migrate,$execution,$success,$failed,$select_exception,$stage_exception,$tapeerr,$cancelled,$env_locks,$error_message,$metadata,$exportmetadata,SPARE1,SPARE2,SPARE3,SPARE4,SPARE5" >> $JOBREPORT
		fi
		batchx=""
	done
	if [ "$Jobreport" -ne "0" ]
	then
		sort -u $JOBREPORT > $BULOCATION/jobstats/.jobactivity.tmp1
		mv $BULOCATION/jobstats/.jobactivity.tmp1 $JOBREPORT
	fi

	for x in $stdjoblist
	do
		enum="$(grep "^Environment_Number:=" $x | head -1 | awk -F= '{print $2}')"
        	if [ "$enum" -eq "1" ];then envnum=""; else envnum="$enum"; fi
        	gnam="$(grep "^Base_Group_Name:=" $x | head -1 | awk -F= '{print $2}')"
        	stageos="$(grep "^$gnam" $ClientFile | head -1 | awk -F, '{print $15}')"

        	if [ -s $BULOCATION/etc/atoenv.cfg$envnum ]
        	then
                	if [ "$stageos" = "WINDOWS" ]
                	then
                        	stgsrv="$(grep "^WINDOWSS=" $BULOCATION/etc/atoenv.cfg$envnum | awk -F= '{print $2}')"
                	elif [ "$stageos" = "UNIX" ]
                	then
                        	stgsrv="$(grep "^UNIXSS=" $BULOCATION/etc/atoenv.cfg$envnum | awk -F= '{print $2}')"
                	fi
                	endofyear="$(grep "^ENDOFYEAR=" $BULOCATION/etc/atoenv.cfg$envnum | awk -F= '{print $2}')"
                	if [ "$(echo "$endofyear" | grep -c ",")" -gt "0" ];then endofyear="$(echo "$endofyear" | sed -n "s/,/+/"gp)"; fi
                	buproduct="$(grep "^BACKUPPRODUCT=" $BULOCATION/etc/atoenv.cfg$envnum | awk -F= '{print $2}')"
        	else
                	stgsrv="n/a"; endofyear="n/a"; buproduct="n/a"
        	fi

        	jobx="$(echo "$x" | awk -F/ '{print $NF}' | sed -n "s/admbatch-//"gp | sed -n "s/.cfg//"gp)"
		if [ "$batchx" = "" ];then batchx="n/a"; fi
        	echo "$jobx,$gnam,$enum, $select, $migrate,$batchx,$stgsrv,$endofyear,$buproduct" >> $TMP_PATH/jobinfo.tmp
	done

	if [ "$Jobreport" -ne "0" ]
	then
		if [ "$Jobreport" -eq "1" ]
		then
			if [ -s $BULOCATION/jobstats/.jobactivity.tmp ];then cat $BULOCATION/jobstats/.jobactivity.tmp >> $JOBREPORT; fi
			sort -u $JOBREPORT > $BULOCATION/jobstats/.jobactivity.tmp1
			mv $BULOCATION/jobstats/.jobactivity.tmp1 $JOBREPORT
			jlog="$jlog_save"
			return 0
		fi
		jlog="$jlog_save"
		return 0
	fi

	lline="$(wc -l $TMP_PATH/atoclient-filtered.tmp2 | awk '{print $1}')"
	linex="1"
	systeminfo="Hostname: $hostname,Date: $rundate,ADMe $Version,Avamar-Version: $($HOMEPATH/avtar --version | grep "version:" | head -1 | awk '{print $2}')"
	echo "$grpcnt,$domcnt,$clicnt,$exppolcnt,$expeoycnt,$expsrvcnt,$wincli,$unixcli,$envscnt, $systeminfo" > $STATS	
	while true
	do
        	grpxinfo1="$(sed -n "$linex,$linex"p $TMP_PATH/atoclient-filtered.tmp2)"
        	grpx="$(echo "$grpxinfo1" | awk -F, '{print $1}')"
        	grpxinfo2="$(grep "^$grpx" $TMP_PATH/jobinfo.tmp | tail -1 | awk -F, '{print $2","$3","$4","}')"	
        	if [ "$grpxinfo2" = "" ]; then grpxinfo2="n/a,n/a,n/a,n/a,n/a,n/a,n/a,n/a,n/a,n/a"
		elif [ "$(echo "$grpxinfo1" | awk -F, '{print $1}')" = "" ]; then grpxinfo1="n/a,n/a,n/a,n/a,n/a,n/a,n/a,n/a,"; fi
        	echo "$grpxinfo1" >> $STATS	
        	if [ "$linex" -lt "$lline" ];then linex="$(expr $linex + 1)"; else break; fi
	done
	mail_file_rtn ADMe-Stats-CSV "$STATS -a $JOBSTATS -a $BULOCATION/doc/adme-stats.xlsm"
	echo "\n$GREEN_FG The Property-Stats-CSV file has been saved to: [$WHITE_FG$STATS$GREEN_FG]$DEF"
	echo "\n$GREEN_FG The JobStats-CSV file has been saved to: [$WHITE_FG$JOBSTATS$GREEN_FG]$DEF\n"
	rm  $TMP_PATH/atoclient-filtered.tmp* $TMP_PATH/jobinfo.tmp >/dev/null 2>&1
}

cancel_format_rtn()
{

	searchlogx="$2"
	if [ "$1" = "new" ]
	then
		timex="$(egrep "ATO-BATCH|ADME-BATCH" $searchlogx  | tail -1 | awk -FStart-Time: '{print $2}' | awk '{print $1,$2,$4,$5}')"
		startdate="$(echo "$timex" | awk '{print $1}')"
		starttime="$(echo "$timex" | awk '{print $2}')"
		endate="$(echo "$timex" | awk '{print $3}')" 
		endtime="$(echo "$timex" | awk '{print $4}')" 
	elif [ "$1" = "old" ]
	then
		if [ "$(egrep -c "Job Session Started:|Session Started:" $searchlogx)" -ne "0" ]
		then
			timex="$(egrep "Job Session Started:|Session Started:" $searchlogx | tail -1 | awk '{print $7,$8,$9,$11}')" 
			month="$(echo "$timex" | awk  '{print $1}')"
			if [ "$month" = "Jan" ];then month="01"
			elif [ "$month" = "Feb" ];then month="02"
			elif [ "$month" = "Mar" ];then month="03"
			elif [ "$month" = "Apr" ];then month="04"
			elif [ "$month" = "May" ];then month="05"
			elif [ "$month" = "Jun" ];then month="06"
			elif [ "$month" = "Jul" ];then month="07"
			elif [ "$month" = "Aug" ];then month="08"
			elif [ "$month" = "Sep" ];then month="09"
			elif [ "$month" = "Oct" ];then month="10"
			elif [ "$month" = "Nov" ];then month="11"
			elif [ "$month" = "Dec" ];then month="12"; fi
			day="$(echo "$timex" | awk  '{print $2}')"
			year="$(echo "$timex" | awk  '{print $4}')"
			time="$(echo "$timex" | awk '{print $3}' | awk -F: '{print $1":"$2}')"
			startdate="$day/$month/$year"
			starttime="$time"
			enddate="$startdate"
			endtime="$starttime"
		fi
	elif [ "$1" = "running" ]
	then
		if [ "$(egrep -c "JOB Session Started:" $searchlogx)" -ne "0" ]
		then
			timex="$(egrep "JOB Session Started:" $searchlogx | sed -r "s:\x1B\[[0-9;]*[mK]::g" | tail -1 | awk -FStarted: '{print $2,$3}')" 
			startdate="$(echo "$timex" | awk '{print $1}')"
			starttime="$(echo "$timex" | awk '{print $2}')"
			enddate="$startdate" 
			endtime="23:59"
		fi
	fi
}

get_stat_file()
{

	if [ "$Debug" -ge "2" -o "$DEBUG" -ge "2" ];then Quiet="";else Quiet="--quiet"; fi
        rm $TMP_PATH/$2.stat >/dev/null 2>&1
        $HOMEPATH/avtar -x --acnt=$1 $Quiet --nocache --existing-file-overwrite-option=newest $AVTAR_credential --target=$TMP_PATH $2 >/dev/null 2>&1
	resstat="$?"
	if [ "$resstat" -ne "0" ]
	then
		echo "$ERRORX: Debug error to trace the cause of event code 30999 RC=$resstat"
#		echo "DEBUG-EVENT-30999 $HOMEPATH/avtar -x --acnt=$1 $Quiet $AVTAR_credential --target=$TMP_PATH $2"
		echo "$ERRORX: Unable to recover the *.stat file"
	fi

	keep_last_bu_rtn $1 $TMP_PATH
        $HOMEPATH/avtar --delete $Quiet --force --acnt=$1 $AVTAR_credential $2 >/dev/null 2>&1
	$HOMEPATH/avtar --delete $Quiet --force --acnt=$1 $AVTAR_credential >/dev/null 2>&1 
	if [ "$(echo "$2" | grep -c "avhypervvssres")" -ne "0" ]
        then
                spawned_mcs_sessionx=0
                stagiong_serverx="$(grep "^WINDOWSS" $ENVCFG | awk -F= '{print $2}' | awk -F/ '{print $NF}')"
		sleep 10

                spawned_mcs_sessionx="$($HOMEPATH/mccli activity show $MCS_credential --verbose --active=true | grep "Restore" | grep "$staging_serverx" | egrep "Hyper-V" | grep "COD" | egrep -v "Completed|Canceled|Failed" | awk '{print $1}')"
		if [ "$spawned_mcs_sessionx" -ne "" ]
		then
                	echo "Cancelling avhypervss spawned MCS monitoring session [Activity-ID#=$spawned_mcs_sessionx] to enable ADMe required MCS session to continue..."
                	$HOMEPATH/mccli activity cancel --id=$spawned_mcs_sessionx
                	sleep 2
		fi
        fi
}

motd_rtn()
{

	
	if [ "$(echo "$(id)" | grep -c "root")" -ne "1" ];then return; fi
	if [ -s /etc/motd ]
	then
		chk1="$(egrep -c "ADM\(e\)|installed on this system|ADMe" /etc/motd)"
		chk2="$(egrep -c -e "kbdoc|adme -backup" /etc/motd)"
		chk3="$(egrep -c "This is an Avamar Node" /etc/motd)"
		chk4="$(egrep -c "UNAUTHORIZED" /etc/motd)"
		chk5="$(egrep -c "emc.com" /etc/motd)"
		chmod 666 /etc/motd >/dev/null 2>&1
	fi
	if [ ! -s /etc/motd ]
	then
		echo "*****************************************************************" > /etc/motd
		echo "*                                                               *" >> /etc/motd 
		echo "* This is an Avamar Node                                        *" >> /etc/motd 
		echo "*                                                               *" >> /etc/motd 
		echo "* Please read the documentation before performing               *" >> /etc/motd 
		echo "* any administrative functions on this node.                    *" >> /etc/motd 
		echo "* For help, contact EMC at https://dell.com/support/home/en-us  *" >> /etc/motd 
		echo "*                                                               *" >> /etc/motd 
		echo "*****************************************************************" >> /etc/motd 
        	echo "* ADMe$GREEN_FG $Version $DEF is installed on this system.                   " >> /etc/motd
        	echo "\n* ADMe$GREEN_FG Required-User-ID=$WHITE_FG root$GREEN_FG HomePath=$WHITE_FG$BULOCATION $DEF                   " >> /etc/motd
        	echo "*                                                               *" >> /etc/motd
		echo "* Updates and Documentation available at:                       *" >> /etc/motd 
		echo "*$GREEN_FG $WEBLINK$DEF" >> /etc/motd
        	echo "*                                                               *" >> /etc/motd
        	echo "* To protect its configuration please run the following command *" >> /etc/motd
        	echo "* prior to performing any Avamar upgrade activity ensuring the  *" >> /etc/motd
        	echo "* zip file it creates is protected.                             *" >> /etc/motd
        	echo "*                                                               *" >> /etc/motd
        	echo "*                    $GREEN_FG adme -backup $DEF                             *" >> /etc/motd
        	echo "*                                                               *" >> /etc/motd
        	echo "*    $RED_FG    UNAUTHORIZED use of ADMe is strictly forbidden$DEF         *" >> /etc/motd
        	echo "*****************************************************************" >> /etc/motd
		cat /etc/motd; sleep 3
	elif [ "$chk1" -eq "0" -o "$chk2" -eq "0" -o "$chk3" -eq "0" -o "$chk4" -eq "0" -o "$chk5" -eq "1" ]
	then
		echo "*****************************************************************" > $TMP_PATH/atomotd.tmp
		echo "*                                                               *" >> $TMP_PATH/atomotd.tmp
		echo "* This is an Avamar Node                                        *" >> $TMP_PATH/atomotd.tmp
		echo "*                                                               *" >> $TMP_PATH/atomotd.tmp
		echo "* Please read the documentation before performing               *" >> $TMP_PATH/atomotd.tmp
		echo "* any administrative functions on this node.                    *" >> $TMP_PATH/atomotd.tmp
		echo "* For help, contact EMC at https://dell.com/support/home/en-us  *" >> $TMP_PATH/atomotd.tmp
		echo "*                                                               *" >> $TMP_PATH/atomotd.tmp
		echo "*****************************************************************" >> $TMP_PATH/atomotd.tmp
       		echo "* ADMe$GREEN_FG $Version $DEF is installed on this system.                     " >> $TMP_PATH/atomotd.tmp
        	echo "\n* ADMe$GREEN_FG Required-User-ID=$WHITE_FG root$GREEN_FG HomePath=$WHITE_FG$BULOCATION $DEF                   " >> $TMP_PATH/atomotd.tmp 
       		echo "*                                                               *" >> $TMP_PATH/atomotd.tmp 
		echo "* Updates and Documentation available at:                       *" >> $TMP_PATH/atomotd.tmp 
		echo "*$GREEN_FG $WEBLINK$DEF" >> $TMP_PATH/atomotd.tmp
        	echo "*                                                               *" >> $TMP_PATH/atomotd.tmp 
        	echo "* To protect its configuration please run the following command *" >> $TMP_PATH/atomotd.tmp
        	echo "* prior to performing any Avamar upgrade activity ensuring the  *" >> $TMP_PATH/atomotd.tmp
        	echo "* zip file it creates is protected.                             *" >> $TMP_PATH/atomotd.tmp
        	echo "*                                                               *" >> $TMP_PATH/atomotd.tmp
        	echo "*                     $GREEN_FG adme -backup $DEF                            *" >> $TMP_PATH/atomotd.tmp
        	echo "*                                                               *" >> $TMP_PATH/atomotd.tmp
        	echo "*    $RED_FG    UNAUTHORIZED use of ADMe is strictly forbidden$DEF         *" >> $TMP_PATH/atomotd.tmp
        	echo "*****************************************************************" >> $TMP_PATH/atomotd.tmp
		cat $TMP_PATH/atomotd.tmp > /etc/motd	
		cat /etc/motd; sleep 3
		rm $TMP_PATH/atomotd.tmp >/dev/null 2>&1
	fi
	chmod 644 /etc/motd
}

clientx_rtn()
{

	action="$1"
	if [ "$(echo "$2" | grep -c "'")" -ne "0" ];then arglist="$(echo "$2" | sed -n "s/'//"gp)"
	else arglist="$2"; fi
	ALLCLIENTS="$BULOCATION/etc/allclients.csv"

	if [ "$action" = "getstatusall" ]
	then
		if [ "$2" = "discoverall" ]
		then
			echo "$(date '+%s')" > $TMP_PATH/.cfgdiscover
			echo "Discovering Avamar Domains, please wait..."
			domain_discover_rtn
			vmdiscover_rtn
			mv $BULOCATION/tmp/atocfg/input.dat1 $BULOCATION/tmp/atocfg/.input.dat1.discover
			rm $ALLCLIENTS >/dev/null 2>&1
			maxline="$(wc -l $BULOCATION/tmp/atocfg/.input.dat1.discover | awk '{print $1}')"
			curline="1"
			while true
			do
      				linex="$(sed -n "$curline,$curline"p $BULOCATION/tmp/atocfg/.input.dat1.discover)"
        			domx="$(echo "$linex" | awk '{print $2}')"
				if [ "$domx" = "" ];then domx="/"; fi
				clix="$(echo "$linex" | awk '{print $1}')"
				if [ "$(echo "$clix" | grep -c "/")" -ne "0" ];then clix="$(echo "$clix" | sed -n "s/\///"gp )"; fi
        			if [ "$(grep -c "$clix" $BULOCATION/etc/admeclient.cfg)" -ne "0" ];then echo "DEFINED,$domx,$clix" >> $ALLCLIENTS
       				else echo "NOT-DEFINED,$domx,$clix" >> $ALLCLIENTS; fi
        			if [ "$curline" -ge "$maxline" ];then break; else curline="$(expr $curline + 1)"; fi
			done
		fi
		return
	elif [ "$action" = "admeclients" ]
	then
		ADMECLIENTS="$BULOCATION/etc/admeclients.csv"
		grep ",DEFAULT," $BULOCATION/etc/admeclient.cfg > $BULOCATION/etc/atoclient.tmp
		maxline="$(wc -l $BULOCATION/etc/atoclient.tmp | awk '{print $1}')"
		curline="1"

		while true
		do
        		linex="$(sed -n "$curline,$curline"p $BULOCATION/etc/atoclient.tmp)"
        		if [ "$(echo "$linex" | grep -c "^#DISABLED ")" -eq "1" ]
        		then
                		linex2="$(echo "$linex" | sed -n "s/#DISABLED //"gp)"
                		echo "DISABLED,$linex2" >> $ADMECLIENTS
        		else
                		echo "ENABLED,$linex" >> $ADMECLIENTS
        		fi
        		if [ "$curline" -ge "$maxline" ];then break; else curline="$(expr $curline + 1)"; fi
		done
		cat $ADMECLIENTS
		return
	fi

	input_="$arglist"

	if [ `echo "$input_" | grep -c "fld1="` -eq "1" ]
        then
        	fld1=`echo "$input_" | sed -n "s/fld1=//"gp | awk -F, '{print $1}'`
	else
		echo "\n$ERRORX: Client group name parameter fld1 is missing.$DEF"
		return 1
	fi
	if [ `echo "$input_" | grep -c "fld5="` -eq "1" ]
        then
                fld5=`echo "$input_" | sed -n "s/fld5=//"gp | awk -F, '{print $3}'`

		if [ "$action" = "addclient" ]
		then
 			fld5CID="$fld5"
#			If yes, adme core discovery is aware of the client name so no need to initiate a discovery
 			fld5_="$($HOMEPATH/avmgr resf --acnt=ref{$fld5CID} --id=root --password=$CHK_password | tail -1 | awk -F/ '{print $NF}' | awk '{print $1}')"

			if [ "$(grep -c "$fld5CID" $TMP_PATH/.vmqualifiednames.dat)" -gt "0" ];then echo "$CYAN_FG CORE-INFO: VMimage client CID [$fld5CID] found in .vmqualifiednames.dat$DEF"
			elif [ "$(grep -c "$fld5_ " $TMP_PATH/.input.dat1.discover)" -gt "0" ];then echo "$CYAN_FG CORE-INFO: NON VMimage client name [$fld5_] found in .input.dat1.discover$DEF"
			else
				echo "$CYAN_FG CORE-INFO: Automated client discovery initiated...$DEF"
				domain_discover_rtn
                        	vmdiscover_rtn
				mv $BULOCATION/tmp/atocfg/input.dat1 $BULOCATION/tmp/atocfg/.input.dat1.discover
				echo "$CYAN_FG CORE-INFO: Automated client discovery completed$DEF"
			fi

			if [ "$(grep -c "$fld5CID" $TMP_PATH/.vmqualifiednames.dat)" -gt "0" ]
			then
				if [ "$VMQUALIFIEDNAMES" = "false" ]
				then
					fld5="$(grep "$fld5CID" $TMP_PATH/.vmqualifiednames.dat | head -1 | awk -F, '{print $3}')"
				else
					fld5_="$($HOMEPATH/avmgr resf --acnt=ref{$fld5CID} --id=root --password=$CHK_password)"
					if [ "$?" -ne "0" ];then fld5="$fld5CID"
					else fld5="$(echo "$fld5_" | grep "$fld5CID" | head -1 | awk '{print $1}' | awk -F/ '{print $NF}')"; fi
				fi
			else
				fld5_="$($HOMEPATH/avmgr resf --acnt=ref{$fld5CID} --id=root --password=$CHK_password)"
				if [ "$?" -ne "0" ];then fld5="$fld5CID"
				else fld5="$(echo "$fld5_" | grep "$fld5CID" | tail -1 | awk '{print $1}' | awk -F/ '{print $NF}')"; fi
			fi
		fi
	else
		echo "\n$ERRORX: Client name parameter fld5 is missing.$DEF"
		return 1
	fi
	cp $CFG $TMP_PATH/admeclient.tmp >/dev/null 2>&1
	grep -n "^" $CFG | sed -n "s/:/ /"gp > $TMP_PATH/admeclient.num
	if [ "$2" = "" ]
        then
                echo "\n$ERRORX: [$2] argument list is empty$DEF"
                return 1
	elif [ "$action" = "propogateupdateclient" ]
        then
		fld6="$(echo "$input_" | grep "$fld1," | sed -n "s/fld6=//"gp | awk -F, '{print $4}')"
		fld7="$(echo "$input_" | grep "$fld1," | sed -n "s/fld7=//"gp | awk -F, '{print $5}')"
		fld8="$(echo "$input_" | grep "$fld1," | sed -n "s/fld8=//"gp | awk -F, '{print $6}')"

		fld12="$(echo "$input_" | grep "$fld1," | sed -n "s/fld12=//"gp | awk -F, '{print $8}')"
		fld13="$(echo "$input_" | grep "$fld1," | sed -n "s/fld13=//"gp | awk -F, '{print $9}')"
		fld14="$(echo "$input_" | grep "$fld1," | sed -n "s/fld14=//"gp | awk -F, '{print $10}')"
		fld16="$(echo "$input_" | grep "$fld1," | sed -n "s/fld16=//"gp | awk -F, '{print $12}')"
		fld17="$(echo "$input_" | grep "$fld1," | sed -n "s/fld17=//"gp | awk -F, '{print $13}')"

#		line1numx="$(egrep " $fld1," $TMP_PATH/admeclient.num | head -1 | awk '{print $1}')"
		line1numx="$(egrep " $fld1," $TMP_PATH/admeclient.num | egrep -v "Created|# ##" |  head -1 | awk '{print $1}')"
		line2numx="$(egrep " $fld1," $TMP_PATH/admeclient.num | tail -1 | awk '{print $1}')"
		sed -n "1,$(expr $line1numx - 1)"p $TMP_PATH/admeclient.tmp > $TMP_PATH/admeclient.tmp2
		linex="$(sed -n "$line1numx,$line1numx"p $TMP_PATH/admeclient.tmp)"

		existfld6="$(echo "$linex" | awk -F, '{print $6}')"	
		existfld7="$(echo "$linex" | awk -F, '{print $7}')"	
		existfld8="$(echo "$linex" | awk -F, '{print $8}')"	
		existfld12="$(echo "$linex" | awk -F, '{print $12}')"	
		existfld13="$(echo "$linex" | awk -F, '{print $13}')"	
		existfld14="$(echo "$linex" | awk -F, '{print $14}')"	
		existfld16="$(echo "$linex" | awk -F, '{print $16}')"	
		existfld17="$(echo "$linex" | awk -F, '{print $17}')"	

		if [ "$fld6" = "" ];then fld6="$existfld6"; fi
		if [ "$fld7" = "" ];then fld7="$existfld7"; fi
		if [ "$fld8" = "" ];then fld8="$existfld8"; fi

		if [ "$fld12" = "" ];then fld12="$existfld12"; fi
		if [ "$fld13" = "" ];then fld13="$existfld13"; fi
		if [ "$fld14" = "" ];then fld14="$existfld14"; fi

		if [ "$fld16" = "" ];then fld16="$existfld16"; fi
		if [ "$fld17" = "" ];then fld17="$existfld17"; fi

		linecnt="$line1numx"
		while true
		do
			linex="$(sed -n "$linecnt,$linecnt"p $TMP_PATH/admeclient.tmp)"

			linexpart1="$(echo "$linex" | awk -F, '{print $1","$2","$3","$4","$5}')"		
			linexpart2="$(echo "$linex" | awk -F, '{print $9","$10","$11","$12","$13","$14","$15","$16","$17","$18}')"		
			updateline="$(echo "$linexpart1,$fld6,$fld7,$fld8,$linexpart2")"

			linexpart1="$(echo "$updateline" | awk -F, '{print $1","$2","$3","$4","$5","$6","$7","$8","$9","$10","$11}')"		
			linexpart2="$(echo "$updateline" | awk -F, '{print $15","$16","$17","$18}')"		
			updateline="$(echo "$linexpart1,$fld12,$fld13,$fld14,$linexpart2")"

			linexpart1="$(echo "$updateline" | awk -F, '{print $1","$2","$3","$4","$5","$6","$7","$8","$9","$10","$11","$12","$13","$14","$15}')"		
			linexpart2="$(echo "$updateline" | awk -F, '{print $18}')"		
			updateline="$(echo "$linexpart1,$fld16,$fld17,$linexpart2")"

			echo "$updateline" >> $TMP_PATH/admeclient.tmp2
			if [ "$linecnt" -lt "$line2numx" ];then linecnt="$(expr $linecnt + 1)"
			else break; fi
		done	
		sed -n "$(expr $line2numx + 1),9999"p $TMP_PATH/admeclient.tmp >> $TMP_PATH/admeclient.tmp2
		mv $TMP_PATH/admeclient.tmp2 $CFG >/dev/null 2>&1
		rm $TMP_PATH/admeclient.num $TMP_PATH/admeclient.tmp >/dev/null 2>&1
		echo "Group: $fld1 has had been updated"
		return
	elif [ "$action" = "propogatetapepolicy" ]
        then
                fld12="$(echo "$input_" | grep "$fld1," | sed -n "s/fld12=//"gp | awk -F, '{print $8}')"
                fld13="$(echo "$input_" | grep "$fld1," | sed -n "s/fld13=//"gp | awk -F, '{print $9}')"
                fld14="$(echo "$input_" | grep "$fld1," | sed -n "s/fld14=//"gp | awk -F, '{print $10}')"

		line1numx="$(egrep " $fld1," $TMP_PATH/admeclient.num | egrep -v "Created|# ##" |  head -1 | awk '{print $1}')"
                line2numx="$(egrep " $fld1," $TMP_PATH/admeclient.num | egrep -v "Created|# ##" | tail -1 | awk '{print $1}')"
                sed -n "1,$(expr $line1numx - 1)"p $TMP_PATH/admeclient.tmp > $TMP_PATH/admeclient.tmp2

                linex="$(sed -n "$line1numx,$line1numx"p $TMP_PATH/admeclient.tmp)"

                existfld12="$(echo "$linex" | awk -F, '{print $12}')"
                existfld13="$(echo "$linex" | awk -F, '{print $13}')"
                existfld14="$(echo "$linex" | awk -F, '{print $14}')"

                if [ "$fld12" = "" ];then fld12="$existfld12"; fi
                if [ "$fld13" = "" ];then fld13="$existfld13"; fi
                if [ "$fld14" = "" ];then fld14="$existfld14"; fi

                linecnt="$line1numx"
                while true
                do
                        linex="$(sed -n "$linecnt,$linecnt"p $TMP_PATH/admeclient.tmp)"
                        linexpart1="$(echo "$linex" | awk -F, '{print $1","$2","$3","$4","$5","$6","$7","$8","$9","$10","$11}')"
                        linexpart2="$(echo "$linex" | awk -F, '{print $15","$16","$17","$18}')"
                        updateline="$(echo "$linexpart1,$fld12,$fld13,$fld14,$linexpart2")"
                        echo "$updateline" >> $TMP_PATH/admeclient.tmp2
                        if [ "$linecnt" -lt "$line2numx" ];then linecnt="$(expr $linecnt + 1)"
                        else break; fi
                done
                sed -n "$(expr $line2numx + 1),9999"p $TMP_PATH/admeclient.tmp >> $TMP_PATH/admeclient.tmp2
                mv $TMP_PATH/admeclient.tmp2 $CFG >/dev/null 2>&1
                rm $TMP_PATH/admeclient.num $TMP_PATH/admeclient.tmp >/dev/null 2>&1
                echo "Group: $fld1 has had fld12,13 & 14 updated"
                return
	elif [ "$action" = "propogatestagingpath" ]
	then
		fld10="$(echo "$input_" | grep "$fld1," | sed -n "s/fld10=//"gp | awk -F, '{print $7}')"
		if [ "$(echo "$fld10" | cut -b 2-2)" = ":" ]
		then
			fld15="WINDOWS"
 			fld10_="$fld10"
			fld10="$fld10_"
		elif [ "$(echo "$fld10" | cut -b 1-1)" = "/" ];then fld15="UNIX"
		else
                        fld15="WINDOWS"
                        fld10cifsx="\\\\\\\\\\\\\\\\"
                        fld10x="$(echo -e "$fld10")"
                        fld10="$fld10cifsx$fld10x"
		fi

		line1numx="$(egrep " $fld1," $TMP_PATH/admeclient.num | egrep -v "Created|# ##" |  head -1 | awk '{print $1}')"
		line2numx="$(egrep " $fld1," $TMP_PATH/admeclient.num | egrep -v "Created|# ##" | tail -1 | awk '{print $1}')"

		sed -n "1,$(expr $line1numx - 1)"p $TMP_PATH/admeclient.tmp > $TMP_PATH/admeclient.tmp2
		linecnt="$line1numx"
		while true
		do
			linex="$(sed -n "$linecnt,$linecnt"p $TMP_PATH/admeclient.tmp)"
			linexpart1="$(echo "$linex" | awk -F, '{print $1","$2","$3","$4","$5","$6","$7","$8","$9}')"		
			linexpart2="$(echo "$linex" | awk -F, '{print $11","$12","$13","$14}')"		
			linexpart3="$(echo "$linex" | awk -F, '{print $16","$17","$18}')"		
			updateline="$(echo "$linexpart1,$fld10,$linexpart2,$fld15,$linexpart3")"
			echo "$updateline" | tee -a  $TMP_PATH/admeclient.tmp2
			if [ "$linecnt" -lt "$line2numx" ];then linecnt="$(expr $linecnt + 1)"
			else break; fi
		done	
		sed -n "$(expr $line2numx + 1),9999"p $TMP_PATH/admeclient.tmp >> $TMP_PATH/admeclient.tmp2
		mv $TMP_PATH/admeclient.tmp2 $CFG >/dev/null 2>&1
		rm $TMP_PATH/admeclient.num $TMP_PATH/admeclient.tmp >/dev/null 2>&1
		echo "Group: $fld1 has had fld10 updated to $fld10"
		return
	elif [ "$action" = "removegroup" ]
	then
		line1numx="$(egrep " $fld1," $TMP_PATH/admeclient.num | head -1 | awk '{print $1}')"
		line2numx="$(egrep " $fld1," $TMP_PATH/admeclient.num | tail -1 | awk '{print $1}')"
		linecnttoremove="$(grep -c " $fld1," $TMP_PATH/admeclient.num)"
		originalcnt="$(wc -l $CFG | awk '{print $1}')"
		echo "DEBUG1 linecnttoremove=$linecnttoremove originalcnt=$originalcnt"

		echo "Preparing to remove client group $fld1"
		sed -n "1,$(expr $line1numx - 1)"p $TMP_PATH/admeclient.tmp > $TMP_PATH/admeclient.tmp2
		sed -n "$(expr $line2numx + 1),9999"p $TMP_PATH/admeclient.tmp >> $TMP_PATH/admeclient.tmp2

		commentdiff="$(egrep -c "# Group-ID: $fld1 Created|# Group-ID:$fld1 Created|# ########" $TMP_PATH/admeclient.tmp2)"
		linecnttoremove="$(expr $linecnttoremove + $commentdiff)"
		egrep -v "# Group-ID: $fld1 Created|# Group-ID:$fld1 Created|# ########" $TMP_PATH/admeclient.tmp2 > $TMP_PATH/admeclient.tmp3

#		rm $TMP_PATH/admeclient.tmp3
#		touch $TMP_PATH/admeclient.tmp3

		echo "DEBUG2 commentdiff=$commentdiff linecnttoremove=$linecnttoremove"
		newlinecnt="$(wc -l $TMP_PATH/admeclient.tmp3 | awk '{print $1}')"
		difflinecnt="$(expr $originalcnt - $newlinecnt)"

#		linecnttoremove="$(expr $linecnttoremove + 3)"
	
		if [ "$difflinecnt" -ne "$linecnttoremove" ]
		then
			echo "$ERRORX: Suspect file corruption issue while deleting client group [$fld1], original client file has been retained$DEF"
		else
			cp $TMP_PATH/admeclient.tmp3 $CFG >/dev/null 2>&1
			echo "INFO Updating client config file from $TMP_PATH/admeclient.tmp3"
		fi
		echo "DEBUG3 - difflinecnt=$difflinecnt newlinecnt=$newlinecnt originalcnt=$originalcnt"
		rm $TMP_PATH/admeclient.num $TMP_PATH/admeclient.tmp $TMP_PATH/admeclient.tmp2 >/dev/null 2>&1

#		clientx_rtn getstatusall show-all wrench >/dev/null 2>&1
		return
	elif [ "$action" = "removeclient" ]
	then
		linenumx="$(egrep " $fld1," $TMP_PATH/admeclient.num | egrep ",$fld5," | head -1 | awk '{print $1}')"
		domainx="$(grep " $fld1," $TMP_PATH/admeclient.num | egrep ",$fld5," | head -1 | awk -F, '{print $4}')"
		linex="$(sed -n "$linenumx,$linenumx"p $TMP_PATH/admeclient.num)"
		echo "Preparing to remove client $fld5 from group $fld1"
		sed -n "1,$(expr $linenumx - 1)"p $TMP_PATH/admeclient.tmp > $TMP_PATH/admeclient.tmp2
		sed -n "$(expr $linenumx + 1),9999"p $TMP_PATH/admeclient.tmp >> $TMP_PATH/admeclient.tmp2
		if [ "$(grep -c "$fld1," $TMP_PATH/admeclient.tmp2)" -eq "0" ]
		then
			mv $TMP_PATH/admeclient.tmp2 $TMP_PATH/admeclient.tmp3
			egrep -v "# Group-ID:$fld1 Created|# Group-ID: $fld1 Created|# ########" $TMP_PATH/admeclient.tmp3 > $TMP_PATH/admeclient.tmp2
		fi
		mv $TMP_PATH/admeclient.tmp2 $CFG >/dev/null 2>&1
		rm $TMP_PATH/admeclient.num $TMP_PATH/admeclient.tmp >/dev/null 2>&1

		grep -v "$domainx,$fld5" $ALLCLIENTS > $ALLCLIENTS.tmp
		echo "NOT-DEFINED,$domainx,$fld5" >> $ALLCLIENTS.tmp
		mv $ALLCLIENTS.tmp $ALLCLIENTS
		return
	elif [ "$action" = "disableclient" ]
	then
		if [ "$(grep -c "^$fld1," $CFG)" -le "1" ]
		then
			echo "ERROR: You cannot disable the last enabled client in a group"
			return
		fi 
		linenumx="$(egrep " $fld1," $TMP_PATH/admeclient.num | egrep ",$fld5," | head -1 | awk '{print $1}')"
		linex="$(sed -n "$linenumx,$linenumx"p $TMP_PATH/admeclient.tmp)"
		echo "Preparing to disable client $fld5 in group $fld1"
		if [ "$(echo "$linex" | egrep -c "^#DISABLED ")" -eq "0" ]
		then
			sed -n "1,$(expr $linenumx - 1)"p $TMP_PATH/admeclient.tmp > $TMP_PATH/admeclient.tmp2
			echo "#DISABLED $linex" >>  $TMP_PATH/admeclient.tmp2
			sed -n "$(expr $linenumx + 1),9999"p $TMP_PATH/admeclient.tmp >> $TMP_PATH/admeclient.tmp2
			mv $TMP_PATH/admeclient.tmp2 $CFG >/dev/null 2>&1
			rm $TMP_PATH/admeclient.num $TMP_PATH/admeclient.tmp >/dev/null 2>&1
		fi
		return
	elif [ "$action" = "enableclient" ]
	then
		linenumx="$(egrep " $fld1," $TMP_PATH/admeclient.num | egrep ",$fld5," | head -1 | awk '{print $1}')"
		linex="$(sed -n "$linenumx,$linenumx"p $TMP_PATH/admeclient.tmp)"
		if [ "$(echo "$linex" | egrep -c "#DISABLED ")" -ne "0" ]
		then
			linex_="$(echo "$linex" | sed -n "s/#DISABLED //"gp)"
			linex="$linex_"
		fi
		echo "Preparing to enable client $fld5 from group $fld1"
		sed -n "1,$(expr $linenumx - 1)"p $TMP_PATH/admeclient.tmp > $TMP_PATH/admeclient.tmp2
		echo "$linex" >>  $TMP_PATH/admeclient.tmp2
		sed -n "$(expr $linenumx + 1),9999"p $TMP_PATH/admeclient.tmp >> $TMP_PATH/admeclient.tmp2
		mv $TMP_PATH/admeclient.tmp2 $CFG >/dev/null 2>&1
		rm $TMP_PATH/admeclient.num $TMP_PATH/admeclient.tmp >/dev/null 2>&1
		return
	elif [ "$action" = "getgroupnames" ]
	then
		grep -v "#" $CFG | awk -F, '{print $1}' | sort -u
		return
	elif [ "$action" = "getgroupassignments" ]
	then
		grpnames="$(grep -v "#" $CFG | awk -F, '{print $1}' | sort -u)"
		jobnames="$(ls -rtl $BULOCATION/etc/admbatch-*.cfg | awk -F/ '{print $NF}')"
		for x in $(echo "$grpnames")
		do
			assigned=0
			for y in $(echo "$jobnames")
			do
				if [ "$(grep -c "FAIL ACTION" $BULOCATION/etc/$y)" -ne "0" ];then continue; fi	
				if [ "$(grep -c "^Base_Group_Name:=$x" $BULOCATION/etc/$y)" -ne "0" ]	
				then
					threadx="$(grep "^Environment_Number" $BULOCATION/etc/$y | awk -F= '{print $2}')"
					job_y="$(echo "$y" | sed -n "s/admbatch-//"gp | sed -n "s/.cfg//"gp)"
					echo "G=$x J=$job_y E=$threadx"
					assigned=1
				fi
			done
			if [ "$assigned" -eq "0" ]
			then
				echo "G=$x J=None E=0"
			fi	
		done
		return
	elif [ "$action" = "getgroup" ]
	then
		ADMECLIENTS="$BULOCATION/etc/admeclients.csv"
		rm $ADMECLIENTS >/dev/null 2>&1
		grep ",DEFAULT," $BULOCATION/etc/admeclient.cfg | grep "$fld1" > $BULOCATION/etc/atoclient.tmp
		maxline="$(wc -l $BULOCATION/etc/atoclient.tmp | awk '{print $1}')"
		curline="1"
		while true
		do
        		linex="$(sed -n "$curline,$curline"p $BULOCATION/etc/atoclient.tmp)"
        		if [ "$(echo "$linex" | grep -c "^#DISABLED ")" -eq "1" ]
        		then
                		linex2="$(echo "$linex" | sed -n "s/#DISABLED //"gp)"
                		echo "DISABLED,$linex2" >> $ADMECLIENTS
        		else
                		echo "ENABLED,$linex" >> $ADMECLIENTS
        		fi
        		if [ "$curline" -ge "$maxline" ];then break; else curline="$(expr $curline + 1)"; fi
		done
		egrep "$fld1," $BULOCATION/etc/admeclients.csv | egrep "^ENABLED,$fld1,|^DISABLED,$fld1,"
		return
	elif [ "$action" = "getclient" ]
	then
		linenumx="$(egrep " $fld1," $TMP_PATH/admeclient.num | egrep ",$fld5," | head -1 | awk '{print $1}')"
		linex="$(sed -n "$linenumx,$linenumx"p $TMP_PATH/admeclient.tmp)"
		echo "Preparing to get client entry for $fld5"
		echo "$linex"
		return
	elif [ "$action" = "updateclient" ]
	then
		fld4=`echo "$input_" | sed -n "s/fld4=//"gp | awk -F, '{print $2}'`
		fld6=`echo "$input_" | sed -n "s/fld6=//"gp | awk -F, '{print $4}'`
		fld7=`echo "$input_" | sed -n "s/fld7=//"gp | awk -F, '{print $5}'`
		fld8=`echo "$input_" | sed -n "s/fld8=//"gp | awk -F, '{print $6}'`
		fld10=`echo "$input_" | sed -n "s/fld10=//"gp | awk -F, '{print $7}'`
		fld16=`echo "$input_" | sed -n "s/fld16=//"gp | awk -F, '{print $12}'`
		fld17=`echo "$input_" | sed -n "s/fld17=//"gp | awk -F, '{print $13}'`
		fld18=`echo "$input_" | sed -n "s/fld18=//"gp | awk -F, '{print $14}'`
		linenumx="$(egrep " $fld1," $TMP_PATH/admeclient.num | egrep ",$fld5," | head -1 | awk '{print $1}')"
		linex="$(sed -n "$linenumx,$linenumx"p $TMP_PATH/admeclient.tmp)"
		if [ "$fld4" = "" ];then fld4="$(echo "$linex" | awk -F, '{print $4}')"; fi
		if [ "$fld6" = "" ];then fld6="$(echo "$linex" | awk -F, '{print $6}')"; fi
		if [ "$fld7" = "" ];then fld7="$(echo "$linex" | awk -F, '{print $7}')"; fi
		if [ "$fld8" = "" ];then fld8="$(echo "$linex" | awk -F, '{print $8}')"; fi
		if [ "$fld10" = "" ];then fld10="$(echo "$linex" | awk -F, '{print $10}')"; fi
		fld12="$(echo "$linex" | awk -F, '{print $12}')"
		fld13="$(echo "$linex" | awk -F, '{print $13}')"
		fld14="$(echo "$linex" | awk -F, '{print $14}')"
		fld15="$(echo "$linex" | awk -F, '{print $15}')"
		if [ "$fld16" = "" ];then fld16="$(echo "$linex" | awk -F, '{print $16}')"; fi
		if [ "$fld17" = "" ];then fld17="$(echo "$linex" | awk -F, '{print $17}')"; fi
		if [ "$fld18" = "" ];then fld18="$(echo "$linex" | awk -F, '{print $18}')"; fi
#		if [ "$fld15" = "WINDOWS" ]
#		then
#			fld10_="$(echo "$fld10" | awk '{print toupper($0)}')"
#			fld10="$fld10_"
#		fi
		echo "Preparing to update client entry $fld5 in group $fld1"
		if [ "$fld5" = "" ]
		then
			echo "Client field fld5 cannot be empty"; return
		fi
		sed -n "1,$(expr $linenumx - 1)"p $TMP_PATH/admeclient.tmp > $TMP_PATH/admeclient.tmp2
		echo "$fld1,AUTO,AUTO,$fld4,$fld5,$fld6,$fld7,$fld8,DEFAULT,$fld10,AUTO,$fld12,$fld13,$fld14,$fld15,$fld16,$fld17,$fld18" | tee -a $TMP_PATH/admeclient.tmp2

		sed -n "$(expr $linenumx + 1),9999"p $TMP_PATH/admeclient.tmp >> $TMP_PATH/admeclient.tmp2
		mv $TMP_PATH/admeclient.tmp2 $CFG >/dev/null 2>&1
		rm $TMP_PATH/admeclient.num $TMP_PATH/admeclient.tmp >/dev/null 2>&1
		return
        elif [ "$action" = "addclient" ]
	then
		if [ `echo "$input_" | grep -c "fld4="` -eq "1" ]
#		if [ "$(echo "$input_" | grep -c fld4=)" -eq "1" ]
		then
			fld4="$(echo "$input_" | sed -n "s/fld4=//"gp | awk -F, '{print $2}')"
			if [ "$(grep -c " $fld4 " $TMP_PATH/.input.dat1.discover)" -eq "0" ]
			then
				echo "\n$ERRORX: Client domain name parameter fld4 is invalid.$DEF"
				return 1
			fi
		else
			echo "\n$ERRORX: Client domain name parameter fld4 is missing.$DEF"
			exit 1
		fi

		if [ `echo "$input_" | grep -c "fld6="` -eq "1" ]
		then
			fld6=`echo "$input_" | sed -n "s/fld6=//"gp | awk -F, '{print $4}'`
			if [ "$fld6" = "" ];then fld6="n/a"; fi
		else
			echo "\n$ERRORX: Embedded filter for group/label name paramater fld6 is missing.$DEF"
			return 1
		fi

		if [ `echo "$input_" | grep -c "fld7="` -eq "1" ]
		then
			fld7=`echo "$input_" | sed -n "s/fld7=//"gp | awk -F, '{print $5}'`
			if [ "$fld7" != "" -a "$fld7" != "n/a" ]
			then
				if [ "$(echo "$fld7" | egrep -c "daily|monthly|weekly|yearly|none")" -eq "0" ]
				then
					echo "\n$ERRORX: Embedded filter for retention tag value fld7 is invalid.$DEF"
					exit 1
				fi
			else
				fld7="n/a"
			fi
		else
			echo "\n$ERRORX: Embedded filter for retention tag value fld7 is missing.$DEF"
			exit 1
		fi

		if [ `echo "$input_" | grep -c "fld8="` -eq "1" ]
		then
			fld8=`echo "$input_" | sed -n "s/fld8=//"gp | awk -F, '{print $6}'`
			if [ "$fld8" = "" ];then fld8="n/a"; fi
		else
			echo "\n$ERRORX: Embedded filter for file excludes fld8 is missing.$DEF"
			exit 1
		fi

		if [ `echo "$input_" | grep -c "fld10="` -eq "1" ]
		then
			fld10=`echo "$input_" | sed -n "s/fld10=//"gp | awk -F, '{print $7}'`
			if [ "$(echo "$fld10" | cut -b 2-2)" = ":" ];then fld15="WINDOWS"
			elif [ "$(echo "$fld10" | cut -b 1-1)" = "/" ];then fld15="UNIX"
			elif [ "$(echo "$fld10" | cut -b 1-4)" = "CIFS" ]
			then
				fld15="WINDOWS"
				fld10cifsx="\\\\\\\\\\"
				fld10x="$(echo "$fld10" | sed -n "s/CIFS//"p)"
				fld10="$fld10cifsx$fld10x"
			fi
		else
			echo "\n$ERRORX: Staging path parameter fld10 is missing.$DEF"
			exit 1
		fi
		if [ `echo "$input_" | grep -c "fld12="` -eq "1" ]
		then
			fld12=`echo "$input_" | sed -n "s/fld12=//"gp | awk -F, '{print $8}'`
			if [ "$fld12" = "" -a "$BACKUPPRODUCT" = "networker" ];then fld12="ADME_Full"
			elif [ "$fld12" = "" -a "$BACKUPPRODUCT" = "avamar" ];then fld12="--expires=365"
			elif [ "$fld12" = "" ];then fld12="n/a"; fi
		else
			echo "\n$ERRORX: Export policy name parameter fld12 is missing.$DEF"
			exit 1
		fi
		if [ `echo "$input_" | grep -c "fld13="` -eq "1" ]
		then
			fld13=`echo "$input_" | sed -n "s/fld13=//"gp | awk -F, '{print $9}'`
			if [ "$fld13" = "" -a "$BACKUPPRODUCT" = "networker" ];then fld13="-p ADME -w Y$fld1"
			elif [ "$fld13" = "" ];then fld13="n/a"; fi
		else
			echo "\n$ERRORX: Export policy name parameter fld13 is missing.$DEF"
			exit 1
		fi
		if [ `echo "$input_" | grep -c "fld14="` -eq "1" ]
		then
			fld14=`echo "$input_" | sed -n "s/fld14=//"gp | awk -F, '{print $10}'`
			if [ "$fld14" = "" -a "$BACKUPPRODUCT" = "networker" ];then fld14="-p ADME -w $fld1"
			elif [ "$fld14" = "" ];then fld14="n/a"; fi
		else
			echo "\n$ERRORX: Export policy name parameter fld14 is missing.$DEF"
			exit 1
		fi

		if [ `echo "$input_" | grep -c "fld15="` -eq "1" ]
		then
			fld15=`echo "$input_" | sed -n "s/fld15=//"gp | awk -F, '{print $11}'`
			if [ "$fld15" != "" ]
			then
				if [ "$(echo "$fld15" | egrep -c "WINDOWS|UNIX")" -eq "0" ]
				then
					echo "\n$ERRORX: Staging server OS type fld15 is invalid.$DEF"
					exit 1
				fi
			else
				if [ "$(echo "$fld10" | cut -b 2-2)" = ":" ];then fld15="WINDOWS"
				else fld15="UNIX"; fi
			fi
		else
			echo "\n$ERRORX: Staging server OS type fld15 is missing.$DEF"
			exit 1
		fi
		if [ `echo "$input_" | grep -c "fld16="` -eq "1" ]
		then
			fld16=`echo "$input_" | sed -n "s/fld16=//"gp | awk -F, '{print $12}'`
			if [ "$fld16" = "" ];then fld16="n/a"; fi
		else
			echo "\n$ERRORX: Staging path suffix name parameter fld16 is missing.$DEF"
			exit 1
		fi
		if [ `echo "$input_" | grep -c "fld17="` -eq "1" ]
		then
			fld17=`echo "$input_" | sed -n "s/fld17=//"gp | awk -F, '{print $13}'`
			if [ "$fld17" = "" ];then fld17="n/a"; fi
		else
			echo "\n$ERRORX: Embedded filter for file includes fld17 is missing.$DEF"
			exit 1
		fi
		if [ `echo "$input_" | grep -c "fld18="` -eq "1" ]
		then
			fld18=`echo "$input_" | sed -n "s/fld18=//"gp | awk -F, '{print $14}'`
			if [ "$fld18" != "" ]
			then
				if [ "$(echo "$fld18" | egrep -c "INCDEL")" -eq "0" -a "$fld18" -ne "n/a" ]
				then
					echo "\n$ERRORX: Incremental delete paramater value fld18 is invalid.$DEF"
					exit 1
				fi
			else
				fld18="n/a"
			fi
		else
			echo "\n$ERRORX: Staging server OS type fld15 is missing.$DEF"
			exit 1
		fi


		if [ `grep -c "^$fld1," $CFG` -ne "0" ]
		then
			if [ `grep "^$fld1," $CFG | grep -c "$fld5,"` -ne "0" ]
			then
				echo "\n$ERRORX: Client [$WHITE_FG$fld5$RED_FG] is already defined to group [$WHITE_FG$fld1$RED_FG]$DEF"; exit 1
			else
				echo "$GREEN_FG\nNOTE: Client group [$fld1] already exists, inheriting existing Fld-10,Fld-12 and Fld-15 values from it $DEF"
				linex="`grep "^$fld1," $CFG | head -1`"
				fld10="`echo "$linex" | awk -F, '{print $10}'`"
				fld12="`echo "$linex" | awk -F, '{print $12}'`"
				fld13="`echo "$linex" | awk -F, '{print $13}'`"
				fld14="`echo "$linex" | awk -F, '{print $14}'`"
				fld15="`echo "$linex" | awk -F, '{print $15}'`"
			fi
		fi
	fi
	grep -n "^" $CFG | sed -n "s/:/ /"p > $BULOCATION/tmp/atocfg/.addclientx.tmp1
	linex="$(grep " $fld1," $BULOCATION/tmp/atocfg/.addclientx.tmp1 | head -1 | awk '{print $1}')"
	if [ "$linex" -ne "" ]
	then
		sed -n "1,$(expr $linex - 1)"p $CFG > $BULOCATION/tmp/atocfg/.addclientx.tmp2
		echo "$fld1,AUTO,AUTO,$fld4,$fld5,$fld6,$fld7,$fld8,DEFAULT,$fld10,AUTO,$fld12,$fld13,$fld14,$fld15,$fld16,$fld17,$fld18" >> $BULOCATION/tmp/atocfg/.addclientx.tmp2
		sed -n "$linex,99999"p $CFG >> $BULOCATION/tmp/atocfg/.addclientx.tmp2
		mv $BULOCATION/tmp/atocfg/.addclientx.tmp2 $CFG
	else
		echo "# ########" >> $CFG
		echo "# Group-ID:$fld1 Created $(date +'%Y-%m-%d %H:%M:%S')" >> $CFG
		echo "# ########" >> $CFG
		echo "$fld1,AUTO,AUTO,$fld4,$fld5,$fld6,$fld7,$fld8,DEFAULT,$fld10,AUTO,$fld12,$fld13,$fld14,$fld15,$fld16,$fld17,$fld18" >> $CFG
	fi
	echo "$GREEN_FG\nThe following client entry has been added to $CFG file$DEF\n"
	echo "$fld1,AUTO,AUTO,$fld4,$fld5,$fld6,$fld7,$fld8,DEFAULT,$fld10,AUTO,$fld12,$fld13,$fld14,$fld15,$fld16,$fld17,$fld18"

	grep -v "$fld4,$fld5" $ALLCLIENTS > $ALLCLIENTS.tmp
	echo "DEFINED,$fld4,$fld5" >> $ALLCLIENTS.tmp
	mv $ALLCLIENTS.tmp $ALLCLIENTS
}

groupsize_rtn()
{
	if [ "$1" = "" ]
        then
                echo "\n$ERROXR: Group Size [$1] argument list is empty$DEF"
		if [ "$Groupsize" -ne "1" ];then exit 1; fi
        else
                input_="$1"; Groupsize=1

                if [ $(echo "$input_" | grep -c "g=") -eq "1" ]
                then
                        group="$(echo "$input_" | sed -n "s/g=//"gp | awk -F, '{print $1}')"
			
                        if [ "$(grep -c "^$group" $CFG)" -eq "0" ]
                        then
                        	echo "\n$ERRORX: Group name specified$WHITE_FG [$group]$RED_FG doesn't exist.$DEF"
				if [ "$Groupsize" -ne "1" ];then exit 1; fi
                        fi
                else
                        echo "\n$ERRORX: Group name parameter is missing.$DEF"
			if [ "$Groupsize" -ne "1" ];then exit 1; fi
                fi
                if [ "$(echo "$input_" | grep -c "e=")" -eq "1" ]
                then
                        env=`echo "$input_" | awk -F, '{print $2}' | sed -n "s/e=//"gp`
			if [ "$env" -eq "" ];then env=20; fi
                else
                        echo "\n$ERRORX: Environment number parameter is missing.$DEF"
			if [ "$Groupsize" -ne "1" ];then exit 1; fi
                fi
                if [ "$(echo "$input_" | grep -c "p=")" -eq "1" ]
                then
                        plugin="$(echo "$input_" | awk -F, '{print $3}' | sed -n "s/p=//"gp)"
                else
                        echo "\n$ERRORX: Plug-In parameter is missing.$DEF"
			if [ "$Groupsize" -ne "1" ];then exit 1; fi
                fi
		if [ "$(date +'%d')" -eq "1" ];then override="-nday 10"; else override=""; fi
#		override="-nday 10"

		But="$(grep "^WEBUI_GROUPSIZEBUTYPE=" $BULOCATION/customize/webui.txt | tail -1 | awk -F= '{print $2}')"
                if [ "$But" = "NONE" ];then But=""; fi	
		
		$HOMEPATH/adme $env -gid $group -select $plugin -last_F $override -but $But
		if [ "$?" -ne "0" -a "$Groupsize" -eq "0" ];then exit 1; fi
		$HOMEPATH/adme $env -view -d -d
	fi
}

envreport_rtn()
{

#	if [ -f $BULOCATION/jobstats/.envreport_rtn ]
	if [ -f $BULOCATION/jobstats/.envrefresh.lck ]
	then
#		echo "Environment file lock file active, skipping refres $BULOCATION/jobstats/.envrefresh.lck"
		return
	fi
#	touch  $BULOCATION/jobstats/.envreport_rtn >/dev/null 2>&1
	touch  $BULOCATION/jobstats/.envrefresh.lck >/dev/null 2>&1

	ENVCSV="$BULOCATION/jobstats/environment.csv"
	ENVCSVTMP="$BULOCATION/jobstats/environment.csvtmp"
	envfiles="$(ls -rtl $BULOCATION/etc/atoenv.cfg* | awk -F/ '{print $NF}' | sort -u)"
	envvariables="$(egrep -v "^#|^PWX|AVAMIGRATE" $BULOCATION/etc/atoenv.cfg | awk -F= '{print $1"="}')"

	maplist_="0"
	for x in $(echo "$envvariables")
	do
		maplist_="$maplist_,$x"
	done
	maplist="$(echo "$maplist_" | sed -n "s/=//"gp)"
	echo "$maplist,STATUS" > $ENVCSVTMP

	for e in $(echo "$envfiles")
	do
		envnum="$(echo "$e" | awk -F. '{print $2}' | sed -n "s/cfg//"gp)"; if [ "$envnum" -eq "" ];then envnum="1"; fi
		entryx="$envnum"
		
		for v in $(echo $envvariables) 
		do
			varx="$(grep "^$v" $BULOCATION/etc/$e | head -1 | awk -F= '{print $2}')"
			if [ "$(echo "$varx" | grep -c "," )" -ne "0" ];then varx_="$(echo "$varx" | sed -n "s/,/+/"gp)"; varx="$varx_"; fi

#			if [ "$v" = "MAIL_TO=" -o "$v" = "MAIL_TO_ERROR=" -o "$v" = "ENDOFYEAR=" ]
#			then
## ============================> Need to check mail to address for comma separtor and convert it to a space
#				if [ "$(echo "$varx" | grep -c "," )" -ne "0" ];then varx_="$(echo "$varx" | sed -n "s/,/+/"gp)"; varx="$varx_"; fi
#			fi

			entryx="$entryx,$varx"
		done
		if [ "$envnum" -eq "1" ];then x=""; else x="$envnum"; fi
		if [ -s $BULOCATION/tmp/atocfg$x/.admebatch.lok ];then entryx="$entryx,ACTIVE"
		else entryx="$entryx,IDLE"; fi
		echo "$entryx" >> $ENVCSVTMP
	done
	sort -n -k 1 $ENVCSVTMP > $ENVCSV
	rm /$ENVCSVTMP  $BULOCATION/jobstats/.envrefresh.lck >/dev/null 2>&1
}

envedit_rtn()
{
	if [ "$1" = "" ]
	then
		echo "\n$ERRORX: Environment file edit [$1] argument list is empty$DEF"
		exit 1
	else
		if [ "$(echo "$1" | awk '{print NF}')" -eq "5" ];then newenv="1"; else  newenv="0"; fi

		if [ "$(echo "$1" | grep -c "'")" -ne "0" ]
		then
			input_="$(echo "$1" | sed -n "s/'//"gp)"
		else
			input_="$1"
		fi
	fi

	cp $ENVCFG $TMP_PATH/envedit.tmp1 >/dev/null 2>&1
	grep -n "^" $TMP_PATH/envedit.tmp1 > $TMP_PATH/envedit.num

	for x in $(echo "$input_")
	do
		grep -n "^" $TMP_PATH/envedit.tmp1 | sed -n "s/:/ /"p > $TMP_PATH/envedit.num

		argx="$(echo "$x" | awk -F= '{print $1}')"

		linex="$(grep "$argx" $TMP_PATH/envedit.num | head -1 | awk '{print $1}')"

		if [ "$linex" -eq "" ]
                then
                        echo "\n$ERRORX: Environment file variable name [$argx] does not exist$DEF"
			rm $TMP_PATH/envedit.num >/dev/null 2>&1
                        return 1
                fi
		linex_minus1="$(expr $linex - 1)"
		linex_plus1="$(expr $linex + 1)"
		sed -n "1,$linex_minus1"p $TMP_PATH/envedit.tmp1 > $TMP_PATH/envedit.tmp2

		if [ "$(echo "$x" | grep -c "+")" -ne "0" ]
		then
			x_="$(echo "$x" | sed -n "s/+/,/"gp)"; x="$x_"
		fi
		echo "$x" >> $TMP_PATH/envedit.tmp2
		sed -n "$linex_plus1,99"p $TMP_PATH/envedit.tmp1 >> $TMP_PATH/envedit.tmp2
		mv $TMP_PATH/envedit.tmp2 $TMP_PATH/envedit.tmp1 >/dev/null 2>&1
	done


 	if [ "$ENVFILECROSSERRCHK" = "true" ]
 	then
 		echo "\n=========================================================================" > $TMP_PATH/.envcrosscheck.tmp 2>&1
		echo "$BLUE_BG Cross Check for Duplicate Staging Server and MCS Thread usage...        $DEF" >> $TMP_PATH/.envcrosscheck.tmp 2>&1 
		echo "=========================================================================" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
		winss="$(grep "^WINDOWSS=" $TMP_PATH/envedit.tmp1 | head -1 | awk -F= '{print $2}')"
		if [ "$Cfg" -eq "" ];then Cfg=1; fi
		if [ "$winss" != "n/a" ]
		then
			echo "\n$CYAN_FG [$WHITE_FG Env-# $CYAN_FG] Variable-Name: [$WHITE_FG WINDOWSS ]$DEF" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
			awk -F, '{print " ["$1"] "$14}' $BULOCATION/jobstats/environment.csv | egrep -v "n/a|WINDOWSS" | grep "$winss$" | grep -v "\[$Cfg\]" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
			echo >> $TMP_PATH/.envcrosscheck.tmp 2>&1
		fi

			deny=0
			buserver="$(grep "^1" $BULOCATION/jobstats/environment.csv | awk -F, '{print $4}')"
			unixserver="$(grep "^1" $BULOCATION/jobstats/environment.csv | awk -F, '{print $11}')"
			winserver="$(grep "^1" $BULOCATION/jobstats/environment.csv | awk -F, '{print $14}')"
			if [ "$buserver" = "n/a" -o "$buserver" = "" ];then deny=1; fi
			if [ "$unixserver" = "n/a" -a "$winserver" = "n/a" ];then deny=1; fi
			if [ $deny -ne 0 ]
			then
				echo "\n$ERRORX-60I: Env-File-1 is incomplete and must be manually updated prior to establishing any additional environment files. $DEF" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
                         	cat $TMP_PATH/.envcrosscheck.tmp
				if [ "$newenv" -eq "1" -a "$Cfg" -gt "1" ]
				then
                			rm $ENVCFG >/dev/null 2>&1
                       			return 1
				fi	
			fi

		if [ "$winss" != "n/a" ]
		then
			if [ "$(grep -v "^$Cfg," $BULOCATION/jobstats/environment.csv | awk -F, '{print $14}' | grep -c "$winss$")" -ne "0" ]
			then
				if [ "$newenv" -eq "1" -a "$Cfg" -gt "1" ]
                        	then
					echo "$ERRORX-60D: The Windows staging server name [$WHITE_FG$winss$RED_FG] is currently assigned to another Env-File. Skipping $WHITE_FG CREATE$RED_FG of new Env-File [$WHITE_FG$Cfg$RED_FG] $DEF" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
					rm $ENVCFG >/dev/null 2>&1
					cat $TMP_PATH/.envcrosscheck.tmp
					return 1
				elif [ "$newenv" -eq "0" ]
				then
					if [ "$Cfg" -eq "" ];then Cfg=1; fi
					echo "$ERRORX-60E: The Windows staging server name [$WHITE_FG$winss$RED_FG] is currently assigned to another Env-File(s). $DEF" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
				fi
			fi
		fi

		unxss="$(grep "^UNIXSS=" $TMP_PATH/envedit.tmp1 | head -1 | awk -F= '{print $2}')"
		if [ "$unxss" != "n/a" ]
		then
			echo "\n$CYAN_FG [$WHITE_FG Env-# $CYAN_FG] Variable-Name: [$WHITE_FG UNIXSS ]$DEF" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
			awk -F, '{print " ["$1"] "$11}' $BULOCATION/jobstats/environment.csv | egrep -v "n/a|UNIXSS" | grep "$unxss$" | grep -v "\[$Cfg\]" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
			echo
		fi
		if [ "$unxss" != "n/a" ]
		then
			if [ "$(grep -v "^$Cfg," $BULOCATION/jobstats/environment.csv | awk -F, '{print $11}' | grep -c "$unxss$")" -ne "0" ]
			then
				if [ "$newenv" -eq "1" -a "$Cfg" -gt "1" ]
				then
					echo "$ERRORX-60F: The Unix/Linux staging server name [$WHITE_FG$unxss$RED_FG] is currently assigned to another Env-File(s). Skipping $WHITE_FG CREATE$RED_FG of new Env-File [$WHITE_FG$Cfg$RED_FG] $DEF" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
#					if [ "$Cfg" -ne "" -a "$Cfg" -ne "1" ];then rm $ENVCFG >/dev/null 2>&1; fi
#					rm $ENVCFG >/dev/null 2>&1
					cat $TMP_PATH/.envcrosscheck.tmp
					return 1
				elif [ "$newenv" -eq "0" ]
				then
					if [ "$Cfg" -eq "" ];then Cfg=1; fi
					echo "$ERRORX-60G: The Unix/Linux staging server name [$WHITE_FG$unxss$RED_FG] is currently assigned to another Env-File(s).$DEF" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
				fi
			fi
		fi

		tavadomname="$(grep "^TAVADOMAINNAME=" $TMP_PATH/envedit.tmp1 | head -1 | awk -F= '{print $2}')"
		if [ "$tavadomname" != "/ADME" -a "$tavadomname" != "not-used" ]
		then
			echo "\n$CYAN_FG [$WHITE_FG Env-# $CYAN_FG] Variable-Name: [$WHITE_FG TAVADOMAINNAME ]$DEF" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
			awk -F, '{print " ["$1"] "$9}' $BULOCATION/jobstats/environment.csv | egrep -v "not-used|TAVADOMAINNAME|/ADME$" | grep "$tavadomname$" | grep -v "\[$Cfg\]" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
			echo
		fi
		if [ "$tavadomname" != "n/a" -a "$tavadomname" != "/ADME" -a "$tavadomname" != "not-used" ]
		then
			if [ "$(grep -v "^$Cfg," $BULOCATION/jobstats/environment.csv | awk -F, '{print $9}' | grep -c "$tavadomname$")" -ne "0" ]
			then
				if [ "$newenv" -eq "0" ]
				then
					echo "$ERRORX-60H: The$WHITE_FG TAVADOMAINNAME$RED_FG thread value [$WHITE_FG$tavadomname$RED_FG] is currently assigned to another Env-File(s).$DEF" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
				elif [ "$newenv" -eq "1" -a "$Cfg" -gt "1" ]
				then
					echo "$ERRORX-60G: The TAVADOMAINNAME thread value [$WHITE_FG$tavadomname$RED_FG] is already assigned to another Env-File [$WHITE_FG$Cfg$RED_FG] $DEF" >> $TMP_PATH/.envcrosscheck.tmp 2>&1
#					if [ "$Cfg" -ne "" -a "$Cfg" -ne "1" ];then rm $ENVCFG >/dev/null 2>&1; fi
#					rm $ENVCFG >/dev/null 2>&1
#					cat $TMP_PATH/.envcrosscheck.tmp
#					return 1
				fi
			fi
		fi

		if [ "$(grep -c "ERROR-60" $TMP_PATH/.envcrosscheck.tmp)" -ne "0" ];then cat $TMP_PATH/.envcrosscheck.tmp; fi
		cp $TMP_PATH/envedit.tmp1 $ENVCFG >/dev/null 2>&1
	else
		cp $TMP_PATH/envedit.tmp1 $ENVCFG >/dev/null 2>&1
	fi
}

jobcreate_rtn()
{

	if [ "$1" = "" ]
	then
		echo "\n$ERRORX: Job create [$1] argument list is empty$DEF"
		exit 1
	else
		input_="$1"
		if [ "$(echo "$1" | grep -c "u=retire")" -eq "1" ];then function="retire"
                elif [ "$(echo "$1" | grep -c "u=delete")" -eq "1" ];then function="delete"
                elif [ "$(echo "$1" | grep -c "u=update")" -eq "1" ];then function="update"
                elif [ "$(echo "$1" | grep -c "u=getinfo")" -eq "1" ];then function="getinfo"
                elif [ "$(echo "$1" | grep -c "u=getnames")" -eq "1" ];then function="getnames"; fi

		if [ "$(echo "$input_" | grep -c "b=")" -eq "1" ]
		then
			job="$(echo "$input_" | awk -F, '{print $1}' | awk -F= '{print $2}')"
			ufield="$(echo "$input_" | awk -F, '{print $6}')"

			if [ "$(echo "$input_"|grep -c "u=getnames")" -ne "0" ]
			then
				egrep -v "^#" $BULOCATION/etc/admbatch-$job.cfg
#				echo "$returnx" | tee -a $BULOCATION/jobstats/.jobcreate_getinfo
				exit
			fi

			if [ -s $BULOCATION/etc/admbatch-$job.cfg ]
			then
					
				if [ `echo "$input_" | sed -n "s/u=//"gp | awk -F, '{print $3}'` != "update" ]
				then
					echo "\n$ERRORX: A Job-ID of [admbatch-$job.cfg] already exists$DEF"
					exit 1
				else
					rm $BULOCATION/etc/admbatch-$job.cfg >/dev/null 2>&1
				fi
			fi

			if [ `echo "$input_" | grep -c "f="` -eq "1" ]
               		then
				fail_action=`echo "$input_" | awk -F, '{print $2}' | sed -n "s/f=//"gp`
				if [ "$fail_action" != "CONTINUE" -a  "$fail_action" != "STOP" ]
				then
					echo "\n$ERRORX: A Batch Fail-Action value of [$fail_action] is invalid, must be CONTINUE or STOP$DEF" exit 1
				fi
			fi
			if [ `echo "$input_" | grep -c "p="` -eq "1" ]
               		then
				ok=0
				policies=`echo "$input_" | awk -F, '{print $4}' | sed -n "s/p=//"gp`
				if [ "$policies" != "" ]
				then
					echo "FAIL ACTION $fail_action" > $BULOCATION/etc/admbatch-$job.cfg
					for x in $policies
					do
						if [ -s $BULOCATION/etc/admbatch-$x.cfg ]
						then

							echo "$HOMEPATH/adme -BATCH admbatch-$x.cfg" >> $BULOCATION/etc/admbatch-$job.cfg
							ok=1
						else
							echo "\n$ERRORX: Unable to add standard policy name [$x] it doesn't exist$DEF"
						fi
					done
					if [ "$ok" -ne "0" ]
					then
						cat $BULOCATION/etc/admbatch-$job.cfg; return 0
					else
						echo "\n$ERRORX: No valid standard policy names passed [$policies] unable to create batch policy$DEF"
						rm -rf $BULOCATION/etc/admbatch-$job.cfg; exit 
					fi
				else
					echo "\n$ERRORX: Unable to create batch policy [$policies] policy list is empty$DEF"
					exit 1
				fi		
			fi
		fi

		if [ `echo "$input_" | grep -c "j="` -eq "1" ]
		then
			job="$(echo "$input_" | awk -F, '{print $1}' | awk -F= '{print $2}')"
			if [ -s $BULOCATION/etc/admbatch-$job.cfg ]
			then
				if [ "$function" = "getnames" ]
				then
					for x in "$(ls -rtl $BULOCATION/etc/admbatch-*.cfg | awk -F/ '{print $NF}')"
					do
						echo"Job-Name:  $x"
						
					done
					exit
				elif [ "$function" = "getinfo" ]
				then
					env="$(grep "^Environment_Number:=" $BULOCATION/etc/admbatch-$job.cfg | awk -F:= '{print $2}')"
					bgrp="$(grep "^Base_Group_Name:=" $BULOCATION/etc/admbatch-$job.cfg | awk -F:= '{print $2}')"
					sel="$(grep "^Select_Flags:=" $BULOCATION/etc/admbatch-$job.cfg | awk -F:= '{print $2}')"
					mig="$(grep "^Migration_Flags:=" $BULOCATION/etc/admbatch-$job.cfg | awk -F:= '{print $2}')"
					returnx="j=$job,e=$env,g=$bgrp,s=$sel,m=$mig,u=getinfo"
					$BULOCATION/jobstats/.jobcreate_getinfo >/dev/null 2>&1
					echo "$returnx" | tee -a $BULOCATION/jobstats/.jobcreate_getinfo
					exit
				elif [ "$function" = "delete" ]
				then
					jobschedule_rtn j=$job,m=*,h=*,date=*,month=*,day=*,state=r
					rm $BULOCATION/etc/admbatch-$job.cfg $BULOCATION/log/admbatch-$job.log >/dev/null 2>&1
					grep -v ",$job," $BULOCATION/jobstats/jobpolicy.csv > $BULOCATION/jobstats/jobpolicy.csvtmp >/dev/null 2>&1
					mv $BULOCATION/jobstats/jobpolicy.csvtmp $BULOCATION/jobstats/jobpolicy.csv >/dev/null 2>&1
					grep -v "^$job," $BULOCATION/jobstats/jobactivity.csv > $BULOCATION/jobstats/jobactivity.csvtmp >/dev/null 2>&1
					mv $BULOCATION/jobstats/jobactivity.csvtmp $BULOCATION/jobstats/jobactivity.csv >/dev/null 2>&1
					exit 
				elif [ "$function" = "retire" ]
				then
					if [ -s $BULOCATION/etc/admbatch-$job.cfg ]
					then
						jobschedule_rtn j=$job,m=*,h=*,date=*,month=*,day=*,state=r
						mv $BULOCATION/etc/admbatch-$job.cfg $BULOCATION/retire/admbatch-$job.cfg >/dev/null 2>&1
						mv $BULOCATION/log/admbatch-$job.log $BULOCATION/retire/admbatch-$job.log >/dev/null 2>&1 
						grep -v ",$job," $BULOCATION/jobstats/jobpolicy.csv > $BULOCATION/jobstats/jobpolicy.csvtmp >/dev/null 2>&1
						mv $BULOCATION/jobstats/jobpolicy.csvtmp $BULOCATION/jobstats/jobpolicy.csv >/dev/null 2>&1
						grep -v "^$job," $BULOCATION/jobstats/jobactivity.csv > $BULOCATION/jobstats/jobactivity.csvtmp >/dev/null 2>&1
						mv $BULOCATION/jobstats/jobactivity.csvtmp $BULOCATION/jobstats/jobactivity.csv 
						mv $BULOCATION/etc/admbatch-$job.csv  $BULOCATION/retire/admbatch-$job.csv >/dev/null 2>&1
					fi
					return
				elif [ "$function" != "update" ]
				then
					echo "\n$ERRORX: The jobcreate function passed is invalid [$WHITE_FG$(echo "$input_" | sed -n "s/j=//"gp | awk -F, '{print $6}')]$DEF"
					exit 1
				fi
#			elif [ `echo "$input_" | sed -n "s/j=//"gp | awk -F, '{print $6}'` != "u=update" ]
#			then
#				echo "\n$ERRORX: Job name parameter is missing or job does not exist. [$WHITE_FG$job]$DEF"
#				exit 1
			fi
		fi

		rm $BULOCATION/etc/admbatch-$job.cfg >/dev/null 2>&1 
		if [ `echo "$input_" | grep -c "e="` -eq "1" ]
		then
			env=`echo "$input_" | awk -F, '{print $2}' | sed -n "s/e=//"gp`
			echo "Environment_Number:=$env" >> $BULOCATION/etc/admbatch-$job.cfg
		else
			echo "\n$ERRORX: Environment number parameter is missing.$DEF"
			rm $BULOCATION/etc/admbatch-$job.cfg >/dev/null 2>&1
			exit 1
		fi

		if [ `echo "$input_" | grep -c "g="` -eq "1" ]	
		then
			grpname=`echo "$input_" | awk -F, '{print $3}' | sed -n "s/g=//"gp`
			echo "Base_Group_Name:=$grpname" >> $BULOCATION/etc/admbatch-$job.cfg
			echo "Sub_Group_Numbers:=0" >> $BULOCATION/etc/admbatch-$job.cfg
		else
			echo "\n$ERRORX: Group name parameter is missing.$DEF"
			rm $BULOCATION/etc/admbatch-$job.cfg >/dev/null 2>&1
			exit 1
		fi

		if [ `echo "$input_" | grep -c "s="` -eq "1" ]
		then
			selflags=`echo "$input_" | awk -F, '{print $4}' | sed -n "s/s=//"gp`
			echo "Select_Flags:=-d $selflags" >> $BULOCATION/etc/admbatch-$job.cfg
			echo "View_Flags:=-d" >> $BULOCATION/etc/admbatch-$job.cfg
		else
			echo "\n$ERRORX: Selection Flags are missing.$DEF"
			rm $BULOCATION/etc/admbatch-$job.cfg >/dev/null 2>&1
			exit 1
		fi

		if [ `echo "$input_" | grep -c "m="` -eq "1" ]
		then
			migrationflags=`echo "$input_" | awk -F, '{print $5}' | sed -n "s/m=//"gp`
			echo "Migration_Flags:=-d -D -m $migrationflags" >> $BULOCATION/etc/admbatch-$job.cfg
		else
			echo "\n$ERRORX: Migration Flags are missing.$DEF"
			rm $BULOCATION/etc/admbatch-$job.cfg >/dev/null 2>&1
			exit 1
		fi
		cat $BULOCATION/etc/admbatch-$job.cfg
	fi
}

jobpolicy_rtn()
{

	JOBPOLICY="$BULOCATION/jobstats/jobpolicy.csv"
	JOBREPORT="$BULOCATION/jobstats/jobactivity.csv"
	rm $JOBPOLICY >/dev/null 2>&1

	if [ -f /etc/SuSE-release ];then CRON="/var/spool/cron/tabs/root"; else CRON="/var/spool/cron/root"; fi
	batchlist="$(ls -rtl $BULOCATION/etc/admbatch-*.cfg | awk -F/ '{print $NF" "}')"

	for x in $batchlist
	do
		if [ "$x" = "admbatch-.cfg" ];then break; fi
		jobschedule_rtn "j=$x,m=00,h=*,date=*,month=*,day=*,state=g"

		jx="$(echo "$x" | sed -n "s/admbatch-//"gp | sed -n "s/.cfg//"gp)"
		if [ "$(grep -c "FAIL ACTION" $BULOCATION/etc/$x)" -ne "0" ]
		then
			jobtype="BATCH"
			failaction="$(grep "FAIL ACTION" $BULOCATION/etc/$x | head -1 | awk '{print $NF}')"
			calllist_="$(egrep -v "^FAIL ACTION|^#" $BULOCATION/etc/$x | grep "admbatch-" | awk '{print $NF}' | sed -n "s/admbatch-//"gp | sed -n "s/.cfg//"gp)"
			calllist=""
			for c in $calllist_
			do
				jobenvx="$(grep "^$c" $JOBREPORT | head -1 | awk -F, '{print $22}')"
				if [ "$jobenvx" -eq "" ];then jobenvx="?"; fi
				calllist="$calllist [$jobenvx]$c "
			done
			policyentry="$jobtype,$jx,n/a,n/a,n/a,n/a,0,n/a,n/a,$failaction,$calllist,$Cronx"
			echo "$policyentry" >> $JOBPOLICY
		else
			jobtype="STANDARD"
			policyentry="$(grep "^$jx," $JOBREPORT | head -1 | awk -F, '{print $1","$2","$5","$19","$21","$22","$23","$24}')"
			echo "$jobtype,$policyentry,n/a,n/a,$Cronx" >> $JOBPOLICY
		fi
	done
}


jobreport_rtn()
{
	if [ "$1" = "all" -o "$1" = "" ]
	then
		egrep "ATO-BATCH|ADME-BATCH-" $BULOCATION/log/admbatch-*.log | sed -r "s:\x1B\[[0-9;]*[mK]::g"
	else
		if [ -s $BULOCATION/log/admbatch-$1.log ]
		then
			egrep "ATO-BATCH-|ADME-BATCH-" $BULOCATION/log/admbatch-$1.log | sed -r "s:\x1B\[[0-9;]*[mK]::g"
		else
			echo "\n$ERRORX: Job name [$1] has no available run log or is invalid.$DEF"
			exit 1
		fi
	fi
}

job_history_rtn()
{

	jcfg="$BULOCATION/etc/$1"
	filenum="$BULOCATION/jobstats/.jobhisttmp.num"
	filecsv="$BULOCATION/jobstats/.jobhisttmp.csv"
	jobhistcsv="$BULOCATION/jobstats/jobhistory.csv"
	jobindividual="$BULOCATION/jobstats/jobindividual.log"

#	filenum="$TMP_PATH/.jobhisttmp.num"
#	filecsv="$TMP_PATH/.jobhisttmp.csv"
#	jobhistcsv="$BULOCATION/jobstats/jobhistory.csv"
#	jobhistcsv="$TMP_PATH/jobstats/jobhistory.csv"
#	jobindividual="$TMP_PATH/jobindividual.log"
	
	if [ "$(echo "$jcfg" | grep -c ".cfg")" -ne "0" ]
	then
		jlog="$(echo "$jcfg" | sed -n "s/.cfg/.log/"gp | sed -n "s/etc/log/"gp)"
		jcsv="$(echo "$jcfg" | sed -n "s/.cfg/.csv/"gp | sed -n "s/etc/jobstats/"gp)"
	else
		echo "$ERRORX-99B: The job name passed is not valid. [$WHITE_FG $jcfg $DEF]"
		return 1
	fi

	if [ ! -s $jcsv -o "$2" = "last" -o "$2" = "force" ]
	then
		rm $filecsv $filenum $jobhistcsv $jobindividual  >/dev/null 2>&1
		touch $jlog

		egrep -n "^BATCHPID=|JOB - SUMMARY| BATCH - SUMMARY" $jlog | sed -n "s/:/ /"p | sed -r "s:\x1B\[[0-9;]*[mK]::g" > $filenum

		linecnt=1; lastcnt="$(wc -l $jlog | awk '{print $1}')"
		while true
		do
			if [ "$linecnt" -ge "$lastcnt" ];then break; fi
			content1="$(sed -n "$linecnt,$linecnt"p $filenum 2>/dev/null)"
			linecnt2="$(expr $linecnt + 1)"
			content2="$(sed -n "$linecnt2,$linecnt2"p $filenum 2>/dev/null)"
			linecnt3="$(expr $linecnt + 2)"
			content3="$(sed -n "$linecnt3,$linecnt3"p $filenum 2>/dev/null)"

			if [ "$(echo "$content2" | grep -c "BATCHPID")" -eq "0" ]
			then
				first_line="$(echo "$content1" | awk '{print $1}')"
				summary_line="$(echo "$content2" | awk '{print $1}')"
				last_line="$(echo "$content3" | awk '{print $1}')"
				if [ "$last_line" -eq "" ]
				then
					last_line="$lastcnt"
					echo "SUMMARY-YES,$first_line,$summary_line,$last_line" >> $filecsv
					break
				else
					echo "SUMMARY-YES,$first_line,$summary_line,$last_line" >> $filecsv
					if [ "$linecnt" -lt "$lastcnt" ];then linecnt="$(expr $linecnt + 2)"; fi
				fi
			elif [ "$(echo "$content2" | grep -c "BATCHPID")" -eq "1" ]
			then
				first_line="$(echo "$content1" | awk '{print $1}')"
				last_line="$(echo "$content2" | awk '{print $1}')"
				summary_line="$last_line"
				if [ "$last_line" -eq "" ]
				then
					last_line="$lastcnt"
					echo "SUMMARY-NO,$first_line,$summary_line,$last_line" >> $filecsv
					break
				else
					echo "SUMMARY-NO,$first_line,$summary_line,$last_line" >> $filecsv
					if [ "$linecnt" -lt "$lastcnt" ];then linecnt="$(expr $linecnt + 1)"; fi
				fi
			fi
		done

		if [ "$2" = "last" ]
		then
			last_line="$(tail -1 $filecsv)"
			echo "$last_line" > $filecsv
			if [ -s $jcsv ];then mv $jcsv $jcsv.SAVE >/dev/null 2>&1; fi
		fi

#		data to be instantly available.

		linecnt=1; lastcnt="$(wc -l $filecsv | awk '{print $1}')"
		while true
		do
			range="$(sed -n "$linecnt,$linecnt"p $filecsv)"
			startline="$(echo "$range" | awk -F, '{print $2}')"
			summmaryline="$(echo "$range" | awk -F, '{print $3}')"
			endline="$(echo "$range" | awk -F, '{print $4}')"
			endlinex="$(expr $endline - 1)"
			if [ "$endline" -eq "" ];then endline="$lastcnt"; fi
			if [ "$summmaryline" -eq "" ];then summmaryline="$endline"; fi
			metadata="$startline,$summmaryline,$endline"
			if [ "$linecnt" -lt "$lastcnt" ]
			then
				linecnt="$(expr $linecnt + 1)"
				sed -n "$startline,$endlinex"p $jlog > $jobindividual
				gather_stats_rtn $jcfg $metadata
			else
				endlinex="$(expr $endline + 1)"
				sed -n "$startline,$endlinex"p $jlog > $jobindividual
				gather_stats_rtn $jcfg $metadata
				break
			fi
		done

		if [ "$2" = "last" ]
		then
			if [ -s $jcsv.SAVE ];then mv $jcsv.SAVE $jcsv; fi
			cat $jobhistcsv >> $jcsv 
		else
			mv $jobhistcsv $jcsv >/dev/null 2>&1
		fi
		rm $filenum $filecsv >/dev/null 2>&1
	else
		return 0
	fi
}

gui_rtn()
{
	action="$1"
	FLAGFILE="$BULOCATION/customize/webui.txt"

	if [ -s $FLAGFILE ];then webui_path="$(grep "^WEBUI_PATH=" $FLAGFILE | awk -F= '{print $2}')"; else webui_path="$BULOCATION"; fi
	if [ -s $FLAGFILE ];then webui_log="$(grep "^WEBUI_LOG=" $FLAGFILE | awk -F= '{print $2}')"; else webui_log="$BULOCATION/log"; fi
	if [ -s $FLAGFILE ];then JAVAFILE="$(grep "^WEBUI_BINARY=" $FLAGFILE | awk -F= '{print $2}')"; else JAVAFILE="adme.war"; fi
	if [ "$JAVAFILE" = "" -o "$webui_log" = "" -o "$webui_path" = "" ]
	then
		echo "$ERRORX-GUI: Check contents of $BULOCATION/customize/webui.txt for valid contents in variables WEBUI_PATH, WEBUI_LOG, WEBUI_BINARY $DEF"
		exit 1
	fi 

	if [ "$action" = "stop" -o "$action" = "restart" ]
	then
		guipid="$(ps -ef | grep "$JAVAFILE" | grep -v "grep" | head -1 | awk '{print $2}')"
		if [ "$guipid" -ne "1" ]
		then
			kill -9 $guipid >/dev/null 2>&1
			echo "$GREEN_FG\nADMe WEB-UI has been stopped$DEF"
		fi
		if [ "$action" = "stop" ];then return; fi
	fi
	if [ "$action" = "start" -o "$action" = "restart" ]
	then
		if [ ! -s $webui_path/$JAVAFILE ]
		then
			echo "\n$ERRORX-99E: Unable to stat Web-UI binary [$WHITE_FG$webui_path/$JAVAFILE$RED_FG]$DEF"
			return 1
		fi
		guipid="$(ps -ef | grep "$JAVAFILE" | grep -v "grep" | awk '{print $2}')"

		if [ "$guipid" -eq "" ]
		then
			securestatus1="$(avtar --version | grep "version:" | grep -v "OS" | awk '{print $2}' | grep -E -c "^19.3|^19.4|^19.5|^19.6|^19.7|^19.8|^19.9|^20|^20.1|20.2")"
			if [ -s $BULOCATION/tmp/webapp/current.version.txt ]
			then
				securestatus2="$(grep -E -c "NA|63|64|65|66|67|68|69|70" $BULOCATION/tmp/webapp/current.version.txt)"
			fi
#			rm -rf $BULOCATION/tmp/webapp >/dev/null 2>&1
			cd $webui_log >/dev/null 2>&1


			if [ "$securestatus1" -eq "1" -a "$securestatus2" -eq "1" -a -f /home/admin/.keystore ]
			then
 				nohup  2>/dev/null java -jar $webui_path/$JAVAFILE --useSystemKeystore & >$BULOCATION/log/nohup.out 2>&1
				sleep 5
				checkservicestart="$(tail -10 $BULOCATION/log/nohup.out | grep -c "UnrecoverableKeyException: Invalid password")"
				if [ "$checkservicestart" -gt "0" ]
				then
					echo "\n$RED_BG$WHITE_FG Warning: $DEF$CYAN_FG ADMe WEB-UI service failed to start using system keystore certificate or there's no$HITE_FG /home/admin/.keystore$CYAN_FGe file\n           or the default keystore password is Invalid, Review log $WHITE_FG$BULOCATION/log/nohup.out$CYAN_FG for clues\n           Trying again without using the keystore...$DEF"
 					nohup >/dev/null 2>&1 java -jar $webui_path/$JAVAFILE & >/dev/null 2>&1
				fi
			else
 				nohup 2>/dev/null java -jar $webui_path/$JAVAFILE & >/dev/null 2>&1
			fi
			sleep 5


			cd $BULOCATION  >/dev/null 2>&1
			guipid="$(ps -ef | grep "$JAVAFILE" | grep -v "grep" | awk '{print $2}')"
			withkeystore="$(ps -ef | grep "$JAVAFILE" | grep -v "grep" | grep -c "useSystemKeystore")"

			if [ "$guipid" -ne "" ]
			then
				
				if [ "$withkeystore" -eq "1" ];then echo "$GREEN_FG\nADMe WEB-UI service started successfully PID=[$WHITE_FG$guipid$GREEN_FG] using KEYSTORE certificate $DEF"
				else echo "$GREEN_FG\nADMe WEB-UI service started successfully PID=[$WHITE_FG$guipid$GREEN_FG] without using the KEYSTORE$DEF"; fi
				echo "$CYAN_FG To launch, point your browser to URL - $WHITE_FG https://$(hostname -f):8888$DE$DEF\n"
#				return 0
			else
				echo "\n$ERRORX-99C: ADMe WEB-UI service has failed to start, Review log $WHITE_FG$webui_log$RED_FG for more detail$DEF"
#				return 1
			fi
		else
			echo "$GREEN_FG\nADMe WEB-UI service is already started PID=[$WHITE_FG$guipid$GREEN_FG]$DEF"
			echo "$CYAN_FG To launch Web-UI, point your browser to URL - $WHITE_FG https://$(hostname -f):8888$DEF$DEF\n"
		fi
	elif [ "$action" = "status" ]
	then
		guipid="$(ps -ef | grep "$JAVAFILE" | grep -v "grep" | awk '{print $2}')"
		withkeystore="$(ps -ef | grep "$JAVAFILE" | grep -v "grep" | grep -c "useSystemKeystore")"
		if [ "$guipid" -ne "" -a "$withkeystore" -gt "0" ]
		then
			echo "$GREEN_FG\nADMe WEB-UI service was started using KEYSTORE certificate PID=[$WHITE_FG$guipid$GREEN_FG]$DEF"
			echo "$CYAN_FG To launch Web-UI, point your browser to URL - $WHITE_FG https://$(hostname -f):8888$DEF\n"
#			return 0
		elif [ "$guipid" -ne "" -a "$withkeystore" -eq "0" ]
		then
			echo "$GREEN_FG\nADMe WEB-UI service was started without using KEYSTORE certificate PID=[$WHITE_FG$guipid$GREEN_FG]$DEF"
			echo "$CYAN_FG To launch Web-UI, point your browser to URL - $WHITE_FG https://$(hostname -f):8888$DEF\n"
		else
			echo "\n$ERRORX-99D: ADMe WEB-UI service is not started$DEF"
#			return 1
		fi
	else
		echo "\n$ERRORX-99F: Invalid argument was passed [$WHITE_FG$action$RED_FG]$DEF"
		echo "\nAvailable Options: stop | start | restart | status | refresh full\n"
		return 1
	fi
	webui_buildcur="$(egrep "ADME WebGUI version|VERSION_ATOUI" $BULOCATION/log/webui.log.0 | tail -1 | awk -F: '{print $3}')"
	if [ "$webui_buildcur" = "NA" ];then webui_buildcur="Not-Available"; fi
	if [ " $webui_buildcur" = "$WEBUI_BUILDREQ" ];then echo "$GREEN_FG Web-UI build compatibility Current-Version=[$WHITE_FG$webui_buildcur$GREEN_FG] Minimum-Required-Version=[$WHITE_FG$WEBUI_BUILDREQ$GREEN_FG]$DEF"
	elif [ "$webui_buildcur" != "$WEBUI_BUILDREQ" ]
	then
		echo "$RED_BG$WHITE_FG WARNING: $DEF$CYAN_FG Web-UI Version# may not be compatible: Current-Version=[$WHITE_FG$webui_buildcur$CYAN_FG] Minimum-Required-Version=[$WHITE_FG$WEBUI_BUILDREQ$CYAN_FG]$DEF"
	fi
}

## ******************************
##       MAIN Main main
## ******************************
Argc="$#"; purgefilechk=0; export ARGS="$*"; export Function=0; clientx=0; Debug=0; Log_=0; Min_=0; Quiet="--quiet"; MailFlag=0; VSS=0; HypervFlag=0; SapFlag=0; SqlFlag=0; NWKsaveFlag=0
NdmpFlag=0; ExchFlag=0; Allnodes=""; Avtarflags=""; Shptflags=""; SHPT_flags=""; MCCLI_avflags=""; AVTAR_avflags=""; Avtar_Version=""; AVTAR_expire="--expires=2"; inst="Ins"; inst2="tall-"
Overwrite="--overwrite=newest"; Filex=""; Sharepoint=0; dash="-"; ast="*"; Ereturn=0; AvtarRes=0; DeleteFlag=0; SSID=""; BUID=""; Nwinc=0; Networker_recovery=0; NWclx=""; inst3="Code"
Stageonly_=0; Useropts=""; Mode1=0; errflg=0; compflg=0; missflg=-0; total=0; sleep=10; StreamFlag=""; Sdate=""; Edate=""; Cfg=""; Atmos=0; Dec1="hk5e32"; Dec2="ak7g543"
sqlcnt=0; excnt=0; fscnt=0; Wkly=0; export Wkly; Mode1Path="BYDATE"; a1="I-AM-TRAINED-AND "; Retry=0; Rerun=0; Retry_flag=0; spcnt=0; ckit="adme"; ckit2="admin"; Buids_save=""; 
KEEP=0; ExchvssAvtar=""; HypervssAvtar=""; a3="TO-DEPLOY-ADME"; Plugx="--pluginids=1001,2001,3001,4001,5001,6001,10001,11001,12001,13001",1049,3036;
Expire_Date=""; head_host="$(hostname)"; Format=""; EnvMgr=0; Use_DD=""; Security_Refresh=""
info="For ADMe initial implementation, please contact your local Dell EMC account team to have them engage ADMe trained Professional Services with access to the Install-Code"
DEF="\033[0m"; Nocalc=0; Jobschedule=0; Jobreport=0; Cronx=""; Jobcancel=0; Export_Hash=""; Prompt=""; AVAmigrate=""; build1="word"; build2="enc"; build3="pass"; build4="ode"; ms="$info"
WEBLINK="https://www.dell.com/support/kbdoc/en-ca/000182609"; a2="AUTHORIZED-"; Exp="45"
Korn="$(rpm -qa | grep ksh | head -1 | awk '{print $1}')"
if [ "$(echo "$Korn" | grep -c "50")" -ne "0" ];then Asciesc="\c"; else Asciesc="\c\r"; fi

## ###############################
## ESTABLISH ENVIRONMENT VARIABLES
## ###############################

if [ -s /home/admin/admeadmin/etc/atoenv.cfg ]
then
	BULOCATION="$(grep "^BULOCATION=" /home/admin/admeadmin/etc/atoenv.cfg | tail -1 | awk '{print $1}' | awk -F= '{print $2}')"
else
	BULOCATION="/home/admin/admeadmin"
fi

if [ ! -d $BULOCATION/stats ];then mkdir $BULOCATION/stats >/dev/null 2>&1; fi
if [ ! -d $BULOCATION/etc ];then mkdir $BULOCATION/etc >/dev/null 2>&1; fi
if [ ! -d $BULOCATION/log ];then mkdir $BULOCATION/log >/dev/null 2>&1; fi
if [ ! -d $BULOCATION/tmp ];then mkdir $BULOCATION/tmp >/dev/null 2>&1; fi
if [ ! -d $BULOCATION/customize ];then mkdir $BULOCATION/customize >/dev/null 2>&1; fi
if [ ! -d $BULOCATION/stats ];then mkdir $BULOCATION/stats >/dev/null 2>&1; fi
if [ ! -d $BULOCATION/jobstats ];then mkdir $BULOCATION/jobstats >/dev/null 2>&1; fi
if [ ! -d $BULOCATION/audit ];then mkdir $BULOCATION/audit >/dev/null 2>&1; fi
if [ ! -d $BULOCATION/retire ];then mkdir $BULOCATION/retire >/dev/null 2>&1; fi
if [ ! -d $BULOCATION/tools ];then mkdir $BULOCATION/tools >/dev/null 2>&1; fi
if [ ! -f $BULOCATION/customize/recapture.txt ];then touch $BULOCATION/customize/recapture.txt; fi

today="$(date +'20%y-%m-%d-%H:%M')"
CHK_password="$(grep "^--password=" /usr/local/avamar/etc/usersettings.cfg | awk -F= '{print $2}')"

if [ "$(echo "$(id)" | grep -c "admin")" -ge "1" ]
then
	echo "\nERROR: ADMIN account not currently supported ... \n"
 	exit 1
#	Sudo="sudo"
#	Userid="admin"
else
	Sudo=""
	Userid="root "
fi
z="$build2$build4$build3$build1"
if [ -s $BULOCATION/audit/... ];then pw="$(cat $BULOCATION/audit/... | grep "^2=" | awk -F= '{print $2}' | cut -b 4-99)"
else pw="empty"; fi

if [ ! -f $BULOCATION/customize/.adme.cfg.lck ]
then
 	touch $BULOCATION/customize/.adme.cfg.lck
	chown admin:admin $BULOCATION/customize/.adme.cfg.lck
	chmod 760 $BULOCATION/customize/.adme.cfg.lck

	if [ "$(wc -l $BULOCATION/customize/adme.cfg 2>/dev/null | awk '{print $1}')" -lt "13" ]
	then
		if [ -s $BULOCATION/customize/.gold_adme.cfg ];then cp $BULOCATION/customize/.gold_adme.cfg $BULOCATION/customize/adme.cfg
		else rm $BULOCATION/customize/adme.cfg >/dev/null 2>&1; fi
	fi

	if [ ! -s $BULOCATION/customize/adme.cfg ]
	then

		if [ -f $BULOCATION/customize/ignore-ERROR-04B.txt ]
		then
			echo "MASK_ERROR_04B=true" >> $BULOCATION/customize/adme.cfg; MASK_ERROR_04B="true"
			rm $BULOCATION/customize/ignore-ERROR-04B.txt >/dev/null 2>&1
		else
			echo "MASK_ERROR_04B=false" >> $BULOCATION/customize/adme.cfg; MASK_ERROR_04B="false"
		fi

		if [ -f $BULOCATION/customize/ignore-ERROR-05A.txt ]
		then
			echo "MASK_ERROR_05A=true" >> $BULOCATION/customize/adme.cfg; MASK_ERROR_05A="true"
			rm $BULOCATION/customize/ignore-ERROR-04B.txt >/dev/null 2>&1
		else
			echo "MASK_ERROR_05A=false" >> $BULOCATION/customize/adme.cfg; MASK_ERROR_05A="false"
		fi

		if [ -f $BULOCATION/customize/menulock.txt ]
		then
			echo "MENULOCK=false" >> $BULOCATION/customize/adme.cfg; MENULOCK="false"
		else
			echo "MENULOCK=true" >> $BULOCATION/customize/adme.cfg; MENULOCK="true"
		fi

		rm $BULOCATION/customize/security?.txt > /dev/null 2>&1
		echo "SECURITYMODE=enhanced" >> $BULOCATION/customize/adme.cfg; SECURITYMODE="enhanced"; SECURITYMODE="enhanced"

		if [ -s $BULOCATION/customize/datadomain.cfg ]
		then
			ddindex_="$(grep "^DDRINDEX=" $BULOCATION/customize/datadomain.cfg | head -1 | awk -F= '{print $2}')"
			echo "DDRINDEX=$ddindex_" >> $BULOCATION/customize/adme.cfg; DDRINDEX="$ddindex_"
 			rm $BULOCATION/customize/datadomain.cfg >/dev/null 2>&1
		else
			DDRINDEX="$(ddrmaint read-ddr-info --format=full | grep "System index" | head -1 |  awk -F: '{print $2}' | sed -n "s/ //"p)"
			echo "DDRINDEX=$DDRINDEX" >> $BULOCATION/customize/adme.cfg; DDRINDEX=1 
		fi

		if [ -s $BULOCATION/customize/config_excludes.txt ]
		then
			domainxyz="$(head -1 $BULOCATION/customize/config_excludes.txt)"
			echo "CMDOMAINEXCLUDES=$domainxyz|/MC_SYSTEM|ADMEbackups" >> $BULOCATION/customize/adme.cfg; CMDOMAINEXCLUDES="$domainxyz"
		else
			echo "CMDOMAINEXCLUDES=/MC_SYSTEM|ADMEbackups" >> $BULOCATION/customize/adme.cfg; CMDOMAINEXCLUDES="/MC_SYSTEM|ADMEbackups"
		fi

		echo "MAXENVCOUNT=20" >> $BULOCATION/customize/adme.cfg; MAXENVCOUNT="20"; rm $BULOCATION/customize/envcount.txt >/dev/null 2>&1
		echo "CMCOLWIDTH=35" >> $BULOCATION/customize/adme.cfg; CMCOLWIDTH="35" 
		echo "POLICYCOLWIDTH=30" >> $BULOCATION/customize/adme.cfg; POLICYCOLWIDTH="30"
		echo "MAXJOBNAMELENGTH=10" >> $BULOCATION/customize/adme.cfg; MAXJOBNAMELENGTH="10"
		echo "MAINTDISPLAY=false" >> $BULOCATION/customize/adme.cfg; MAINTDISPLAY="false"
		echo "CMINHIBITCOUNTERS=false" >> $BULOCATION/customize/adme.cfg; CMINHIBITCOUNTERS="false"
		echo "ENVFILECROSSERRCHK=true" >> $BULOCATION/customize/adme.cfg; ENVFILECROSSERRCHK="true"
		echo "MAIL_NOTIFICATION_EXTENSION=txt" >> $BULOCATION/customize/adme.cfg; MAIL_NOTIFICATION_EXTENSION="txt"
		echo "NETWORKERSERVEROS=WINDOWS" >> $BULOCATION/customize/adme.cfg; NETWORKERSERVEROS="WINDOWS"
		echo "VMQUALIFIEDNAMES=true" >> $BULOCATION/customize/adme.cfg; VMQUALIFIEDNAMES="true"
		echo "MASK_AVA_ERROR_10020=false" >> $BULOCATION/customize/adme.cfg; MASK_AVA_ERROR_10020="false"
		
		rm -rf  $BULOCATION/customize/skipit2.txt $BULOCATION/customize/security*.txt $BULOCATION/customize/menulock.txt $BULOCATION/customize/config_excludes.txt >/dev/null 2>&1

	elif [ -s $BULOCATION/customize/adme.cfg ]
	then
		MASK_ERROR_04B="$(grep "^MASK_ERROR_04B=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')" 
		MASK_ERROR_05A="$(grep "^MASK_ERROR_05A=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		MASK_AVA_ERROR_10020="$(grep "^MASK_AVA_ERROR_10020=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		MAXENVCOUNT="$(grep "^MAXENVCOUNT=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		MAXJOBNAMELENGTH="$(grep "^MAXJOBNAMELENGTH=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		if [ "$MAXJOBNAMELENGTH" -gt "15" ];then MAXJOBNAMELENGTH="15"; fi
		CMDOMAINEXCLUDES="$(grep "^CMDOMAINEXCLUDES=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		CMCOLWIDTH=="$(grep "^CMCOLWIDTH=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		POLICYCOLWIDTH="$(grep "^POLICYCOLWIDTH=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		MAINTDISPLAY="$(grep "^MAINTDISPLAY=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		SECURITYMODE="$(grep "^SECURITYMODE=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		if [ "$SECURITYMODE" != "enhanced" ]
		then
			grep -v "^SECURITYMODE=" $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.tmp
                        echo "SECURITYMODE=enhanced" >> $BULOCATION/customize/adme.cfg.tmp; SECURITYMODE="enhanced"
                        mv $BULOCATION/customize/adme.cfg.tmp $BULOCATION/customize/adme.cfg >/dev/null
		fi

		MENULOCK="$(grep "^MENULOCK=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		CMINHIBITCOUNTERS="$(grep "^CMINHIBITCOUNTERS=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		ENVFILECROSSERRCHK="$(grep "^ENVFILECROSSERRCHK=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		DDRINDEX="$(grep "^DDRINDEX=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"

		if [ "$(grep -c "^MAIL_NOTIFICATION_EXTENSION=" $BULOCATION/customize/adme.cfg)" -eq "0" ] 
		then 
			echo "MAIL_NOTIFICATION_EXTENSION=txt" >> $BULOCATION/customize/adme.cfg; MAIL_NOTIFICATION_EXTENSION="txt"
		else MAIL_NOTIFICATION_EXTENSION="$(grep "^MAIL_NOTIFICATION_EXTENSION=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"; fi
		if [ "$(grep -c "^NETWORKERSERVEROS=" $BULOCATION/customize/adme.cfg)" -eq "0" ] 
		then 
			echo "NETWORKERSERVEROS=WINDOWS" >> $BULOCATION/customize/adme.cfg; NETWORKERSERVEROS="WINDOWS"
		else NETWORKERSERVEROS="$(grep "^NETWORKERSERVEROS=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"; fi

		if [ "$(grep -c "^MASK_AVA_ERROR_10020=" $BULOCATION/customize/adme.cfg)" -eq "0" ] 
		then 
			echo "MASK_AVA_ERROR_10020=false" >> $BULOCATION/customize/adme.cfg; MASK_AVA_ERROR_10020="false"
		else VMQUALIFIEDNAMES="$(grep "^VMQUALIFIEDNAMES=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"; fi

		if [ "$(grep -c "^VMQUALIFIEDNAMES=" $BULOCATION/customize/adme.cfg)" -eq "0" ] 
		then 
			echo "VMQUALIFIEDNAMES=true" >> $BULOCATION/customize/adme.cfg; VMQUALIFIEDNAMES="true"
		else VMQUALIFIEDNAMES="$(grep "^VMQUALIFIEDNAMES=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"; fi

		sort -k1 $BULOCATION/customize/adme.cfg > $BULOCATION/customize/adme.cfg.srt
		mv $BULOCATION/customize/adme.cfg.srt $BULOCATION/customize/adme.cfg >/dev/null 2>&1
		if [ "$(wc -l $BULOCATION/customize/adme.cfg 2>/dev/null | awk '{print $1}')" -eq "0" ]
		then
			if [ -s $BULOCATION/customize/.gold_adme.cfg ];then cp $BULOCATION/customize/.gold_adme.cfg $BULOCATION/customize/adme.cfg >/dev/null 2>&1
			else rm $BULOCATION/customize/adme.cfg >/dev/null 2>&1; fi
		fi
	fi
fi

if [ -s $BULOCATION/customize/webui.txt ]
then
	if [ "$(grep -c "WEBUI_REFRESHLOOPCNT=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_REFRESHLOOPCNT=5" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_REFRESHLOOPDELAY=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_REFRESHLOOPDELAY=1" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_REFRESHTYPE=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_REFRESHTYPE=full" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_REFRESHTYPE2=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_REFRESHTYPE2=partial" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_GROUPSIZEBUTYPE=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_GROUPSIZEBUTYPE=NONE" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_AERRECOVERY=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_AERRECOVERY=disabled" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_AERRECOVERYCSVFILE=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_AERRECOVERYCSVFILE=" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_AEREXTERNALAVAMARNAME=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_AEREXTERNALAVAMARNAME=" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_AERNETWORKERNAME=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_AERNETWORKERNAME=" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_PATH=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_PATH=$BULOCATION" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_LOG=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_LOG=$BULOCATION/log" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_BINARY=" $BULOCATION/customize/webui.txt)" -eq "0" ];then echo "WEBUI_BINARY=adme.war" >> $BULOCATION/customize/webui.txt; fi
	if [ "$(grep -c "WEBUI_ADMEHOMEPAGELINK=" $BULOCATION/customize/webui.txt)" -eq "0" ]
	then
		 echo "WEBUI_ADMEHOMEPAGELINK=$WEBLINK" >> $BULOCATION/customize/webui.txt
	elif [ "$(grep "WEBUI_ADMEHOMEPAGELINK=" $BULOCATION/customize/webui.txt | grep -c "000182609")" -eq "0" ]
	then
		grep -v "WEBUI_ADMEHOMEPAGELINK" $BULOCATION/customize/webui.txt > $BULOCATION/customize/webui.tmp
		echo "WEBUI_ADMEHOMEPAGELINK=$WEBLINK" > $BULOCATION/customize/webui.txt
		cat $BULOCATION/customize/webui.tmp >> $BULOCATION/customize/webui.txt
		rm -rf $BULOCATION/customize/webui.tmp >/dev/null 2>&1
	fi
	sort -k1 $BULOCATION/customize/webui.txt > $BULOCATION/customize/webui.txt.srt
	mv $BULOCATION/customize/webui.txt.srt $BULOCATION/customize/webui.txt >/dev/null 2>&1
elif [ ! -s $BULOCATION/customize/webui.txt ]
then
        echo "WEBUI_BINARY=adme.war" > $BULOCATION/customize/webui.txt
        echo "WEBUI_AERRECOVERY=disabled" >> $BULOCATION/customize/webui.txt
        echo "WEBUI_AERRECOVERYCSVFILE=" >> $BULOCATION/customize/webui.txt
        echo "WEBUI_AEREXTERNALAVAMARNAME=" >> $BULOCATION/customize/webui.txt
        echo "WEBUI_AERNETWORKERNAME=" >> $BULOCATION/customize/webui.txt
        echo "WEBUI_PATH=$BULOCATION" >> $BULOCATION/customize/webui.txt
        echo "WEBUI_LOG=$BULOCATION/log" >> $BULOCATION/customize/webui.txt
        echo "WEBUI_AUTOREFRESH=600" >> $BULOCATION/customize/webui.txt
        echo "WEBUI_REFRESHLOOPCNT=5" >> $BULOCATION/customize/webui.txt
        echo "WEBUI_REFRESHLOOPDELAY=1" >> $BULOCATION/customize/webui.txt
        echo "WEBUI_REFRESHTYPE=full" >> $BULOCATION/customize/webui.txt
        echo "WEBUI_REFRESHTYPE2=partial" >> $BULOCATION/customize/webui.txt
        echo "WEBUI_GROUPSIZEBUTYPE=NONE" >> $BULOCATION/customize/webui.txt
	echo "WEBUI_ADMEHOMEPAGELINK=$WEBLINK" >> $BULOCATION/customize/webui.txt
	sort -k 1 $BULOCATION/customize/webui.txt > $BULOCATION/customize/webui.txt.srt
	mv $BULOCATION/customize/webui.txt.srt $BULOCATION/customize/webui.txt >/dev/null 2>&1
fi

if [ "$(grep "^MAXJOBNAMELENGTH=" $BULOCATION/customize/adme.cfg | head -1)" != "$(grep "^MAXJOBNAMELENGTH=" $BULOCATION/customize/webui.txt | head -1)" ]
then
	grep -v "^MAXJOBNAMELENGTH=" $BULOCATION/customize/webui.txt > $BULOCATION/customize/webui.txt.tmp
	echo "$(grep "^MAXJOBNAMELENGTH=" $BULOCATION/customize/adme.cfg | head -1)" >> $BULOCATION/customize/webui.txt.tmp
	mv $BULOCATION/customize/webui.txt.tmp $BULOCATION/customize/webui.txt >/dev/null 2>&1
fi
rm $BULOCATION/customize/.adme.cfg.lck > /dev/null 2>&1

if [ ! -s $BULOCATION/customize/netvault.cfg ]
then
        echo "NVCMD=nvjobstart" > $BULOCATION/customize/netvault.cfg
        echo "# NVCMD=nvtrigger" >> $BULOCATION/customize/netvault.cfg
fi

if [ ! -s $BULOCATION/customize/.shpt.txt ];then  echo "--farm-username=admin --farm-password=adminpassword" > $BULOCATION/customize/.shpt.txt; fi
if [ ! -s $BULOCATION/.admeupgrade.dat ];then echo "INSTALL-DATE: $(date +'%Y-%m-%d %H:%M:%S') $Version" > $BULOCATION/.admeupgrade.dat 2>&1; fi 

CurrentEnv="$1"
if  [ -f $BULOCATION/customize/debug_env_trace.txt ]
then
	echo "DEBUG-MAXENVCOUNT CurrentEnv=$1 MAXENVCOUNT=$MAXENVCOUNT Args=$@" >> $BULOCATION/customize/debug_env_trace.txt 2>&1 
fi

if [ "$MAXENVCOUNT" -lt "20" ];then MAXENVCOUNT="20"; fi

if [ "$MAXENVCOUNT" -ge "1" ]
then
	envcount="$MAXENVCOUNT"
	if [ "$CurrentEnv" = "X" ]
	then 
		Cfg="X"
		ENVCFG="$BULOCATION/etc/atoenv.cfg"
		if [ -f $BULOCATION/customize/debug_env_trace.txt ];then echo "DEBUG-1 Arg1=$CurrentEnv $2 $3" >> $BULOCATION/customize/debug_env_trace.txt 2>&1; fi
	elif [ "$(echo "$CurrentEnv" | grep -ce "-")" -ne "0" ]
	then
		if [ -f $BULOCATION/customize/debug_env_trace.txt ];then echo "DEBUG-2 No Env# detected but a valid option was, defaulting to Env1 Arg1=$CurrentEnv $LOG" >> $BULOCATION/customize/debug_env_trace.txt 2>&1; fi
		ENVCFG="$BULOCATION/etc/atoenv.cfg"
	elif [ "$CurrentEnv" -ge "1" -a "$CurrentEnv" -le "$envcount" ]
	then
		if [ "$CurrentEnv" -gt "1" ]
		then
			ENVCFG="$BULOCATION/etc/atoenv.cfg$1"
			Cfg=$CurrentEnv
			if [ -f $BULOCATION/customize/debug_env_trace.txt ];then echo "DEBUG-3 Arg1=$CurrentEnv $2 $3 $LOG envcount=$envcount"; fi
		else
			CurrentEnv=""
			Cfg=""
			ENVCFG="$BULOCATION/etc/atoenv.cfg"
			if [ -f $BULOCATION/customize/debug_env_trace.txt ];then echo "DEBUG-4 Arg1=$1 $2 $3 $LOG"; fi
		fi
	elif [ "$CurrentEnv" -eq "" ]
	then
		if [ -f $BULOCATION/customize/debug_env_trace.txt ];then echo "DEBUG-5 Arg1=$CurrentEnv $2 $3 $LOG $0"; fi
		Cfg=""
		ENVCFG="$BULOCATION/etc/atoenv.cfg"
	else
		echo "\033[31;1m ERROR: An invalid out of range Env-Number was specified [$WHITE_FG$1$RED_FG]$DEF"; exit 1
	fi
	if [ "$2" = "-securityrefresh" ];then Envxsecure="$1"; fi
else
	Cfg=""
	ENVCFG="$BULOCATION/etc/atoenv.cfg"
	if [ -f $BULOCATION/customize/debug_env_trace.txt ];then echo "DEBUG- MAXENVCOUNT=$MAXENVCOUNT 6 Arg1 $1 $2 $3 $LOG"; fi
fi

if [ ! -s $ENVCFG  ]
then
       	echo "Establishing environment file $ENVCFG..."
	if [ "$(/usr/local/avamar/bin/avmaint --version | grep "version:" | head -1 | awk '{print $2}' | egrep -c "^6.|^7.")" -eq "1" ]
        then
                utilx="$(hostname)"
                echo "AVAMAR_UTILNODE_NAME=$utilx" > $ENVCFG
       	elif [ -f /usr/local/avamar/etc/usersettings.cfg ]
       	then
               	utilx=`grep "^--server=" /usr/local/avamar/etc/usersettings.cfg | awk -F= '{print $2}'`
		if [ "$(echo "$utilx" | grep -c "\-internal")" -eq "1" ]
		then
			utilx_="$(echo "$utilx" |sed -n "s/-internal//"p)"
               		echo "AVAMAR_UTILNODE_NAME=$utilx_" > $ENVCFG
		else
               		echo "AVAMAR_UTILNODE_NAME=$utilx" > $ENVCFG
		fi
       	elif [ -f /usr/local/avamar/etc/avamar.cfg ]
       	then
               	utilx=`grep "^--hfsaddr=" /usr/local/avamar/etc/avamar.cfg | awk -F= '{print $2}'`
               	echo "AVAMAR_UTILNODE_NAME=$utilx" > $ENVCFG
       	elif [ -f /usr/local/avamar/var/avtar.cmd ]
       	then
               	utilx=`grep "^--server=" /usr/local/avamar/var/avtar.cmd | awk -F= '{print $2}'`
               	echo "AVAMAR_UTILNODE_NAME=$utilx" > $ENVCFG
       	else
               	echo "WARNING: Unable to determine Avamar system name, you must update AVAMAR_UTILNODE_NAME variable in environemnt file [$ENVCFG] manually"
               	echo "AVAMAR_UTILNODE_NAME=n/a" > $ENVCFG
       	fi
	AVAMAR_UTILNODE_NAME=`grep "^AVAMAR_UTILNODE_NAME=" $ENVCFG | head -1 | awk -F= '{print $2}'`
	echo "HOMEPATH=/usr/local/avamar/bin" >> $ENVCFG
	HOMEPATH=/usr/local/avamar/bin
	echo "# >>> TAPE BACKUP PARAMETERS" >> $ENVCFG
	if [ $Cfg > 1 ]
	then 
		echo "BUSERVER_NAME=`grep "^BUSERVER_NAME=" $BULOCATION/etc/atoenv.cfg | tail -1 | awk -F= '{print $2}'`" >> $ENVCFG
		echo "BACKUPPRODUCT=`grep "^BACKUPPRODUCT=" $BULOCATION/etc/atoenv.cfg | tail -1 | awk -F= '{print $2}'`" >> $ENVCFG
		echo "BACKUPPRODUCTHOMEUNIX=`grep "^BACKUPPRODUCTHOMEUNIX=" $BULOCATION/etc/atoenv.cfg | tail -1 | awk -F= '{print $2}'`" >> $ENVCFG
		echo "BACKUPPRODUCTHOMEWIN=`grep "^BACKUPPRODUCTHOMEWIN=" $BULOCATION/etc/atoenv.cfg | tail -1 | awk -F= '{print $2}'`" >> $ENVCFG
		echo "TAVAINSTALLPATH=`grep "^TAVAINSTALLPATH=" $BULOCATION/etc/atoenv.cfg | tail -1 | awk -F= '{print $2}'`" >> $ENVCFG
#		echo "TAVAWININSTALLPATH=`grep "^TAVAWININSTALLPATH=" $BULOCATION/etc/atoenv.cfg | tail -1 | awk -F= '{print $2}'`" >> $ENVCFG
		echo "TAVADOMAINNAME=/ADME" >> $ENVCFG
#		echo "TAVADOMAINNAME=`grep "^TAVADOMAINNAME=" $BULOCATION/etc/atoenv.cfg | tail -1 | awk -F= '{print $2}'`" >> $ENVCFG
	else
		echo "BUSERVER_NAME=n/a" >> $ENVCFG
		echo "BACKUPPRODUCT=networker" >> $ENVCFG
		echo "BACKUPPRODUCTHOMEUNIX=/usr/sbin" >> $ENVCFG
		echo "BACKUPPRODUCTHOMEWIN=C:/progra~1/EMCNET~1/nsr/bin" >> $ENVCFG
   		echo "TAVAINSTALLPATH=C:/progra~1/avs" >> $ENVCFG
		echo "TAVADOMAINNAME=/ADME" >> $ENVCFG
	fi
	echo "ENDOFYEAR=0" >> $ENVCFG
	ENDOFYEAR=0
	echo "# >>> STAGING SERVER PARAMETERS" >> $ENVCFG
	echo "UNIXSS=n/a" >> $ENVCFG
	UNIXSS=n/a	
	echo "UNIXINSTALLPATH=/usr/local/avamar" >> $ENVCFG
	UNIXINSTALLPATH="/usr/local/avamar"
	echo "TUNIXSS=LINUX" >> $ENVCFG
	TUNIXSS=n/a	
	echo "WINDOWSS=n/a" >> $ENVCFG
	WINDOWSS=n/a	
	echo "WININSTALLPATH=C:/progra~1/avs" >> $ENVCFG
	WININSTALLPATH="C:/progra~1/avs"
	echo "LINUXSS=DO-NOT-USE" >> $ENVCFG
	LINUXSS="DO-NOT-USE"
	echo "# >>> ATO CONTROL FILES" >> $ENVCFG
	echo "CFG=$BULOCATION/etc/admeclient.cfg" >> $ENVCFG
	export CFG=$BULOCATION/etc/admeclient.cfg
	echo "LOG=$BULOCATION/log/atoevent.log$Cfg" >> $ENVCFG
	export LOG=$BULOCATION/log/atoevent.log$Cfg
	echo "TMP_PATH=$BULOCATION/tmp/atocfg$Cfg" >> $ENVCFG
	TMP_PATH=$BULOCATION/tmp/atocfg$Cfg
	if [ -f $HOMEPATH/mccli -o -L $HOMEPATH/mccli ]
	then
		echo "PSEUDOCLIENT=/ADME/admepseudo$Cfg" >> $ENVCFG
                snapupoutput="/ADME/admepseudo$Cfg"
	else
		echo "PSEUDOCLIENT=/clients/tapeout$Cfg" >> $ENVCFG
		snapupoutput="/ATO/tapeout$Cfg"
	fi
	echo "# >>> ATO OPERATIONAL PARAMETERS" >> $ENVCFG
	echo "CMD_mail=/usr/bin/mailx" >> $ENVCFG
	CMD_mail=/usr/bin/mailx
	if [ $Cfg > 1 ]
	then 
		echo "MAIL_TO=`grep "^MAIL_TO=" $BULOCATION/etc/atoenv.cfg | tail -1 | awk -F= '{print $2}'`" >> $ENVCFG
		echo "MAIL_TO_ERROR=`grep "^MAIL_TO_ERROR=" $BULOCATION/etc/atoenv.cfg | tail -1 | awk -F= '{print $2}'`" >> $ENVCFG
	else
		echo "MAIL_TO=" >> $ENVCFG
		echo "MAIL_TO_ERROR=" >> $ENVCFG
	fi
 	if [ "$mail_from" = "" ];then mail_from="ADME-Admin@$(hostname -f)"; fi
	echo "MAIL_FROM=$mail_from" >> $ENVCFG
	MAIL_FROM=$mail_from
	MAIL_TO=""
	MAIL_TO_ERROR=""
	if [ "$Cfg" -eq "20" ];then echo "USER_COMMENT=RESERVED-DO-NOT-USE" >> $ENVCFG; else echo "USER_COMMENT=None" >> $ENVCFG; fi
	USER_COMMENT="None"
	echo "LOG_SIZE=30000" >> $ENVCFG
	LOG_SIZE=30000
	echo "TIMEDELAYSTAGE=300" >> $ENVCFG
	echo "TIMEDELAYTAPE=600" >> $ENVCFG
	TIMEDELAYSTAGE=300
	TIMEDELAYTAPE=600
#	echo "ENABLER_KEY=n/a" >> $ENVCFG
	ENABLER_KEY="n/a"
	echo "USE_ALLNODES=Y" >> $ENVCFG
	USE_ALLNODES="Y"; Allnodes="--cmd=--allnodes"
	echo "MAX_RECOVERY_SESSIONS=5" >> $ENVCFG
	MAX_RECOVERY_SESSIONS="5"
	echo "COLORSCHEME=5" >> $ENVCFG
	COLORSCHEME="5"
	if [ $Cfg > 1 ]
	then 
		echo "SCRIPT_TIMEOUT=$(grep "^SCRIPT_TIMEOUT=" $BULOCATION/etc/atoenv.cfg | tail -1 | awk -F= '{print $2}')" >> $ENVCFG
		SCRIPT_TIMEOUT="" 
	else
		echo "SCRIPT_TIMEOUT=360000" >> $ENVCFG
#		SCRIPT_TIMEOUT="216000" 
	fi
	echo "MYEDITOR=/bin/vi" >> $ENVCFG
	MYEDITOR="/bin/vi"
	echo "BYDATEPATHXTN=N" >> $ENVCFG
	BYDATEPATHXTN="N"
	echo "BULOCATION=$BULOCATION" >> $ENVCFG
	BULOCATION="$BULOCATION"
	echo "DEFSTAGELOC=F:/ADME" >> $ENVCFG
	DEFSTAGELOC="F:/ADME" 
	ARCHIVEUTIL="gzip" 
	echo "ARCHIVEUTIL=gzip" >> $ENVCFG
	if [ "$DDRINDEX" -gt "0" ]
	then
		echo "USE_DATADOMAIN=Y" >> $ENVCFG
		USE_DATADOMAIN="Y"
	else
		echo "USE_DATADOMAIN=N" >> $ENVCFG
		USE_DATADOMAIN="N"
	fi

	if [ $Cfg > 1 ]
	then 
		echo "AVAMIGRATE=$(grep "^AVAMIGRATE=" $BULOCATION/etc/atoenv.cfg | tail -1 | awk -F= '{print $2}')" >> $ENVCFG
	fi

	mkdir -p $BULOCATION/health $BULOCATION/backups $BULOCATION/grabs >/dev/null 2>&1

	if [ "$($HOMEPATH/avmgr getd --hfsaddr=$(hostname) --id=root --password=$CHK_password | awk '{print $2}' | grep -c "^ADME")" -eq "0" ]
        then
                $HOMEPATH/mccli domain add --domain=/ --name=ADME >/dev/null 2>&1
		$HOMEPATH/mccli client add --name=/ADME/ADMEbackups >/dev/null 2>&1
        fi


	if [ $($HOMEPATH/avmgr getl --account=/ADME | awk '{print $2}' | grep -w -c "admepseudo$Cfg") -eq "0" ]
	then
		echo "\nAdding required ADME pseudo client [$snapupoutput] for environment #$Cfg"
		$HOMEPATH/mccli client add --name=$snapupoutput >/dev/null 2>&1
		if [ "$?" -ne "0" ]
		then
			echo "\nERROR-99: Unable to confirm creation of ADME pseudo client [$snapupoutput], possible causes are as follows;"
			echo "\n1. Verify pseudo client name [$WHITE_FG $snapupoutput $RED_FG] is not defined in another domain" 
			echo "2. GSAN may be in read-only state, verify the system is not offline or in Read-Only mode $DEF" 
			rm $ENVCFG >/dev/null 2>&1
			echo "\n<Press Enter to Continue>"; read
			exit 1
		fi
	fi

	if [ $($HOMEPATH/avmgr getl --account=/ADME | grep -c "admepseudo20") -eq "0" ]
	then
		echo "\nAdding required ADME pseudo client [/ADME/admepseudo20] for environment #20"
		$HOMEPATH/mccli client add --name=/ADME/admepseudo20 >/dev/null 2>&1
	fi
else
	BUSERVER_NAME=`grep "^BUSERVER_NAME=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	BACKUPPRODUCT=`grep "^BACKUPPRODUCT=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	BACKUPPRODUCTHOMEUNIX=`grep "^BACKUPPRODUCTHOMEUNIX=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	BACKUPPRODUCTHOMEWIN=`grep "^BACKUPPRODUCTHOMEWIN=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	TAVAINSTALLPATH=`grep "^TAVAINSTALLPATH=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
#	TAVAWININSTALLPATH=`grep "^TAVAWININSTALLPATH=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	TAVADOMAINNAME=`grep "^TAVADOMAINNAME=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	AVAMAR_UTILNODE_NAME=`grep "^AVAMAR_UTILNODE_NAME=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	HOMEPATH=`grep "^HOMEPATH=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	TMP_PATH=`grep "^TMP_PATH=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	ENDOFYEAR=`grep "^ENDOFYEAR=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	WINDOWSS=`grep "^WINDOWSS=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	UNIXSS=`grep "^UNIXSS=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	TUNIXSS=`grep "^TUNIXSS=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	if [ "$TUNIXSS" = "HPUX" ]; then Ptype_="4001"; fi
	if [ "$TUNIXSS" = "AIX" ]; then Ptype_="5001"; fi
	if [ "$TUNIXSS" = "SOLARIS" ]; then Ptype_="2001"; fi
	if [ "$TUNIXSS" = "LINUX" ]; then Ptype_="1001"; fi
	if [ "$TUNIXSS" = "FREEBSD" ]; then Ptype_="11001"; fi
	if [ "$TUNIXSS" = "SCO" ]; then Ptype_="12000"; fi
	if [ "$TUNIXSS" = "MAC" ]; then Ptype_="6001"; fi
	if [ "$TUNIXSS" = "NETWARE" ]; then Ptype_="10000"; fi
	if [ "$TUNIXSS" = "n/a" ]; then Ptype_="n/a"; fi
	WININSTALLPATH=`grep "^WININSTALLPATH=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	UNIXINSTALLPATH=`grep "^UNIXINSTALLPATH=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	TIMEDELAYSTAGE=`grep "^TIMEDELAYSTAGE=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	TIMEDELAYTAPE=`grep "^TIMEDELAYTAPE=" $ENVCFG | tail -1 | awk -F= '{print $2}'`

	LINUXSS=`grep "^LINUXSS=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	CMD_mail=`grep "^CMD_mail=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	MAIL_TO=`grep "^MAIL_TO=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	MAIL_TO_ERROR=`grep "^MAIL_TO_ERROR=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	MAIL_FROM=`grep "^MAIL_FROM=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	USER_COMMENT=`grep "^USER_COMMENT=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	export CFG=`grep "^CFG=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	export LOG=`grep "^LOG=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	LOG_SIZE=`grep "^LOG_SIZE=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	if [ ! -d $TMP_PATH ];then mkdir $TMP_PATH; fi
	MAX_RECOVERY_SESSIONS=`grep "^MAX_RECOVERY_SESSIONS=" $ENVCFG | tail -1 | awk '{print $1}' | awk -F= '{print $2}'`
	COLORSCHEME=`grep "^COLORSCHEME=" $ENVCFG | tail -1 | awk '{print $1}' | awk -F= '{print $2}'`
	SCRIPT_TIMEOUT=`grep "^SCRIPT_TIMEOUT=" $ENVCFG | tail -1 | awk '{print $1}' | awk -F= '{print $2}'`
	if [ "$SCRIPT_TIMEOUT" -eq "" ];then SCRIPT_TIMEOUT=72000; fi

	USE_ALLNODES=`grep "^USE_ALLNODES=" $ENVCFG | tail -1 | awk '{print $1}' | awk -F= '{print $2}'`
	if [ "$USE_ALLNODES" = "y" -o  "$USE_ALLNODES" = "Y" ]; then Allnodes="--cmd=--allnodes"; else Allnodes=""; fi
	snapupoutput=`grep "^PSEUDOCLIENT=" $ENVCFG | tail -1 | awk '{print $1}' | awk -F= '{print $2}'`
	pclientx="$(echo "$snapupoutput" | awk -F \/ '{print $NF}')"
	if [ "$($HOMEPATH/avmgr getl --hfsaddr=$(hostname) --id=root --password=$CHK_password --account=/ADME | awk '{print $2}' | grep -c "^$pclientx")" -eq "0" ]
	then
		$HOMEPATH/mccli client 	add --name=$snapupoutput $MCS_credential >/dev/null 2>&1
	fi
	MYEDITOR=`grep "^MYEDITOR=" $ENVCFG | tail -1 | awk '{print $1}' | awk -F= '{print $2}'`
	BYDATEPATHXTN=`grep "^BYDATEPATHXTN=" $ENVCFG | tail -1 | awk '{print $1}' | awk -F= '{print $2}'`
	BULOCATION=`grep "^BULOCATION=" $ENVCFG | tail -1 | awk '{print $1}' | awk -F= '{print $2}'`
	if [ ! -d $BULOCATION ];then mkdir -p $BULOCATION >/dev/null 2>&1; fi
	DEFSTAGELOC=`grep "^DEFSTAGELOC=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	ARCHIVEUTIL=`grep "^ARCHIVEUTIL=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
	USE_DATADOMAIN=`grep "^USE_DATADOMAIN=" $ENVCFG | tail -1 | awk -F= '{print $2}'`
fi

BASE_TMP_PATH="$BULOCATION/tmp/atocfg"
if [ "$COLORSCHEME" -eq "1" -o "$COLORSCHEME" -eq "4" -o "$COLORSCHEME" -eq "5" ]
then
	RED_FG="\033[31;1m"; GREEN_FG="\033[32;1m"; BLUE_FG="\033[34;1m"; MAG_FG="\033[35;1m"; CYAN_FG="\033[36;1m"; WHITE_FG="\033[37;1m"; GRAY_FG="\033[30;1m"
	RED_BG="\033[41;1m"; GREEN_BG="\033[42;1m"; BLUE_BG="\033[44;1m"; MAG_BG="\033[45;1m"; CYAN_BG="\033[46;1m"; WHITE_BG="\033[47;1m"; YELLOW_FG="\033[1;33m"
	DEF="\033[0m"; BOLD="\033[1m"; BLINK="\033[5m"; NOBLINK="\033[25m"; USCORE="\033[4m"; YELLOW_BG="\033[1;43m"
elif [ "$COLORSCHEME" -eq "2" ]
then
	RED_FG="\033[31;1m"; GREEN_FG="\033[30;1m"; BLUE_FG="\033[34;1m"; MAG_FG="\033[30;1m"; CYAN_FG="\033[31;1m"; WHITE_FG="\033[30;1m"; GRAY_FG="\033[37;m"
	RED_BG="\033[41;1m"; GREEN_BG="\033[42;1m"; BLUE_BG="\033[44;1m"; MAG_BG="\033[45;1m"; CYAN_BG="\033[46;1m"; WHITE_BG="\033[40;1m"; YELLOW_FG="\033[1;33m"
	DEF="\033[0m"; BOLD="\033[1m"; BLINK="\033[5m"; NOBLINK="\033[25m"; USCORE="\033[4m"; YELLOW_BG="\033[1;43m"
elif [ "$COLORSCHEME" -eq "3" ]
then
	RED_FG=""; GREEN_FG=""; BLUE_FG=""; MAG_FG=""; CYAN_FG=""; WHITE_FG=""; GRAY_FG=""
	RED_BG=""; GREEN_BG=""; BLUE_BG=""; MAG_BG=""; CYAN_BG=""; WHITE_BG=""
	DEF=""; BOLD=""; BLINK=""; NOBLINK=""; USCORE="\033[4m"
fi

head_w_name_="==========================================================================================================<$CYAN_FG $head_host $DEF>==========================="
head_w_name=$(echo "$head_w_name_                                                " | cut -b 1-145)
head_w="======================================================================================================================================"
head_n="=========================================================\n"
head_n0="========================================================="
head_nl="==============================================="
spin[0]="$RED_FG | $DEF"; spin[1]="$CYAN_FG / $DEF"; spin[2]="$WHITE_FG - $DEF"; spin[3]="$RED_FG \\ $DEF"; spin[4]="$GREEN_FG | $DEF"; spin[5]="$BLUE_FG / $DEF"; spin[6]="$GREEN_FG - $DEF"; spin[7]="$RED_FG \\ $DEF"
ERROR_="ERROR"; ERRORX="$RED_FG$ERROR_"

Avtar_Version="$($HOMEPATH/avtar --version | grep "  version: " | awk '{print $2}' | cut -b 1-3 | sed -n "s/\./ /"p)"
WebUI_Version="$(grep "INFO: ADME WebGUI" $BULOCATION/log/webui.log.0 | tail -1 | awk '{print $NF}')"

if [ "$(echo "$Avtar_Version" | awk '{print $1}')" -ge "6" -a "$(echo "$Avtar_Version" | awk '{print $2}')" -ge "1" -o "$(echo "$Avtar_Version" | awk '{print $1}')" -ge "7" ];then vss_ok=1; else vss_ok=0; fi
if [ "$(echo "$Avtar_Version" | egrep -c "^4|^5")" -ne "0" ];then Avtar_Versionx=0; else Avtar_Versionx=1; fi
if [ "$(echo "$Avtar_Version" | egrep -c "^4|^5|^6")" -ne "0" ];then Avtar_Versionx2=0; else Avtar_Versionx2=1; fi

if [ "$(echo "$Avtar_Version" | egrep -c "^7|^18|^19")" -eq "0" ]
then
	USE_DATADOMAIN="N"
	Use_DD=""
elif [ $USE_DATADOMAIN = "N" -a $USE_DATADOMAIN != "n" ]
then
	Use_DD=""
else
	if [ -s /usr/local/avamar/var/mc/server_data/prefs/ddr.xml ]
	then
		ddindex="$(grep "^DDRINDEX=" $BULOCATION/customize/adme.cfg | head -1 | awk -F= '{print $2}')"
		Use_DD="--ddr --ddr-index=$ddindex"
		MCCLI_Use_DD="--cmd=--ddr --cmd=--ddr-index=$ddindex"
	else
		Use_DD=""; MCCLI_Use_DD=""
	fi
fi
	setpermissions_rtn

	Debug=0; DEBUG=0
	for x in `echo "$ARGS"`
	do
		if [ "$x" = "-d" ]
		then
			Debug=`expr $Debug + 1`
 		elif [ "$x" = "-D" ]
 		then
 			DEBUG=`expr $DEBUG + 1`
		fi
	done

credentials=0
if [ -s $BULOCATION/tmp/admmenu.lck ]
then
	pidx="$(awk '{print $2}' $BULOCATION/tmp/admmenu.lck 2>/dev/null)"
	pidx_alive="$(ps -ef | grep $pidx | grep adme | wc -l | awk '{print $1}')"
	if [ "$pidx_alive" -eq "0" ]
	then
		credentials=0
	else
		credentials=1
	fi
fi

if [ "$(echo "$ARGS" | egrep -c "clientx|env")" -eq "0" ];then setup_rtn; fi


if [ ! -s $BULOCATION/customize/tapescriptbu.txt ];then echo "loop_cnt=9 sleep_time=600" > $BULOCATION/customize/tapescriptbu.txt; fi
if [ "$AVAMAR_UTILNODE_NAME" = "n/a" -o "$AVAMAR_UTILNODE_NAME" = "" ]
then
	echo "\nUpdate Avamar utility node name in $ENVCFG file"
	exit
fi

CMD_select="/usr/local/avamar/bin/selectfortape.pl --utility=$AVAMAR_UTILNODE_NAME --append "
CMD_tapeout="/usr/local/avamar/bin/tapeout.pl --backupproduct=$BACKUPPRODUCT --backupserver=$BUSERVER_NAME --onnewavtarerror=continue --onloggedavtarerror=retry --stage --log=tapeout.log --logdir=/usr/local/avamar/var/tapeout_logs"

	mkdir $TMP_PATH >/dev/null 2>&1
	echo "$Debug $DEBUG $Version" > $TMP_PATH/dflag.tmp

	if [ ! -s $TMP_PATH/.input.dat1.discover ]
	then
#		echo "Forcing discovery of domain/clients"
		init_config_rtn dummy Refresh >/dev/null 2>&1
	fi

	cfgcheck_rtn	
	if [ "$(echo "$ARGS" | egrep -c "clientx|addclient|jobcreate|jobreport|groupsize|autocfg")" -eq "0" ];then syntax_rtn "$ARGS"; fi
	if [ $? -gt 0 ];then exit 1 ; fi

 	archive_file_rtn retry
	archive_file_rtn rerun

	if [ "$UNIXSS" = "/VDP" ]
	then
		VdpRes=1; AvtarRes=1
	else
		VdpRes=0; AvtarRes=0
	fi


	ipok=0
 	while true
 	do
 		if [ "$1" = "-siteid" ]
 		then
			if [ `echo "$3" | grep -ce "^-"` -ne "1" -o "$3" -ne "" ]; then ipok=1; fi
 			Siteid=$2; shift
#			if [ "$Siteid" = "ALL" ]
#			then
#				Siteid=`grep -v "^#" $CFG | awk -F, '{print $1}' | sort -u`
#			fi
 		elif [ "$1" = "-sid" ]
 		then
 			Siteid=$2; shift
 		elif [ "$1" = "-gid" ]
 		then
 			Siteid=$2; shift
 		elif [ "$1" = "-week" ]
		then
			if [ `echo "$2" | grep -c "_"` -gt "0" ]
			then
				Weekly=`echo $2 | awk -F_ '{print $1}'` 
				Weekly_d=`echo $2 | awk -F_ '{print $2}'` 
			else
				Weekly=$2; Weekly_d="0"
			fi
			export Weekly
			Wkly=1; shift
 		elif [ "$1" = "-autocfg" ]
		then
			$BULOCATION/tools/autoconfig.sh $2	
			exit
		elif [ "$1" = "-path" ]
		then
			Pathx="$2"; PATHX="$Pathx" shift
			PATHXSAVE="$PATHX"
		elif [ "$1" = "-xdata" ]
		then
			Datax2="+$2+"
			Datax2_="$(echo "$Datax2_ --cmd=--exclude=$Datax2")"
			if [ "$Nwxdata" = "" ];then Nwxdata="$2"; else Nwxdata="$Nwxdata|$2"; fi
			shift
		elif [ "$1" = "-data" ]
		then
			Datax="+$2+"
			Datax_="$(echo "$Datax_ --data=$Datax")"
			if [ "$Nwdata" = "" ];then Nwdata="$2"; else Nwdata="$Nwdata|$2"; fi
			shift
		elif [ "$1" = "-nday" ]
		then
			Nday="$2"; shift
		elif [ "$1" = "-rday" ]
		then
			Rday="$2"; shift
		elif [ "$1" = "-rmonth" ]
		then
			Rdate="$2"; shift
		elif [ "$1" = "-rmonthx" ]
		then
			Rdate="$2"; Rdatex="$2" shift
		elif [ "$1" = "-sdate" ]
		then
			Sdate="$2"; shift
		elif [ "$1" = "-edate" ]
		then
			Edate="$2"; shift
		elif [ "$1" = "-retry" ]
		then
 			if [ `echo "$2" | grep -ce "^-"` -eq 1 ];then Recfile=1; else Recfile=$2; fi
 			if [ "$Recfile" -lt "1" ];then Recfile=1; fi
			Retry=1
		elif [ "$1" = "-rerun" ]
		then
 			if [ `echo "$2" | grep -ce "^-"` -eq 1 ];then Recfile=1; else Recfile=$2; fi
 			if [ "$Recfile" -lt "1" ];then Recfile=1; fi
			Rerun=1
		elif [ "$1" = "-tapeout" ]
		then
			export Function="2"
		elif [ "$1" = "-migrate" ]
		then
			export Function="2"
		elif [ "$1" = "-clouddatapurge" ]
		then
			CloudDataPurge=1
			AvtarRes=10
			Stageonly_=1
		elif [ "$1" = "-purge" ]
		then
			Purge=1
		elif [ "$1" = "-PURGE" ]
		then
			Purge=2
 		elif [ "$1" = "-batch" -o "$1" = "-BATCH" ]
		then
			if [ "$2" = "log" -o "$2" = "" ]
			then
				list_rtn batch 
			elif [ "$2" = "cfg" ]
			then
				batch_build_rtn batch
			elif [ -s $BULOCATION/etc/$2 ]
			then
				if [ "$(grep -ce "-BATCH" $BULOCATION/etc/$2)" -eq "0" ]
				then
					echo "\n >>> Starting batch policy name [$2]"
					BaseGrpx=`grep "^Base_Group_Name:" $BULOCATION/etc/$2 | head -1 | awk -F= '{print $2}'`
					SubGrpx="`grep "^Sub_Group_Numbers:" $BULOCATION/etc/$2 | head -1 | awk -F= '{print $2}'`"
					if [ "$SunGrpx" = "" ];then SunGrpx=0; fi
					Env="$(grep "^Environment_Number:" $BULOCATION/etc/$2 | head -1 | awk -F= '{print $2}')"

#					if [ -f $BULOCATION/customize/debug_env_trace.txt ]
#					then
#					fi

					Filters="`grep "^Select_Flags:" $BULOCATION/etc/$2 | head -1 | awk -F: '{print $2}' | cut -b 2-1999`"

					Tapeout_opts="$(egrep "^Tapeout_Flags:|^Migration_Flags:" $BULOCATION/etc/$2 | head -1 | awk -F':=' '{print $2}' | cut -b 1-999)"

					if [ "$(echo -E "$Tapeout_opts" | egrep -c " \-s | \-stageonly| \-t | \-tapeonly")" -eq "0" ]
					then
						if [ "$3" = "STAGEONLY" ]
						then
							if [ "$(echo -E "$Tapeout_opts" | egrep -c "\-s |\-stageonly")" -eq "0" ];then Tapeout_opts="$Tapeout_opts -stageonly"; fi
						elif [ "$3" = "TAPEONLY" ]
						then
							if [ "$(echo -E "$Tapeout_opts" | egrep -c "\-t |\-tapeonly")" -eq "0" ];then Tapeout_opts="$Tapeout_opts -tapeonly"; fi
						fi
					fi

					View="`grep "^View_Flags:" $BULOCATION/etc/$2 | head -1 | awk -F= '{print $2}'`"
					filebase=`echo "$2" | sed -n "s/.cfg//"p`; export chk=".chk"; export log=".log"; cfg=".cfg"
					chk=".chk"
					batch_script_rtn $filebase.$$
					echo "/tmp/$filebase.$$" > /tmp/initiate$Env
                               		chmod 700 /tmp/$filebase.$$ /tmp/initiate$Env
				elif [ "$(grep -ce "-BATCH" $BULOCATION/etc/$2)" -ne "0" ]
				then
					filebase=`echo "$2" | sed -n "s/.cfg//"p`
                                	echo "$GREEN_FG\n$(cat $BULOCATION/etc/$2 | egrep "FAIL|cfg" | awk '{print $NF}')"
                                	batch_bulk_script_rtn $filebase.$$
                                	echo "/tmp/$filebase.$$" > /tmp/initiate$Env
                               	 	chmod 700 /tmp/$filebase.$$ /tmp/initiate$Env
				fi
			else
				echo "\n$ERRORX-40J: The batch policy-id specified [$WHITE_FG$2$RED_FG ] doesn't exist$DEF"; exit 1
			fi
			if [ "$1" = "-batch" ]
			then
				 /usr/bin/at -f /tmp/initiate$Env now >/dev/null 2>&1
 			elif [ "$1" = "-BATCH" ]
			then
				if [ `cat $BULOCATION/etc/$2 | grep -c "Base_Group_Name:="` -gt "0" ]
				then
					/tmp/initiate$Env
				fi
			fi
#			rm /tmp/initiate$Env >/dev/null 2>&1
			runchk="/tmp/$filenbase$chk"
			exit
 		elif [ "$1" = "-env" ]
		then
			if [ "$2" = "summary" ]
			then
				envreport_rtn
				if [ "$3" = "noprompt" ]
				then
					Prompt="noprompt"; bumail_flg=0
				fi
				if [ "$3" = "nomail" ];then Prompt="nomail"; fi
			 	env_display_info_rtn
				exit
			elif [ "$2" = "autoedit" ]
                        then
				if [ "$3" = "report" ]
				then
					envreport_rtn; exit
				else
					envreport_rtn
					envedit_rtn "$3"
					rcx="$?"
					envreport_rtn
					exit $rcx
				fi
			elif [ "$2" = "autoget" ]
                        then
				envreport_rtn
				numx="$3"	
				if [ "$numx" = "variablenames" ]
				then
					head -1 $BULOCATION/jobstats/environment.csv; exit 0
				fi
				getinfo="$(grep "^$numx," $BULOCATION/jobstats/environment.csv)"
				if [ "$getinfo" = "" ]
				then
					echo "ERROR: Environment number [$numx] does not exist"; exit 1
				else
					echo "$getinfo"; exit '$getinfo'
				fi	
			fi
			if [ "$Cfg" = "X" ]
			then
#				maxenv="$(head -1 $BULOCATION/customize/envcount.txt | awk '{print $1}')"
				maxenv="$MAXENVCOUNT"
				
				countx=2
				while true
				do
					if [ "$countx" -eq "20" ];then continue; fi
					if [ -s $BULOCATION/etc/atoenv.cfg$countx ]
					then
						countx="$(expr $countx + 1)"
						if [ "$countx" -gt "$maxenv" ]	
						then
							echo "ERROR: Maximum Env-File-# [$maxenv] has been reached."
							exit 1
						fi
					else
						Cfg="$countx"; break
					fi
				done
				if [ ! -s $BULOCATION/etc/atoenv.cfg$Cfg ]
				then
					echo "INFO: Establishing next available Env-File-# [$Cfg]"
					$HOMEPATH/adme $Cfg -env >/dev/null
					envreport_rtn
					exit $Cfg
				fi
			fi
			if [ "$2" != "report" ];then init_env_rtn $Cfg; fi
			if [ "$2" = "parse" ]
			then
				parse2_rtn $Cfg
				adme $Cfg -env autoedit 'LINUXSS='
				echo
			elif [ "$2" = "update" ]
			then
			 	envupdate_rtn	
			fi
			envreport_rtn
			exit
 		elif [ "$1" = "-aer" ]
		then
			AER_String="$2"
 		elif [ "$1" = "-expire" ]
		then
			values="$(echo "$2" | sed -n "s/_/ /"gp)"
                        period="$(echo "$values" | awk '{print $1}')"
                        term="$(echo "$values" | awk '{print $2}')"
                        round="$(echo "$values" | awk '{print $3}')"

                        if [ "$period" = "fixed" ]
                        then
                                Expire_Date="$term"
                        else
                                Expire_Date="$(date '+%C%y%m%d' -d "$end_date + $period $term")"
                        fi
                        yx="$(echo "$Expire_Date" | cut -b 1-4)"
                        mx="$(echo "$Expire_Date" | cut -b 5-6)"
                        dx="$(echo "$Expire_Date" | cut -b 7-8)"
                        Expire_Date="$yx$dash$mx$dash$dx"

                        if [ "$round" = "round" ]
                        then
                                monthx="$(echo "$Expire_Date" | cut -b 6-7)"
                                yearx="$(echo "$Expire_Date" | cut -b 1-4)"
                                if [ "$monthx" -lt "12" ]
                                then
                                        monthx="$(expr $monthx + 1)"; dayx="01"
                                        if [ "$monthx" -lt "10" ];then monthx="0$monthx"; fi
                                        Expire_Date="$yearx-$monthx-$dayx"
                                else
                                        yearx="$(expr $yearx + 1)"
                                        monthx="01"; dayx="01"
                                        Expire_Date="$yearx-$monthx-$dayx"
                                fi
                        fi
   			echo "Expire_Date=$Expire_Date"; read
 		elif [ "$1" = "-butype" ]
		then
			Useropts="$2"
 		elif [ "$1" = "-but" ]
		then
			Useropts="$2"
 		elif [ "$1" = "-cloudtier" ]
		then
		 	CTselect="--inctiered"
 		elif [ "$1" = "-cloudtierrecall" ]
		then
		 	CTmigrate=1
 		elif [ "$1" = "-rtype" ]
		then
			Rtype=1; Rtype_="$2"
 		elif [ "$1" = "-gname" ]
		then
			Gname=1; Gname_="$2"
 		elif [ "$1" = "-tpolicy" ]
		then
			Tpolicy="$2"
  		elif [ "$1" = "-full" ]
 		then
 			Overwrite="--overwrite=always"	
		elif [ "$1" = "-first" ]
		then
			Min_=1
		elif [ "$1" = "-first_F" ]
		then
			Min_=11
		elif [ "$1" = "-last" ]
		then
			Min_=2
		elif [ "$1" = "-last_F" ]
		then
			Min_=22
		elif [ "$1" = "-tdelay" ]
		then
			TIMEDELAYTAPE=$2; shift
		elif [ "$1" = "-sdelay" ]
		then
			TIMEDELAYSTAGE=$2; shift
		elif [ "$1" = "-select" ]
		then
			export Function="1"
		elif [ "$1" = "-bmail" ]
		then
			envnumx="$1"; BatchMailFlag="1"; Siteid="$2"; action="$3"; bprofile="$4"
			mail_rtn
		elif [ "$1" = "-mail" ]
		then
			MailFlag="1"	
		elif [ "$1" = "-delete" ]
		then
			DeleteFlag="1"	
		elif [ "$1" = "-noprvpath" ]
		then
			NoPrvPathFlag="1"
		elif [ "$1" = "-noincpath" ]
		then
			NoIncPathFlag="1"
		elif [ "$1" = "-m" ]
		then
			MailFlag="1"	
		elif [ "$1" = "-nwksave" ]
		then
			NWKsaveFlag="1"; BACKUPPRODUCT="networker_save"
		elif [ "$1" = "-sap" ]
		then
			Plugx="--pluginids=1030,2030,3030,4030"
			SapFlag="1"; AvtarRes=1 
		elif [ "$1" = "-sqlmigrate" ]
		then
			AvtarRes=8; SQLmigrate_="$2"; SQLmigrate="$(echo "$SQLmigrate_" | sed -n "s/~/--/"gp)"
		elif [ "$1" = "-sql" ]
		then
			Plugx="--pluginids=3006"
			SqlFlag="1"; StreamFlag="--cmd=streamformat=Y"
			if [ "$Avtar_Version2" -eq "1" ];then AvtarRes=0; else AvtarRes=1; fi
		elif [ "$1" = "-chkpt" ]
		then
			Plugx="--pluginids=1040"
			ChkptFlag="1"; StreamFlag="--cmd=streamformat=Y"
			if [ "$Avtar_Version2" -eq "1" ];then AvtarRes=0; else AvtarRes=1; fi
		elif [ "$1" = "-avamigrate" ]
		then
			AVAmigrate="--acnt=$2"
		elif [ "$1" = "-exchmsg" ]
		then
			ExchFlag="2"; StreamFlag="--cmd=streamformat=Y"
		elif [ "$1" = "-exchdb" ]
		then
			Plugx="--pluginids=3011,3005"
			ExchFlag="3"; StreamFlag=""
			if [ "$Avtar_Version2" -eq "1" ];then AvtarRes=0; else AvtarRes=1; fi
		elif [ "$1" = "-exchvssavtar" ]
		then
#			ExchvssAvtar="$2"
			ExchAvtar=1
#			echo "DEBUG99 - ExchvssAvtar=$ExchvssAvtar"
		elif [ "$1" = "-hypervssavtar" ]
		then
			HypervssAvtar=""
			HyperAvtar=1
		elif [ "$1" = "-avexvss" ]
		then
			AvexVss="$2"
			echo "DEBUG99 - AvexVss=$AvexVss"
		elif [ "$1" = "-exchvss" ]
		then
			Plugx="--pluginids=3018"
			if [ "$vss_ok" -eq "1" ]
			then
				ExchFlag=4; AvtarRes=4
			else
				echo "\n$RED_BG$WHITE_FG WARNING:$DEF$RED_FG Plug-In type [$WHITE_FG $1 $RED_FG] not supported with this version of Avamar$DEF" | tee -a $LOG
			fi
		elif [ "$1" = "-exchmigrate" ]
		then
			AvtarRes=9; EXCHmigrate_="$2"; EXCHmigrate="$(echo "$EXCHmigrate_" | sed -n "s/~/--/"gp)"
		elif [ "$1" = "-linuxfastinc" ]
		then
			Plugx="--pluginids=1049"
                        AvtarRes=1; Linuxfastinc=1
		elif [ "$1" = "-lotus" ]
		then
			Plugx="--pluginids=1014,3014,5014"
                        AvtarRes=1; Lotus=1
		elif [ "$1" = "-networker" ]
		then
			AvtarRes=2; Networker=1
		elif [ "$1" = "-nwbrowse" ]
		then
			Networker_recovery=1
		elif [ "$1" = "-nwinc" ]
		then
			Nwinc=1	
		elif [ "$1" = "-nwdata" ]
		then
			if [ "$Nwdata" = "" ];then Nwdata="$2"; else Nwdata="$Nwdata|$2"; fi
			shift
		elif [ "$1" = "-nwxdata" ]
		then
			if [ "$Nwxdata" = "" ];then Nwxdata="$2"; else Nwxdata="$Nwxdata|$2"; fi
			shift
		elif [ "$1" = "-vss" ]
		then
			Plugx="--pluginids=3015"
			VSS=1
		elif [ "$1" = "-oracle" ]
		then
			Plugx="--pluginids=1002,2002,3002,4002,5002"
			AvtarRes=1; Oracle=1
		elif [ "$1" = "-shptvss" ]
		then
			Plugx="--pluginids=3026"
			if [ "$vss_ok" -eq "1" ]
			then
				AvtarRes=5; Sharepoint=2
			else
				echo "\n$RED_BG$WHITE_FG WARNING:$DEF$RED_FG Plug-In type [$WHITE_FG $1 $RED_FG] not supported with this version of Avamar$DEF" | tee -a $LOG
			fi
		elif [ "$1" = "-avflags" ]
		then
			AvtarFlag=1; Avtarflags="$Avtarflags $2"; shift
		elif [ "$1" = "-atmos" ]
		then
			Atmos=1
		elif [ "$1" = "-avtar" ]
		then
			AvtarRes=1
		elif [ "$1" = "-mccli" ]
		then
			MCCLI_=1
		elif [ "$1" = "-ndmp" ]
		then
			Plugx="--pluginids=7003,8003,14003"
			NdmpFlag="1"; AvtarRes=1
		elif [ "$1" = "-Metadata" ]
		then
			if [ "$2" = "txt" ]
			then
				Metadata=1; Format=""
			elif [ "$2" = "xml" ]
			then
				Metadata=2; Format="--format=XML"
			elif [ "$2" = "txtcomp" ]
			then
				Metadata=3; Format=""
			elif [ "$2" = "xmlcomp" ]
                        then
				Metadata=4; Format="--format=XML"
			fi
		elif [ "$1" = "-archive" ]
		then
			if [ "$2" = "pax" ];then ArchiveFlag=1
			elif [ "$2" = "paxcomp" ];then ArchiveFlag=2
			elif [ "$2" = "tar" ];then ArchiveFlag=3
			elif [ "$2" = "tarcomp" ];then ArchiveFlag=4; fi
			AvtarRes=1
		elif [ "$1" = "-sybase" ]
		then
			echo "\n$RED_BG$WHITE_FG WARNING:$DEF$RED_FG Plug-In type [$WHITE_FG $1 $RED_FG] not supported with this version of Avamar$DEF" | tee -a $LOG
			AvtarRes=1; SybaseFlag=1
			Plugx="--pluginids=1029,2029,3029"
		elif [ "$1" = "-hypervvss" ]
		then
			Plugx="--pluginids=3032"
			if [ "$vss_ok" -eq "1" ]
			then
				HypervFlag=1; AvtarRes=6
			else
				echo "\n$RED_BG$WHITE_FG WARNING:$DEF$RED_FG Plug-In type [$WHITE_FG $1 $RED_FG] not supported with this version of Avamar$DEF" | tee -a $LOG
			fi
		elif [ "$1" = "-vmmigrate" ]
		then
			Fld12="$(grep "^$Siteid" $CFG | head -1 | awk -F, '{print $12}')"
			if [ "$Fld12" = "n/a" ];then Fld12=""; fi
			AvtarRes=7; VMmigrate_="$2"; VMmigrate="$(echo "$VMmigrate_" | sed -n "s/~/--/"gp)"; ptype="3016"
		elif [ "$1" = "-vmimage" ]
		then
			Plugx="--pluginids=1016,3016"
			VMimage="1"
			if [ "$Avtar_Version2" -eq "1" ];then AvtarRes=0; else AvtarRes=1; fi
 		elif [ "$1" = "-client" ]
		then
			Client_="$2"; shift; clientx=1 
 		elif [ "$1" = "-gui" ]
		then
			bumail_flg=1
			refreshloopcnt="$(grep "^WEBUI_REFRESHLOOPCNT=" $BULOCATION/customize/webui.txt | tail -1 | awk -F= '{print $2}')"
			refreshloopcnt_x="0"
			refreshloopdelay="$(grep "^WEBUI_REFRESHLOOPDELAY=" $BULOCATION/customize/webui.txt | tail -1 | awk -F= '{print $2}')"

			if [ "$2" = "refresh" ]
			then
				if [ "$3" = "dashboardonly" ]
				then
					Jobreport=3
					gather_stats_rtn >/dev/null 2>&1
					exit
				elif [ "$3" = "full" -o "$3" = "partial" ]
				then
					if [ -f $BULOCATION/customize/NOREFRESH.cfg ];then exit; fi
					while true 
					do
						if [ ! -f $BULOCATION/tmp/atocfg/.guirefresh.lck ]
						then
							touch $BULOCATION/tmp/atocfg/.guirefresh.lck
							Jobreport=1; bumail_flg=1
							if [ "$3" = "full" ]
							then
								if [ "$(grep -c "^WEBUI_REFRESHTYPE=full" $BULOCATION/customize/webui.txt)" -ne "0" ]
                                                                then
									rm $BULOCATION/jobstats/jobactivity.csv >/dev/null 2>&1
                                                    	                gather_stats_rtn force 
								else
                                                    	                gather_stats_rtn force >/dev/null 2>&1
                                                                fi
								Jobreport=3
								gather_stats_rtn >/dev/null 2>&1
 							elif [ "$3" = "partial" ];then gather_stats_rtn  >/dev/null 2>&1; fi
#							elif [ "$3" = "partial" ];then gather_stats_rtn  ; fi

							jobpolicy_rtn >/dev/null 2>&1

							rm $BULOCATION/tmp/atocfg/.guirefresh.lck >/dev/null 2>&1
							break
						else
							refreshloopcnt_x="$(expr $refreshloopcnt_x + 1)"
							echo "A previous GUI Full-Refresh already queued, sleeping for [$refreshloopdelay seconds][Loop-Cnt=$refreshloopcnt_x of $refreshloopcnt]"
							sleep $refreshloopdelay
							if [ "$refreshloopcnt_x" -ge "$refreshloopcnt" ]
							then
								echo "Unexpected refresh error, removing the refresh lock file $BULOCATION/tmp/atocfg/.guirefresh.lck"
								rm $BULOCATION/tmp/atocfg/.guirefresh.lck >/dev/null 2>&1
								break
							fi
						fi
					done
					exit
				fi
			fi
			gui_rtn $2; exit
 		elif [ "$1" = "-upgrade" ]
		then
			admeupgrade_rtn; exit
 		elif [ "$1" = "-grab" ]
		then
			if [ "$2" = "noprompt" -o "$3" = "noprompt" ];then Prompt="noprompt"; fi
			backup_rtn grab; exit
 		elif [ "$1" = "-health" ]
		then
			 health_rtn noprompt; exit
 		elif [ "$1" = "-backup" ]
		then
			if [ "$2" = "noprompt" -o "$3" = "noprompt" ];then Prompt="noprompt"; fi
			if [ "$(echo "$2" | grep -c "@")" -gt "0" ]
                	then
                        	bumail="$2"; bumail_flg=1
                	fi
                	if [ "$2" = "rollback" ];then backup_rtn $2; else  backup_rtn $1; fi
                	exit
 		elif [ "$1" = "-locate" ]
		then
			filelist_rtn; exit
 		elif [ "$1" = "-log" ]
		then
			Log_=1
			eventlog_rtn $Cfg; exit
 		elif [ "$1" = "-l" ]
		then
			Log_=1
			eventlog_rtn $Cfg; exit
		elif [ "$1" = "-server" ]
		then
			Servertape=1
#			Serverenv="$2"
 		elif [ "$1" = "-h" ]
		then
 			usage_rtn -h; exit
 		elif [ "$1" = "-H" ]
		then
 			usage_rtn $1; exit
 		elif [ "$1" = "-d" ]
		then
			shift; continue
 		elif [ "$1" = "-upre" ]
		then
			Upre="$2"
 		elif [ "$1" = "-upst" ]
		then
			Upst="$2"
 		elif [ "$1" = "-tapeonly" ]
		then
			Tape_only=1
 		elif [ "$1" = "-t" ]
		then
			Tape_only=1
 		elif [ "$1" = "-buid" ]
		then
			Buid_nums=$2; shift
 		elif [ "$1" = "-recover" ]
		then
			Recover=1; flag=0; Retry=1; Recfile=1; Action="retry"; return=0
			if [ "$2" = "rerun" ];
			then
				Action="rerun"; Rerun=1; Retry=0
 			elif [ "$2" = "retry" ];
 			then
				Action="retry"; Rerun=0; Retry=1
			fi
				
			if [ "$Action" = "retry" ]
			then
 				if [ "$Recfile" -lt "1" ];then Recfile=1; fi
				Retry=1; list_rtn $Action $Recfile; view_rtn $Action 
				list_rtn $Action $Recfile
			elif [ "$Action" = "rerun" ]
			then
 				if [ "$Recfile" -lt "1" ];then Recfile=1; fi
				Rerun=1; list_rtn $Action $Recfile; view_rtn $Action 
 				list_rtn $Action $Recfile
			fi
			while true
			do
					if [ "$return" -eq "3" ]
					then
						Action="retry"; Retry=1; Rerun=0; return=0
						list_rtn $Action 1
						view_rtn $Action 1
					elif [ "$return" = "2" ]
					then
						Action="rerun"; Rerun=1; Retry=0; return=0
						list_rtn $Action 1
						view_rtn $Action 1
					fi
					list_rtn $Action 0
					view_rtn $Action
			done
			exit
 		elif [ "$1" = "-version" ]
		then
			echo "$Version" | tail -1; exit
 		elif [ "$1" = "-view" ]
		then
#			if [ "$2" = "-clouddatapurge" -o "$3" = "-clouddatapurge" ];then CloudDataPurge=1; fi
			Rerun=0; Retry=0; view_rtn
			exit
 		elif [ "$1" = "-v" ]
		then
#			if [ "$2" = "-clouddatapurge" -o "$3" = "-clouddatapurge" ];then CloudDataPurge=1; fi
			Rerun=0; Retry=0; view_rtn
			exit
		elif [ "$1" = "-labelx" ]
		then
			Labelx="$2"
		elif [ "$1" = "-skipselect" ]
		then
			Skipselect=1
 		elif [ "$1" = "-mailhome" ]
		then
			echo "Function Currently not available"; exit	
 		elif [ "$1" = "-vdp" ]
		then
			VdpRes=1; AvtarRes=1
 		elif [ "$1" = "-securityrefresh" -o "$1" = "-credentialrefresh" ]
		then
			if [ "$2" = "noprompt" -o "$3" = "noprompt" ]
			then
				Prompt="noprompt"
				Security_Refresh="1"
			else
				Security_Refresh="0"
			fi
			security_rtn
			exit
 		elif [ "$1" = "-s" ]
		then
			Stageonly_=1
 		elif [ "$1" = "-stageonly" ]
		then
			Stageonly_=1
 		elif [ "$1" = "-cfg" ]
		then
			init_config_rtn dummy $2 $3
 		elif [ "$1" = "-nwkcfg" ]
		then
			$BULOCATION/tools/autonwkconfig.sh $2	
			exit
 		elif [ "$1" = "-inc" ]
		then
			Mode1=1
 			if [ -f $HOMEPATH/mccli -o -L $HOMEPATH/mccli ]
			then
				if [ "$1" = "-inc" ]
				then
					Mode1=1; Mode1Path="INCREMENTAL"
				fi
			else
				echo "\nWARNING-20F: Incremental AST staging requires latest tapeout.pl script Ver 1.43b or higher$DEF"
			fi
 		elif [ "$1" = "-incdel" ]
		then
 			if [ -f $HOMEPATH/mccli -o -L $HOMEPATH/mccli ]
			then
				if [ "$1" = "-incdel" ]
				then
					Mode1=2; Mode1Path="INCREMENTAL"
				fi
			else
				echo "\n$ERRORX-20E: Incremental staging not supported with traditional Avamar-TO$DEF"
				exit 1
			fi
		elif [  "$1" = "-jobreport" ]
		then
			Jobreport=1; bumail_flg=1
			if [ "$2" = "activity" ] 
			then
				gather_stats_rtn $3; exit
			elif [ "$2" = "history" ]
			then
				Jobreport=2; 
				Jobname="$3"
				GetLast="$4"
				job_history_rtn $Jobname $GetLast
				exit
			elif [ "$2" = "stats" ]
			then
				Jobreport=3
				gather_stats_rtn
				exit
			fi
			jobreport_rtn $2; exit
 		elif [ "$1" = "-audit" ]
 		then
 			audit_file_rtn	
			exit
		elif [  "$1" = "-auditget" ]
		then
			audit_get_rtn $2; exit
		elif [  "$1" = "-jobpolicy" ]
		then
			touch /tmp/policyrefresh
			jobpolicy_rtn "$2"; exit
		elif [  "$1" = "-jobcancel" ]
		then
			Jobcancel=1;
			Canceljobcall="jobcancel_rtn $2 $3 $4" > $BULOCATION/jobcheck
			cancelockname="$(echo "$2" | sed -n "s/.log/-cancel.lck/"gp)"
			if [ -f /tmp/$cancelockname ]
			then
				echo "$ERRORX-00: A previous cancel session is already in progress for job name: [$file_cfg], skipping cancel operation"
				exit 1
			fi
			jnamex="$(echo "$2" | sed -n "s/.log/.cfg/"gp)"
			echo "\nCANCEL OPERATION IN PROGRESS [$jnamex] ..." >> $2 
			jobcancel_rtn $2 $3 "$4"; exit
		elif [  "$1" = "-jobcreate" ]
		then
			jobcreate_rtn "$2"; exit
		elif [  "$1" = "-jobschedule" ]
		then
			Jobschedule=1
			jobschedule_rtn "$2"; exit
		elif [  "$1" = "-groupsize" ]
		then
			groupsize_rtn "$2"; exit
		elif [  "$1" = "-clientx" ]
		then
			clientx_rtn $2 "$3"; exit
		elif [  "$1" = "-sched" ]
		then
			userargs="$(echo "$@" | awk '{print $3 $4 $5}')"
			echo "DEBUG - userargs = $userargs"
			$BULOCATION/scripts/admesched.sh $2 $3 $4
		fi
		if [ "$1" != "" ]
		then
			shift
 		elif [ "$ipok" -ge "2" ]
 		then
			echo "$RED_BG$WHITE_FG$Version$DEF"
 			echo "\n$ERRORX-20D: Invalid or insufficient parameters specified, for help use -h $DEF"
  			exit 1
		else
			break
 		fi
 	done

	Filter="MOD|COD|NAH|ADAMK"
	for x in `echo "$Useropts"`
	do
		if [ "$x" = "mod" ]
		then
			Filter=`echo "$Filter" | sed -n "s/MOD|//"p`
		elif [ "$x" = "cod" ]
		then
			Filter=`echo "$Filter" | sed -n "s/COD|//"p`
		elif [ "$x" = "nah" ]
		then
			Filter=`echo "$Filter" | sed -n "s/NAH|//"p`
		fi
 		Useropts_="$Useropts_ --$x "
	done
	CMD_select="$CMD_select $Useropts_"
	CMD_tapeout="$CMD_tapeout $Useropts_" 

	chmod 770 -R $BULOCATION > /dev/null 2>&1 
	chmod 770 -R $BULOCATION/audit > /dev/null 2>&1 
	chmod 440 -R $BULOCATION/audit/*.txt > /dev/null 2>&1 

	if [ "$Debug" -ge "3" -o "$DEBUG" -ge "3" ]; then Quiet=""; fi
 	if [ -s $HOMEPATH/avmaint ];then readonly_rtn 5; fi
	if [ "$Avtarflags" != "" ];then avflags_rtn; fi
	if [ "$Sharepoint" != "" ];then shptflags_rtn; fi
	if [ "$Function" -eq "1" ]
	then
  		mode_chk
  		session_lock_rtn 
 		select_rtn
	elif [ "$Function" -eq "2" ]
	then
		mode_chk
  		session_lock_rtn 
		Export_Hash="$(date +'%s')"
		echo "Migration-Sequence-Number=$Export_Hash"
		tapeout_rtn
	fi
