blob: e7bf9e346413db03de83aa3587e8c5b70a2c76f8 [file] [log] [blame]
The Android Open Source Project96c5af42009-03-03 19:32:22 -08001<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2008 The Android Open Source Project
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
Makoto Onukid6a29782010-07-21 14:29:49 -07007
The Android Open Source Project96c5af42009-03-03 19:32:22 -08008 http://www.apache.org/licenses/LICENSE-2.0
Makoto Onukid6a29782010-07-21 14:29:49 -07009
The Android Open Source Project96c5af42009-03-03 19:32:22 -080010 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15-->
16
17<manifest xmlns:android="http://schemas.android.com/apk/res/android"
18 package="com.android.email">
Jeff Hamilton1e56db62010-02-11 16:25:49 -060019
20 <original-package android:name="com.android.email" />
21
The Android Open Source Project96c5af42009-03-03 19:32:22 -080022 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
23 <uses-permission android:name="android.permission.READ_CONTACTS"/>
24 <uses-permission android:name="android.permission.READ_OWNER_DATA"/>
25 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
26 <uses-permission android:name="android.permission.INTERNET"/>
27 <uses-permission android:name="android.permission.VIBRATE"/>
Andrew Stadlera392e072009-06-04 15:16:43 -070028 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Marc Blank03ecce72009-08-20 14:38:12 -070029 <uses-permission android:name="android.permission.GET_ACCOUNTS" />
Andrew Stadler627d1ae2009-07-24 16:25:18 -070030 <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
Marc Blank948c36f2009-07-27 10:24:58 -070031 <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
Fred Quintana4c195432009-08-17 13:05:44 -070032 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
33 <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
34
Marc Blankb6493a02009-07-05 12:54:49 -070035 <!-- For EAS purposes; could be removed when EAS has a permanent home -->
36 <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
Marc Blankf3fcb892009-10-28 18:12:51 -070037 <uses-permission android:name="android.permission.WRITE_CALENDAR"/>
38 <uses-permission android:name="android.permission.READ_CALENDAR"/>
Marc Blankb6493a02009-07-05 12:54:49 -070039
Andy Stadlerdab90a72009-05-06 17:50:29 -070040 <!-- Only required if a store implements push mail and needs to keep network open -->
41 <uses-permission android:name="android.permission.WAKE_LOCK"/>
42 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Andrew Stadler22722202009-09-20 17:23:59 -070043
44 <!-- Grant permission to other apps to view attachments -->
The Android Open Source Project96c5af42009-03-03 19:32:22 -080045 <permission android:name="com.android.email.permission.READ_ATTACHMENT"
46 android:permissionGroup="android.permission-group.MESSAGES"
47 android:protectionLevel="dangerous"
48 android:label="@string/read_attachment_label"
49 android:description="@string/read_attachment_desc"/>
50 <uses-permission android:name="com.android.email.permission.READ_ATTACHMENT"/>
Andrew Stadler22722202009-09-20 17:23:59 -070051
52 <!-- Grant permission to system apps to access provider (see provider below) -->
53 <permission android:name="com.android.email.permission.ACCESS_PROVIDER"
54 android:protectionLevel="signatureOrSystem"
55 android:label="@string/permission_access_provider_label"
56 android:description="@string/permission_access_provider_desc"/>
57 <uses-permission android:name="com.android.email.permission.ACCESS_PROVIDER"/>
58
The Android Open Source Project96c5af42009-03-03 19:32:22 -080059 <application android:icon="@drawable/icon" android:label="@string/app_name"
60 android:name="Email">
Andrew Stadler842ac042010-02-10 23:17:55 -080061 <activity
Makoto Onuki191448b2010-08-04 15:38:25 -070062 android:name=".activity.Welcome"
63 android:theme="@android:style/Theme.WithActionBar" >
Makoto Onukid6a29782010-07-21 14:29:49 -070064 >
65 <intent-filter>
66 <action android:name="android.intent.action.MAIN" />
Makoto Onuki191448b2010-08-04 15:38:25 -070067 <category android:name="android.intent.category.DEFAULT" />
Makoto Onukid6a29782010-07-21 14:29:49 -070068 <category android:name="android.intent.category.LAUNCHER" />
69 </intent-filter>
70 </activity>
Andrew Stadler842ac042010-02-10 23:17:55 -080071 <activity
72 android:name=".activity.UpgradeAccounts"
73 android:label="@string/upgrade_accounts_title"
74 android:theme="@android:style/Theme.NoTitleBar"
75 android:configChanges="keyboardHidden|orientation" >
76 </activity>
Marc Blank06275c42009-08-05 21:48:15 -070077 <!-- Must be exported in order for the AccountManager to launch it -->
The Android Open Source Project96c5af42009-03-03 19:32:22 -080078 <activity
79 android:name=".activity.setup.AccountSetupBasics"
80 android:label="@string/account_setup_basics_title"
Marc Blank06275c42009-08-05 21:48:15 -070081 android:exported="true"
The Android Open Source Project96c5af42009-03-03 19:32:22 -080082 >
83 </activity>
84 <activity
85 android:name=".activity.setup.AccountSetupAccountType"
86 android:label="@string/account_setup_account_type_title"
87 >
88 </activity>
89 <activity
90 android:name=".activity.setup.AccountSetupIncoming"
91 android:label="@string/account_setup_incoming_title"
92 >
93 </activity>
94 <activity
95 android:name=".activity.setup.AccountSetupOutgoing"
96 android:label="@string/account_setup_outgoing_title"
97 >
98 </activity>
Makoto Onuki91237e92010-02-02 15:06:52 -080099 <!--EXCHANGE-REMOVE-SECTION-START-->
Andrew Stadler9f732492010-03-03 22:19:41 -0800100 <!-- This activity ignores configuration changes (e.g. rotation) so that it will
101 not make multiple calls to AccountSetupCheckSettings. -->
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800102 <activity
Andy Stadler87c43ca2009-04-03 16:02:55 -0700103 android:name=".activity.setup.AccountSetupExchange"
104 android:label="@string/account_setup_exchange_title"
Andrew Stadler9f732492010-03-03 22:19:41 -0800105 android:configChanges="keyboardHidden|orientation"
Andy Stadler87c43ca2009-04-03 16:02:55 -0700106 >
107 </activity>
Makoto Onuki91237e92010-02-02 15:06:52 -0800108 <!--EXCHANGE-REMOVE-SECTION-END-->
Andy Stadler87c43ca2009-04-03 16:02:55 -0700109 <activity
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800110 android:name=".activity.setup.AccountSetupOptions"
111 android:label="@string/account_setup_options_title"
112 >
113 </activity>
114 <activity
115 android:name=".activity.setup.AccountSetupNames"
116 android:label="@string/account_setup_names_title"
117 >
118 </activity>
119 <!-- XXX Note: this activity is hacked to ignore config changes,
120 since it doesn't currently handle them correctly in code. -->
121 <activity
122 android:name=".activity.setup.AccountSetupCheckSettings"
123 android:label="@string/account_setup_check_settings_title"
124 android:configChanges="keyboardHidden|orientation"
125 >
126 </activity>
127 <activity
128 android:name=".activity.setup.AccountSettings"
129 android:label="@string/account_settings_action"
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800130 >
Makoto Onuki0fef1f12010-02-16 14:04:25 -0800131 <intent-filter>
132 <action android:name="com.android.email.activity.setup.ACCOUNT_MANAGER_ENTRY" />
133 <category android:name="android.intent.category.DEFAULT" />
134 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800135 </activity>
Andrew Stadler2ae2a122010-08-18 11:29:46 -0700136 <!-- STOPSHIP - AccountSettingsXL is a parallel implementation and eventually
137 it simply replaces activity.setup.AccountSettings -->
138 <activity
139 android:name=".activity.setup.AccountSettingsXL"
140 android:label="@string/account_settings_action"
141 >
142 </activity>
Andrew Stadler3d2b3b32010-02-05 11:10:39 -0800143 <activity
144 android:name=".activity.setup.AccountSecurity"
145 android.label="@string/account_security_title"
146 >
147 </activity>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800148
149 <activity
150 android:name=".activity.Debug"
151 android:label="@string/debug_title">
152 </activity>
153 <activity
Andrew Stadler72dce732009-07-09 12:33:09 -0700154 android:name=".activity.AccountFolderList"
Andrew Stadler0d6ce632010-06-28 16:00:25 -0700155 android:launchMode="singleTop"
156 android:theme="@android:style/Theme.WithActionBar" >
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800157 </activity>
Makoto Onukid6a29782010-07-21 14:29:49 -0700158
159 <activity
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800160 android:name=".activity.AccountShortcutPicker"
161 android:label="@string/app_name"
162 android:enabled="false"
163 >
164 <intent-filter>
165 <action android:name="android.intent.action.CREATE_SHORTCUT" />
166 <category android:name="android.intent.category.DEFAULT" />
167 </intent-filter>
168 </activity>
Makoto Onukid6a29782010-07-21 14:29:49 -0700169
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800170 <activity
Mihai Predab0528852010-02-10 16:46:41 +0100171 android:name=".activity.MailboxList"
Andrew Stadlerd5b2da32010-06-28 23:17:27 -0700172 android:theme="@android:style/Theme.WithActionBar" >
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800173 </activity>
Makoto Onukid6a29782010-07-21 14:29:49 -0700174
Andrew Stadler47654722009-06-30 15:12:23 -0700175 <activity
Mihai Predab0528852010-02-10 16:46:41 +0100176 android:name=".activity.MessageList"
177 android:theme="@style/ThemeNoTitleBar">
Makoto Onuki191448b2010-08-04 15:38:25 -0700178 </activity>
179 <activity
180 android:name=".activity.MessageListXL"
181 android:theme="@android:style/Theme.WithActionBar"
182 >
Andrew Stadler47654722009-06-30 15:12:23 -0700183 </activity>
Makoto Onukia9428582010-03-26 11:01:12 -0700184
185 <!--
186 This activity catches shortcuts to account created on Android 1.6 and before,
187 and redirects to MessageList.
188 singleTask is necessary to make sure the activity is really launched.
189 Without it, the framework brings up the app to front, but doesn't necessarily
190 launch the activity.
191 -->
192 <activity
193 android:name=".activity.FolderMessageList"
194 android:launchMode="singleTask"
195 >
196 <intent-filter>
197 <!-- This action is only to allow an entry point for launcher shortcuts -->
198 <action android:name="android.intent.action.MAIN" />
199 </intent-filter>
200 </activity>
Makoto Onukid6a29782010-07-21 14:29:49 -0700201
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800202 <activity
203 android:name=".activity.MessageView"
204 android:theme="@android:style/Theme.NoTitleBar" >
Makoto Onukie105fbe2010-07-26 14:35:06 -0700205 </activity>
206 <activity
207 android:name=".activity.MessageFileView"
208 android:theme="@android:style/Theme.NoTitleBar" >
Marc Blank391ae252010-05-04 15:33:08 -0700209 <intent-filter android:label="@string/app_name">
210 <action android:name="android.intent.action.VIEW" />
211 <data android:mimeType="application/eml" />
212 <data android:mimeType="message/rfc822" />
213 <category android:name="android.intent.category.DEFAULT" />
214 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800215 </activity>
216 <activity
217 android:name=".activity.MessageCompose"
218 android:label="@string/app_name"
219 android:enabled="false"
220 >
221 <intent-filter>
222 <action android:name="android.intent.action.VIEW" />
223 <action android:name="android.intent.action.SENDTO" />
224 <data android:scheme="mailto" />
225 <category android:name="android.intent.category.DEFAULT" />
226 <category android:name="android.intent.category.BROWSABLE" />
227 </intent-filter>
228 <intent-filter android:label="@string/app_name">
229 <action android:name="android.intent.action.SEND" />
Andrew Stadler92a1ff92009-09-27 23:49:10 -0700230 <data android:mimeType="*/*" />
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800231 <category android:name="android.intent.category.DEFAULT" />
232 </intent-filter>
Mihai Predafa2238c2009-09-01 16:25:30 +0200233 <intent-filter android:label="@string/app_name">
234 <action android:name="android.intent.action.SEND_MULTIPLE" />
235 <data android:mimeType="*/*" />
236 <category android:name="android.intent.category.DEFAULT" />
237 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800238 </activity>
Makoto Onuki91237e92010-02-02 15:06:52 -0800239 <!--EXCHANGE-REMOVE-SECTION-START-->
Makoto Onuki898283b2010-05-27 18:29:35 -0700240 <receiver android:name="com.android.exchange.EmailSyncAlarmReceiver"/>
241 <receiver android:name="com.android.exchange.MailboxAlarmReceiver"/>
Makoto Onuki91237e92010-02-02 15:06:52 -0800242 <!--EXCHANGE-REMOVE-SECTION-END-->
Marc Blank53cb37c2009-08-28 10:33:18 -0700243
Makoto Onuki898283b2010-05-27 18:29:35 -0700244 <receiver android:name=".service.EmailBroadcastReceiver" android:enabled="true">
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800245 <intent-filter>
246 <action android:name="android.intent.action.BOOT_COMPLETED" />
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800247 <action android:name="android.intent.action.DEVICE_STORAGE_LOW" />
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800248 <action android:name="android.intent.action.DEVICE_STORAGE_OK" />
249 </intent-filter>
Makoto Onuki42e3f102010-06-30 15:43:12 -0700250 <!-- To handle secret code to activate the debug screen. -->
251 <intent-filter>
252 <action android:name="android.provider.Telephony.SECRET_CODE" />
253 <!-- "36245" = "email" -->
254 <data android:scheme="android_secret_code" android:host="36245" />
255 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800256 </receiver>
Makoto Onuki898283b2010-05-27 18:29:35 -0700257 <service android:name=".service.EmailBroadcastProcessorService" />
Marc Blank53cb37c2009-08-28 10:33:18 -0700258
Andrew Stadlerd6286082010-02-01 16:48:16 -0800259 <!-- Support for DeviceAdmin / DevicePolicyManager. See SecurityPolicy class for impl. -->
260 <receiver
261 android:name=".SecurityPolicy$PolicyAdmin"
262 android:label="@string/device_admin_label"
263 android:description="@string/device_admin_description"
264 android:permission="android.permission.BIND_DEVICE_ADMIN" >
265 <meta-data
266 android:name="android.app.device_admin"
267 android:resource="@xml/device_admin" />
268 <intent-filter>
269 <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
270 </intent-filter>
271 </receiver>
Makoto Onukib854d052010-01-28 10:07:51 -0800272
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800273 <service
274 android:name=".service.MailService"
275 android:enabled="false"
276 >
277 </service>
Makoto Onukid6a29782010-07-21 14:29:49 -0700278
Marc Blank09fd4d02010-08-09 17:48:53 -0700279 <service
Marc Blank7894ee82010-08-18 08:50:45 -0700280 android:name=".Controller"
281 android:enabled="false"
282 >
283 </service>
284
285 <service
Marc Blank09fd4d02010-08-09 17:48:53 -0700286 android:name=".service.AttachmentDownloadService"
287 android:enabled="false"
288 >
289 </service>
290
Makoto Onuki91237e92010-02-02 15:06:52 -0800291 <!--EXCHANGE-REMOVE-SECTION-START-->
Marc Blanke6cc6622010-07-08 10:08:47 -0700292 <!--Required stanza to register the PopImapAuthenticatorService with AccountManager -->
293 <service
294 android:name=".service.PopImapAuthenticatorService"
295 android:exported="true"
296 android:enabled="true"
297 >
298 <intent-filter>
299 <action android:name="android.accounts.AccountAuthenticator" />
300 </intent-filter>
301 <meta-data
302 android:name="android.accounts.AccountAuthenticator"
303 android:resource="@xml/pop_imap_authenticator"
304 />
305 </service>
306
307 <!--Required stanza to register the PopImapSyncAdapterService with SyncManager -->
308 <service
309 android:name="com.android.email.service.PopImapSyncAdapterService"
310 android:exported="true">
311 <intent-filter>
312 <action android:name="android.content.SyncAdapter" />
313 </intent-filter>
314 <meta-data android:name="android.content.SyncAdapter"
315 android:resource="@xml/syncadapter_pop_imap" />
316 </service>
317
318 <!--EXCHANGE-REMOVE-SECTION-START-->
319 <!--Required stanza to register the EAS EmailSyncAdapterService with SyncManager -->
320 <service
321 android:name="com.android.exchange.EmailSyncAdapterService"
322 android:exported="true">
323 <intent-filter>
324 <action android:name="android.content.SyncAdapter" />
325 </intent-filter>
326 <meta-data android:name="android.content.SyncAdapter"
327 android:resource="@xml/syncadapter_email" />
328 </service>
329
330 <!--Required stanza to register the EAS ContactsSyncAdapterService with SyncManager -->
Makoto Onukid6a29782010-07-21 14:29:49 -0700331 <service
332 android:name="com.android.exchange.ContactsSyncAdapterService"
333 android:exported="true">
Marc Blank948c36f2009-07-27 10:24:58 -0700334 <intent-filter>
335 <action android:name="android.content.SyncAdapter" />
336 </intent-filter>
337 <meta-data android:name="android.content.SyncAdapter"
338 android:resource="@xml/syncadapter_contacts" />
339 </service>
340
Marc Blanke6cc6622010-07-08 10:08:47 -0700341 <!--Required stanza to register the EAS CalendarSyncAdapterService with SyncManager -->
Marc Blankf3fcb892009-10-28 18:12:51 -0700342 <service
343 android:name="com.android.exchange.CalendarSyncAdapterService"
344 android:exported="true">
345 <intent-filter>
346 <action android:name="android.content.SyncAdapter" />
347 </intent-filter>
348 <meta-data android:name="android.content.SyncAdapter"
349 android:resource="@xml/syncadapter_calendar" />
350 </service>
351
Marc Blank28fc7792009-07-20 17:15:45 -0700352 <!-- Add android:process=":remote" below to enable SyncManager as a separate process -->
Marc Blank2c67f1f2009-06-16 12:03:45 -0700353 <service
354 android:name="com.android.exchange.SyncManager"
355 android:enabled="true"
356 >
357 </service>
Andrew Stadler17250422009-07-07 09:39:11 -0700358
359 <!--Required stanza to register the EasAuthenticatorService with AccountManager -->
Makoto Onukib854d052010-01-28 10:07:51 -0800360 <service
361 android:name=".service.EasAuthenticatorService"
362 android:exported="true"
363 android:enabled="true"
364 >
Andrew Stadler17250422009-07-07 09:39:11 -0700365 <intent-filter>
366 <action android:name="android.accounts.AccountAuthenticator" />
367 </intent-filter>
Makoto Onukib854d052010-01-28 10:07:51 -0800368 <meta-data
369 android:name="android.accounts.AccountAuthenticator"
Marc Blanke6cc6622010-07-08 10:08:47 -0700370 android:resource="@xml/eas_authenticator"
Makoto Onukib854d052010-01-28 10:07:51 -0800371 />
372 </service>
373 <!--
374 EasAuthenticatorService with the altenative label. Disabled by default,
375 and OneTimeInitializer enables it if the vendor policy tells so.
376 -->
377 <service
378 android:name=".service.EasAuthenticatorServiceAlternate"
379 android:exported="true"
380 android:enabled="false"
381 >
382 <intent-filter>
383 <action android:name="android.accounts.AccountAuthenticator" />
384 </intent-filter>
385 <meta-data
386 android:name="android.accounts.AccountAuthenticator"
387 android:resource="@xml/authenticator_alternate"
388 />
Andrew Stadler17250422009-07-07 09:39:11 -0700389 </service>
Makoto Onuki91237e92010-02-02 15:06:52 -0800390 <!--EXCHANGE-REMOVE-SECTION-END-->
Andrew Stadler17250422009-07-07 09:39:11 -0700391
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800392 <provider
393 android:name=".provider.AttachmentProvider"
394 android:authorities="com.android.email.attachmentprovider"
395 android:multiprocess="true"
396 android:grantUriPermissions="true"
397 android:readPermission="com.android.email.permission.READ_ATTACHMENT"
398 />
Andrew Stadler22722202009-09-20 17:23:59 -0700399
400 <!-- This provider MUST be protected by strict permissions, as granting access to
401 it exposes user passwords and other confidential information. -->
Marc Blankc5f2a7a2009-05-27 15:43:27 -0700402 <provider
403 android:name=".provider.EmailProvider"
404 android:authorities="com.android.email.provider"
405 android:multiprocess="true"
Andrew Stadler22722202009-09-20 17:23:59 -0700406 android:permission="com.android.email.permission.ACCESS_PROVIDER"
Marc Blanke6cc6622010-07-08 10:08:47 -0700407 android:label="@string/app_name"
Marc Blankc5f2a7a2009-05-27 15:43:27 -0700408 />
Andrew Stadlere2c56fc2010-03-13 00:38:47 -0800409
410 <!--EXCHANGE-REMOVE-SECTION-START-->
411 <!-- In this release, GAL information is used locally only, so we used the same
412 strict permissions. -->
Marc Blank270b0c12010-06-29 13:32:36 -0700413 <!-- NOTE: ExchangeDirectoryProvider will replace ExchangeProvider after integration with
Marc Blank5bd2fae2010-06-13 17:39:15 -0700414 the new GAL/contacts implementation -->
Andrew Stadlere2c56fc2010-03-13 00:38:47 -0800415 <provider
416 android:name="com.android.exchange.provider.ExchangeProvider"
417 android:authorities="com.android.exchange.provider"
418 android:multiprocess="true"
419 android:permission="com.android.email.permission.ACCESS_PROVIDER"
420 />
Marc Blank5bd2fae2010-06-13 17:39:15 -0700421 <provider
Marc Blank270b0c12010-06-29 13:32:36 -0700422 android:name="com.android.exchange.provider.ExchangeDirectoryProvider"
423 android:authorities="com.android.exchange.directory.provider"
Marc Blank5bd2fae2010-06-13 17:39:15 -0700424 android:readPermission="android.permission.READ_CONTACTS"
425 android:multiprocess="false"
Dmitri Plotnikov32358f52010-08-05 11:22:58 -0700426 >
427 <meta-data android:name="android.content.ContactDirectory" android:value="true"/>
428 </provider>
Andrew Stadlere2c56fc2010-03-13 00:38:47 -0800429 <!--EXCHANGE-REMOVE-SECTION-END-->
430
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800431 </application>
432</manifest>