# convert 2D Array to Hash Table while removing any duplicate keys
    function arrayToHash($arr){
            $hash = new-object System.Collections.Hashtable
            $arr=$arr|sort -Descending # Higher (more recent) values on top
            for ( $i = 0; $i -lt $arr.Length; $i++ ) {
              try{$hash.Add($arr[$i][0],$arr[$i][1])}catch{}
            }
            return $hash
        }
     
    function hashToArray($hash){
        $arr=@();
        [string[]] $arr = ($hash | Out-String -Stream) -ne '' | select -Skip 2
        return $arr
        }