anchor.diff:            });
         });
       }
  -   
  +
     String _base64Encode(List<int> bytes){
       String e = CryptoUtils.bytesToBase64(bytes, urlSafe: true);
       return e.split("=").first;
     }
  - 
  +
     Future<String> _generateJWT(String privateKeyFile){
         return new Future.sync((){
           String bheader = _base64Encode(JSON.encode(header).codeUnits);
            String bclain = _base64Encode(JSON.encode(clain).codeUnits);
            String headerclain = "$bheader.$bclain";
            return signOpenSSL(headerclain, privateKeyFile).then((bytes){
  -           print(bytes);
              String bsig =  CryptoUtils.bytesToBase64(bytes, urlSafe: true);
             return "$headerclain.$bsig";
            });
         });
       }
  -  
  +
     Future<String> _generateJWTUsingKey(RSAPrivateKey privateKey){
       return new Future.sync((){
         String bheader = _base64Encode(JSON.encode(header).codeUnits);
          String bclain = _base64Encode(JSON.encode(clain).codeUnits);
          String headerclain = "$bheader.$bclain";
          return sign(headerclain, privateKey).then((bytes){
  -         print(bytes);
            String bsig =  CryptoUtils.bytesToBase64(bytes, urlSafe: true);
           return "$headerclain.$bsig";
          });
       });
     }
  -  
  +
     Future<List<int>> signOpenSSL(String msg, String privateKeyFile){
       return Process.start('openssl', ['sha', '-sha256' , '-sign' , privateKeyFile]).then((Process process) {
         var bytes = [];
         stderr.addStream(process.stderr);
  -      StreamSubscription sub = process.stdout.listen((b)=>bytes.addAll(b)); 
  +      StreamSubscription sub = process.stdout.listen((b)=>bytes.addAll(b));
         process.stdin..write(msg)..close();
         return process.exitCode.then((code){
           return bytes;
         });
       });
     }
  -  
  +
     Future<List<int>> sign(String msg, RSAPrivateKey privk){
       return new Future.sync((){
         initCipher();
  
positive.code:       return signature.bytes;
      });
    }
   
  
    String _mapToQuery(Map<String, String> map, {Encoding encoding}) {
      var pairs = <List<String>>[];
  
negative.code:   Map clain;
    Map auth;
    int iat;
  
    String get accessToken => auth["access_token"];
  
    JWT(String iss, String scopes){
      header = {"alg":"RS256","typ":"JWT"} ;
      DateTime now = new DateTime.now();
  