Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
migaverse
GitHub Repository: migaverse/skymod
Path: blob/master/system/framework/framework.jar
4282 views
PKQ�rG	META-INF/PK
Q�rGW�+DDMETA-INF/MANIFEST.MFManifest-Version: 1.0
Created-By: 1.7.0_55 (Oracle Corporation)

PK=�Gcom/PK=�G
com/absolute/PK=�Gcom/absolute/android/PK=�G!com/absolute/android/persistence/PK
u�E˨y��7com/absolute/android/persistence/AppInfoProperties.aidl/**
 * AppInfoProperties.aidl
 *
 * Copyright (c) Absolute Software, 2013. All rights reserved.
 */

package com.absolute.android.persistence;

/* We just need to declare this class as parcelable here to keep the AIDL 
 * compiler happy, otherwise it complains that it cannot find the import for
 * the AppInfoProperties class in IABTPersistence.aidl.
 */
 
parcelable AppInfoProperties;

PK
u�E�J��}}0com/absolute/android/persistence/AppProfile.aidl/**
 * AppProfile.aidl
 *
 * Copyright � Absolute Software, 2011. All rights reserved.
 */

package com.absolute.android.persistence;

/* We just need to declare this class as parcelable here to keep the AIDL 
 * compiler happy, otherwise it complains that it cannot find the import for
 * the AppProfile class in IABTPersistence.aidl.
 */
 
parcelable AppProfile;

PK
u�E��j�:com/absolute/android/persistence/IABTDownloadReceiver.aidl/**
 * IABTDownloadReceiver.aidl
 *
 * Copyright (c) Absolute Software, 2013. All rights reserved.
 */

package com.absolute.android.persistence;


/**
 * This interface provides a callback to receive notifications of progress and 
 * completion of asynchronous requests to the server to download an APK.
 *
 * See {@link ABTPersistenceManager#downloadApk(String, int, String, String, String, IABTDownloadReceiver, int)}.
 *  
 */
interface IABTDownloadReceiver {

    /**
     * Called to provide updates on the progress of requests to download application APKs from the server
     * at the interval specified by the progressIntervalKb argument in the 
     * {@link ABTPersistenceManager#downloadApk(String, int, String, String, String, IABTDownloadReceiver, int)}
     * request.
     *
     * When implementing this callback method, do not invoke any long running or blocking 
     * functions.
     *
     * @param packageName The package name of the application that is being downloaded.
     *
     * @param version The version number (Android versionCode) code of the application that is being downloaded.
     *
     * @param totalBytes The size of the file being downloaded in bytes.
     *
     * @param downloadedBytes The number of bytes that have been downloaded.
     * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    void onDownloadProgress(
        in String packageName,
        in int version,
        in int totalBytes,
        in int downloadedBytes);
        
    /**
     * Called to provide notification of the completion of requests to download application APKs 
     * from the server.
     * {@link ABTPersistenceManager#downloadApk(String, int, String, String, String, IABTDownloadReceiver, int)}.
     *
     * When implementing this callback method, do not invoke any long running or blocking 
     * functions.
     *
     * @param succeeded {@code true} if the download succeeded or {@code false} if it
     *     failed.
     *
     * @param packageName The package name of the downloaded application.
     *
     * @param version The version number (Android versionCode) code of the downloaded application.
     *
     * @param apkPath The path to the location on the device file system where the APK has been
     * downloaded to. This will be null if the download failed.
     *
     * @param errorMessage A failure message describing the reason for the failure if 
     *    succeeded is {@code false}. Null if the download succeeded.
     * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    void onDownloadResult(
        in boolean succeeded,
        in String packageName,
        in int version,
        in String apkPath, 
        in String errorMessage);
}
PK
u�E:-���<com/absolute/android/persistence/IABTGetAppInfoReceiver.aidl/**
 * IABTGetAppInfoReceiver.aidl
 *
 * Copyright (c) Absolute Software, 2013. All rights reserved.
 */

package com.absolute.android.persistence;

import com.absolute.android.persistence.AppInfoProperties;

/**
 * This interface provides a callback to receive notifications of the
 * completion of asynchronous GetAppInfo requests to the server.
 *
 * See {@link ABTPersistenceManager#getAppInfo(String, String, String, String, IABTGetAppInfoReceiver)}.
 *  
 */
interface IABTGetAppInfoReceiver {

    /**
     * Called when an asynchronous GetAppInfo request completes to provide information 
     * about application APKs that are available for download  
     * {@link ABTPersistenceManager#getAppInfo(String, String, String, String, IABTGetAppInfoReceiver)}.
     *
     * When implementing this callback method, do not invoke any long running or blocking 
     * functions.
     *
     * @param succeeded {@code true} if the operation succeeded or {@code false} if it
     *     failed.
     *
     * @param packageName The package name of the application for which the information was requested.
     *
     * @param appInfo The {@link AppInfoProperties} object describing the application APK that is available 
     * for download. This is only valid if succeeded is true, otherwise it will be null.
     *
     * @param errorMessage A failure message describing the reason for the failure if 
     *    succeeded is {@code false}. Null if the operation succeeded.
     * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    void onGetAppInfoResult(
        in boolean succeeded,
        in String packageName,
        in AppInfoProperties appInfo, 
        in String errorMessage);
        
}
PK
u�E������5com/absolute/android/persistence/IABTLogIterator.aidl/**
 * IABTLogIterator.aidl
 *
 * Copyright � Absolute Software, 2011. All rights reserved.
 */

package com.absolute.android.persistence;

import com.absolute.android.persistence.LogEntry;

/**
 * This interface provides functionality to retrieve the next batch of log entries from the
 * Persistence Service log. 
 *
 * Use the {@link IABTPersistenceLog#getIterator } method to obtain an iterator object 
 * that implements this interface.
 */
interface IABTLogIterator {

    /**
     * Gets the next batch of {@link LogEntry} objects from the Persistence Service Log.
     *
     * @param maxEntries The maximum number of log entries to return in this call.
     *
     * @return An array of {@link LogEntry} objects. The Log Entries which match the 
     * minimum severity value specified in the {@link IABTPersistenceLog#getIterator(int)}
     * call are returned in chronological order. The returned array may contain less than 
     * maxEntries elements if the end of the log is reached. Null is returned if there are
     * no more entries to return. Hence typically this method would be invoked in a while
     * loop e.g.,
     * <pre>
     * {@code
     * 	IABTLogIterator iterator = log.getIterator(Log.WARN);
     *  LogEntry[] logEntries = null;
     *  while ((logEntries = iterator.getNext(100)) != null) {
     *	    for (LogEntry logEntry : logEntries) {
     *          Calendar timeStamp = logEntry.getTimeStampUTC();
     *          String logMessage = logEntry.getMessage();
     *          ....
     *      }
     *  }
     * }
     * </pre>
     * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    LogEntry[] getNext(in int maxEntries);

}


PK
u�EN�;;7com/absolute/android/persistence/IABTPersistedFile.aidl/**
 * IABTPersistedFile.aidl
 *
 * Copyright � Absolute Software, 2011. All rights reserved.
 */

package com.absolute.android.persistence;


/**
 * This interface provides functionality to access files that are stored in the 
 * 'persistent partition' of the device that survives factory reset.
 *
 * Use the {@link ABTPersistenceManager#getPersistedFile(String, String, boolean) }
 * method to obtain an object that implements this interface.
 */
interface IABTPersistedFile {

    /**
     * Returns whether the file already exists in the "persistent partition".
     *
     * See also {@link java.io.File#exists()}.
     * 
     * @throws android.os.RemoteException if there was an RPC failure.       
     */
    boolean exists();
     
    /**
     * Writes the specified bytes to the file in the "persistent partition".
     *
     * See also {@link java.io.FileOutputStream#write(byte[])}.
     * 
     * @param buffer The byte array of data to be written to the file stream. 
     * 
     * @return The number of bytes actually written, or -1 if there was an error
     * writing to the file. 
     *
     * @throws android.os.RemoteException if there was an RPC failure.       
     */
    int write(in byte[] buffer); 

    /**
     * Writes 'byteCount' bytes from the byte array buffer starting at position 'offset' to 
     * the file in the "persistent partition".
     *
     * See also {@link java.io.FileOutputStream#write(byte[], int, int)}.
     * 
     * @param buffer The byte array of data to be written to the file stream. 
     *
     * @param offset The start position in buffer from where to get bytes.
     *
     * @param byteCount The number of bytes from buffer to write to the file stream.
     * 
     * @return The number of bytes actually written, or -1 if there was an error
     * writing to the file.
     *
     * @throws android.os.RemoteException if there was an RPC failure.       
     */
    int writeWithCount(in byte[] buffer, in int offset, in int byteCount); 
             
    /**
     * Reads bytes from the file in the "persistent partition" of the device and stores
     * them in the buffer.
     *
     * See also {@link java.io.FileInputStream#read(byte[])}.
     *
     * @param buffer The byte array in which to store the data read from the file stream. 
     *
     * @return The number of bytes actually read or -1 if the end of the file has
     * been reached, or the file could not be read e.g., because it does not exist.
     *
     * @throws android.os.RemoteException if there was an RPC failure.              
     */
    int read(inout byte[] buffer);
         
    /**
     * Skips at most 'byteCount' bytes in the file being read. This method does nothing 
     * and returns 0 if 'byteCount' is negative. It only pertains to reading from the 
     * file and has no affect on writing to it.
     * 
     * See {@link java.io.FileInputStream#skip(long)}.
     *
     * @param byteCount The number of bytes to skip in the read file stream.
     *
     * @return The number of bytes actually skipped, or -1 if an error occurs while skipping 
     * bytes in the file, e.g., because the file does not exist.    
     *
     * @throws android.os.RemoteException if there was an RPC failure.  
     */
    long skip(in long byteCount); 

    /**
     * Closes the file and frees up any resources associated with accessing it. This method
     * should be called after completing the file reads/writes, otherwise it will be called 
     * IABTPersistedFile object is garbage collected.
     *
     * See also {@link java.io.FileInputStream#close()} and 
     * {@link java.io.FileOutputStream#close()}.
     * 
     * @throws android.os.RemoteException if there was an RPC failure.       
     */
	void close();
	
	/**
     * Deletes the file. 
     *
     * See also {@link java.io.File#delete()}.
     * 
     * @return {@code true} if the file was deleted.
     *
     * @throws android.os.RemoteException if there was an RPC failure.       
     */
    boolean delete();
}
PK
u�E.�lg
g
5com/absolute/android/persistence/IABTPersistence.aidl/**
 * IABTPersistence.aidl
 *
 * Copyright (c) Absolute Software, 2011-2013. All rights reserved.
 */

package com.absolute.android.persistence;

import com.absolute.android.persistence.IABTPersistedFile;
import com.absolute.android.persistence.IABTPersistenceLog;
import com.absolute.android.persistence.IABTPing;
import com.absolute.android.persistence.IABTResultReceiver;
import com.absolute.android.persistence.IABTGetAppInfoReceiver;
import com.absolute.android.persistence.IABTDownloadReceiver;
import com.absolute.android.persistence.AppProfile;
import com.absolute.android.persistence.MethodSpec;
import com.absolute.android.persistence.MethodReturnValue;

/**
 * This interface allows applications to interact with the Absolute
 * Persistence Service, including: getting and setting the current persistence 
 * state; specifying applications to be installed, and optionally started, 
 * persisted and monitored; and dynamically executing arbitrary methods as
 * as a system privileged process on behalf of the invoker.
 *
 * Note that use of this interface is restricted to applications that are 
 * signed with either the Absolute certificate or the system certificate.
 * Attempts to invoke any of the interface methods by any other applications
 * will result in a java.lang.SecurityException being thrown.
 *
 * Users of this interface should do so via the java class
 * {@link com.absolute.android.persistence.ABTPersistenceManager}.
 * Refer to this class for the API documentation.
 *
 */
interface IABTPersistence {

    int getState();

    void setState(in int newState);
    
    int getVersion();
    
    IABTPersistenceLog getLog(in String logName);
    
     void install(
        in AppProfile appProfile,
        in String apkPath,
        in IABTResultReceiver resultReceiver);
        
    void uninstall(
        in String packageName,
        in boolean deletePersistedFiles,
         in IABTResultReceiver resultReceiver);
 
    AppProfile[] getAllApplicationProfiles();

    AppProfile getApplicationProfile(in String packageName);
    
    void setApplicationProfile(in AppProfile appProfile);
    
    void setPersistence(
        in String packageName,
         in boolean onState);

    void setAllPersistence(in boolean onState);

    int getPersistedAppCount();

    void invokeMethodAsSystem(
        in MethodSpec methodSpec, 
        in IABTResultReceiver resultReceiver);
        
    void registerPing(
        in String packageName,
        in IABTPing pingCallback,
        in int pingIntervalSecs);
        
    void unregisterPing(in String packageName);
    
    IABTPersistedFile getPersistedFile(
        in String packageName,
        in String fileName,
        in boolean append);
        
    String getDeviceId();

    void refreshDeviceId(); 

    void testFirmwareUpdate();

    String getDiagnostics();

    void getAppInfo(
        in String packageName,
        in String accessKey,
        in String updateUrl,
        in String updateIpAddress,
        in IABTGetAppInfoReceiver appInfoResult);

    void downloadApk(
        in String packageName,
        in int version,
        in String downloadUrl,
        in String downloadIpAddress,
        in String digitalSignature,
        in IABTDownloadReceiver downloadReceiver,
        in int progresskB);

}
PK
u�E>�@���8com/absolute/android/persistence/IABTPersistenceLog.aidl/**
 * IABTPersistenceLog.aidl
 *
 * Copyright � Absolute Software, 2011. All rights reserved.
 */

package com.absolute.android.persistence;

import com.absolute.android.persistence.IABTLogIterator;

/**
 * This interface provides functionality to access and manage the Persistence Service Log.
 * Use the {@link ABTPersistenceManager#getLog } method to obtain an object that implements 
 * this interface.
 */
interface IABTPersistenceLog {

    /**
     * Gets an iterator for retrieving the Persistence Service log entries. 
     * 
     * @param minSeverityLevel The minimum severity level to use as a filter.
     * For example, use:
     * <pre>
     *  {@code android.util.Log.ERROR} to get just errors; or 
     *  {@code android.util.Log.WARN} to get warnings and errors; or
     *  {@code android.util.Log.INFO} to get info, warnings and errors; or
     *  {@code android.util.Log.DEBUG} to get debug, info, warnings and errors; or
     *  {@code android.util.Log.VERBOSE} or 0 to get all log entries.  
     * </pre>
     * <p>
     *
     * @return Returns a {@link IABTLogIterator} whose getNext() method can be used to
     * obtain the next batch of log entries as an array of {@link LogEntry} items.
     * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    IABTLogIterator getIterator(in int minSeverityLevel);

    /**
     * Logs a message with the specified severity. The message will be given the
     * timestamp of the current time. 
     *
     * Messages are logged in a set of rotating log files in the "persisted partition".
     * 
     * @param severity The severity of the message, one of:
     * <pre>
     *  {@code android.util.Log.ERROR} or 
     *  {@code android.util.Log.WARN} or 
     *  {@code android.util.Log.INFO} or
     *  {@code android.util.Log.DEBUG} or
     *  {@code android.util.Log.VERBOSE}. 
     * </pre>
     * <p>
     *
     * @param method The name of the method which created the log entry. Specify an
     * empty string "" or null if you don't wish to use this field. 
     * 
     * @param message The message to be logged.
     *
     * @throws IllegalArgumentException in an invalid severity level is passed in.
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    void logMessage(in int severity, in String method, in String message);

    /**
     * Clears the Persistence Service log, purging all its contents. 
     * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    void clear();
    
    /**
     * Sets the maximum size of the Persistence Service log. 
     * 
     * @param numLogs The maximum number of rotating logs to be used.
     * 
     * @param maxSizeKB The maximum size of the log before it is rotated.
     * When the current log reaches this size, it is rotated to use the next
     * log file up to the specified numLogs. Once all are full, the oldest
     * log will be purged to make space for new log entries. Hence the
     * total maximum size of the log data is numLogs * maxSizeKB.
     * 
     * Note that changing the numLog and maxSizeKB values will only take
     * affect when the next log rotation occurs.   
     * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    void setSize(in int numLogs, in int maxSizeKB);
    
    /**
     * Gets the number of rotating log files. 
     * 
     * See also {@link IABTPersistenceLog#setSize(int, int)} 
     *
     * @return The number of rotating logs.
     * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    int getNumberOfLogs();
    
    /**
     * Gets the maximum size (in kilobytes) of each log file. 
     * 
     * See also {@link IABTPersistenceLog#setSize(int, int)} 
     *
     * @return The maximum allowed sized of each of the log files.
     * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    int getMaxLogSizeKB();
}
PK
u�E�7o�II.com/absolute/android/persistence/IABTPing.aidl/**
 * IABTPing.aidl
 *
 * Copyright � Absolute Software, 2011. All rights reserved.
 */

package com.absolute.android.persistence;

/**
 * This interface provides a ping callback method. If monitoring is enabled, the 
 * Persistence Service will periodically invoke this method to check that the application
 * is healthy. Refer to the associated parameters specified in the register
 * ping method {@link ABTPersistenceManager#registerPing(String, IABTPing, int)}.
 */
interface IABTPing {

	/**
     * Pings the application to check that it is alive and responsive. 
     * Implement this method to just return {@code true}. Do not throw any
     * exceptions.
	 *
	 * @return {@code true} if healthy.
	 * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    boolean ping();

}
PK
u�E��A
A
8com/absolute/android/persistence/IABTResultReceiver.aidl/**
 * IABTResultReceiver.aidl
 *
 * Copyright � Absolute Software, 2011. All rights reserved.
 */

package com.absolute.android.persistence;

import com.absolute.android.persistence.MethodSpec;
import com.absolute.android.persistence.MethodReturnValue;

/**
 * This interface provides a callback to receive notifications of the results of 
 * completion of an asynchronous install or uninstall operation, or the results of 
 * asynchronous invocation of invokeMethodAsSystem.
 * 
 * See {@link ABTPersistenceManager#install(AppProfile, String, IABTResultReceiver)},
 * {@link ABTPersistenceManager#uninstall(String, boolean, IABTResultReceiver)} and 
 * {@link ABTPersistenceManager#invokeMethodAsSystem(MethodSpec, IABTResultReceiver)}.
 *  
 */
interface IABTResultReceiver {

    /**
     * Called when the results of an asynchronous operation such as the install 
     * {@link ABTPersistenceManager#install(AppProfile, String, IABTResultReceiver)},
     * or uninstall {@link ABTPersistenceManager#uninstall(String, boolean, IABTResultReceiver)} 
     * of an application are ready (i.e., the operation has completed). 
     *
     * When implementing this callback method, do not invoke any long running or blocking 
     * functions.
     *
     * @param operationId The ID of the operation for which this is the result
     *	e.g., {@link ABTPersistenceManager#OP_INSTALL} or {@link ABTPersistenceManager#OP_UNINSTALL}
     *
     * @param succeeded {@code true} if the operation succeeded or {@code false} if it
     *	 failed.
     *
     * @param packageName The package name of the application on which the operation was
     *	performed e.g., the package that was installed/uninstalled.
     *
     * @param errorMessage A failure message describing the reason for the failure if 
     *	succeeded is {@code false}. Null if the operation succeeded.
     * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    void onOperationResult(
    	in int operationId,
    	in boolean succeeded,
    	in String packageName,
    	in String errorMessage);
    	
    /**
     * Called when the results of an invocation of the invokeMethodAsSystem() function
     * see {@link ABTPersistenceManager#invokeMethodAsSystem(MethodSpec, IABTResultReceiver)}.
     *
     * When implementing this callback method, do not invoke any long running or blocking 
     * functions.
     *
     * @param methodSpec The specification of the method that was invoked, see 
     *	{@link com.absolute.android.persistence.MethodSpec }
     *
     * @param methodReturnValue The return value of the method invocation, see 
     *	{@link com.absolute.android.persistence.MethodReturnValue }
     *
     * @param succeeded {@code true} if the method invocation operation succeeded 
     *	(it completed without an exception) or {@code false} if it failed (threw
     *	an exception).
     *
     * @param errorMessage The exception message describing the reason for the failure if 
     *	succeeded is {@code false}. Null if the operation succeeded.
     * 
     * @throws android.os.RemoteException if there was an RPC failure.
     */ 
    void onInvokeResult(
    	in MethodSpec methodSpec,
    	in MethodReturnValue methodReturnValue,
    	in boolean succeeded,
    	in String errorMessage);    	
}
PK
u�E��9Kww.com/absolute/android/persistence/LogEntry.aidl/**
 * LogEntry.aidl
 *
 * Copyright � Absolute Software, 2011. All rights reserved.
 */

package com.absolute.android.persistence;

/* We just need to declare this class as parcelable here to keep the AIDL 
 * compiler happy, otherwise it complains that it cannot find the import for
 * the LogEntry class in IABTPersistence.aidl.
 */
 
parcelable LogEntry;

PK
u�E����7com/absolute/android/persistence/MethodReturnValue.aidl/**
 * MethodReturnValue.aidl
 *
 * � Absolute Software, 2011
 * Confidential and proprietary.
 */

package com.absolute.android.persistence;

/* We just need to declare this class as parcelable here to keep the AIDL 
 * compiler happy, otherwise it complains that it cannot find the import for
 * the MethodReturnValue class in IABTPersistence.aidl.
 */
 
parcelable MethodReturnValue;

PK
u�EP��0com/absolute/android/persistence/MethodSpec.aidl/**
 * MethodSpec.aidl
 *
 * � Absolute Software, 2011
 * Confidential and proprietary.
 */

package com.absolute.android.persistence;

/* We just need to declare this class as parcelable here to keep the AIDL 
 * compiler happy, otherwise it complains that it cannot find the import for
 * the MethodSpec class in IABTPersistence.aidl.
 */
 
parcelable MethodSpec;

PK?Q�rG	$��AMETA-INF/
 ����!��WJ,��WJ,�PK?
Q�rGW�+DD$ ���(META-INF/MANIFEST.MF
 ����!��WJ,��WJ,�PK?=�G$��A�com/
 �WJ,��WJ,��WJ,�PK?=�G
$��A�com/absolute/
 �WJ,��WJ,��WJ,�PK?=�G$��A�com/absolute/android/
 �WJ,��WJ,��WJ,�PK?=�G!$��A$com/absolute/android/persistence/
 �WJ,��WJ,��WJ,�PK?
u�E˨y��7$ ���dcom/absolute/android/persistence/AppInfoProperties.aidl
 ٣o�
��WJ,��WJ,�PK?
u�E�J��}}0$ ���Pcom/absolute/android/persistence/AppProfile.aidl
 ٣o�
��WJ,��WJ,�PK?
u�E��j�:$ ���com/absolute/android/persistence/IABTDownloadReceiver.aidl
 ٣o�
��WJ,��WJ,�PK?
u�E:-���<$ ����com/absolute/android/persistence/IABTGetAppInfoReceiver.aidl
 ٣o�
��WJ,��WJ,�PK?
u�E������5$ ����com/absolute/android/persistence/IABTLogIterator.aidl
 ٣o�
��WJ,��WJ,�PK?
u�EN�;;7$ ���com/absolute/android/persistence/IABTPersistedFile.aidl
 ٣o�
��WJ,��WJ,�PK?
u�E.�lg
g
5$ ����/com/absolute/android/persistence/IABTPersistence.aidl
 ٣o�
��WJ,��WJ,�PK?
u�E>�@���8$ ���c=com/absolute/android/persistence/IABTPersistenceLog.aidl
 ٣o�
��WJ,��WJ,�PK?
u�E�7o�II.$ ����Mcom/absolute/android/persistence/IABTPing.aidl
 ٣o�
��WJ,��WJ,�PK?
u�E��A
A
8$ ���MQcom/absolute/android/persistence/IABTResultReceiver.aidl
 ٣o�
��WJ,��WJ,�PK?
u�E��9Kww.$ ����^com/absolute/android/persistence/LogEntry.aidl
 ٣o�
��WJ,��WJ,�PK?
u�E����7$ ����`com/absolute/android/persistence/MethodReturnValue.aidl
 ٣o�
��WJ,��WJ,�PK?
u�EP��0$ ����bcom/absolute/android/persistence/MethodSpec.aidl
 ٣o�
��WJ,��WJ,�PK+	cd