parse-server 7.1.0-beta.1 → 7.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Adapters/AdapterLoader.js +18 -1
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +7 -2
- package/lib/Controllers/DatabaseController.js +9 -1
- package/lib/Controllers/SchemaController.js +12 -4
- package/lib/Controllers/index.js +4 -16
- package/lib/ParseServer.js +3 -1
- package/lib/StatusHandler.js +11 -3
- package/package.json +12 -12
package/lib/StatusHandler.js
CHANGED
|
@@ -226,11 +226,19 @@ function pushStatusHandler(config, existingObjectId) {
|
|
|
226
226
|
if (result && result.response && result.response.error && result.device && result.device.deviceToken) {
|
|
227
227
|
const token = result.device.deviceToken;
|
|
228
228
|
const error = result.response.error;
|
|
229
|
-
// GCM errors
|
|
229
|
+
// GCM / FCM HTTP v1 API errors; see:
|
|
230
|
+
// https://firebase.google.com/docs/reference/fcm/rest/v1/ErrorCode
|
|
230
231
|
if (error === 'NotRegistered' || error === 'InvalidRegistration') {
|
|
231
232
|
devicesToRemove.push(token);
|
|
232
233
|
}
|
|
233
|
-
//
|
|
234
|
+
// FCM API v2 errors; see:
|
|
235
|
+
// https://firebase.google.com/docs/cloud-messaging/manage-tokens
|
|
236
|
+
// https://github.com/firebase/functions-samples/blob/703c0359eacf07a551751d1319d34f912a2cd828/Node/fcm-notifications/functions/index.js#L89-L93C16
|
|
237
|
+
if ((error === null || error === void 0 ? void 0 : error.code) === 'messaging/registration-token-not-registered' || (error === null || error === void 0 ? void 0 : error.code) === 'messaging/invalid-registration-token' || (error === null || error === void 0 ? void 0 : error.code) === 'messaging/invalid-argument' && (error === null || error === void 0 ? void 0 : error.message) === 'The registration token is not a valid FCM registration token') {
|
|
238
|
+
devicesToRemove.push(token);
|
|
239
|
+
}
|
|
240
|
+
// APNS errors; see:
|
|
241
|
+
// https://developer.apple.com/documentation/usernotifications/handling-notification-responses-from-apns
|
|
234
242
|
if (error === 'Unregistered' || error === 'BadDeviceToken') {
|
|
235
243
|
devicesToRemove.push(token);
|
|
236
244
|
}
|
|
@@ -317,4 +325,4 @@ function pushStatusHandler(config, existingObjectId) {
|
|
|
317
325
|
});
|
|
318
326
|
return Object.freeze(rval);
|
|
319
327
|
}
|
|
320
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3J5cHRvVXRpbHMiLCJyZXF1aXJlIiwiX0tleVByb21pc2VRdWV1ZSIsIl9sb2dnZXIiLCJfcmVzdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXV0aCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIm93bktleXMiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwidmFsdWUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJQVVNIX1NUQVRVU19DT0xMRUNUSU9OIiwiSk9CX1NUQVRVU19DT0xMRUNUSU9OIiwicHVzaFByb21pc2VRdWV1ZSIsIktleVByb21pc2VRdWV1ZSIsImpvYlByb21pc2VRdWV1ZSIsImluY3JlbWVudE9wIiwib2JqZWN0Iiwia2V5IiwiYW1vdW50IiwiX19vcCIsImZsYXR0ZW4iLCJhcnJheSIsImZsYXR0ZW5lZCIsIkFycmF5IiwiaXNBcnJheSIsImNvbmNhdCIsInN0YXR1c0hhbmRsZXIiLCJjbGFzc05hbWUiLCJkYXRhYmFzZSIsImNyZWF0ZSIsInRoZW4iLCJQcm9taXNlIiwicmVzb2x2ZSIsInVwZGF0ZSIsIndoZXJlIiwiZW5xdWV1ZSIsIm9iamVjdElkIiwiZnJlZXplIiwicmVzdFN0YXR1c0hhbmRsZXIiLCJjb25maWciLCJhdXRoIiwiQXV0aCIsIm1hc3RlciIsInJlc3QiLCJyZXNwb25zZSIsImpvYlN0YXR1c0hhbmRsZXIiLCJqb2JTdGF0dXMiLCJuZXdPYmplY3RJZCIsIm9iamVjdElkU2l6ZSIsImhhbmRsZXIiLCJzZXRSdW5uaW5nIiwiam9iTmFtZSIsInBhcmFtcyIsIm5vdyIsIkRhdGUiLCJzdGF0dXMiLCJzb3VyY2UiLCJjcmVhdGVkQXQiLCJBQ0wiLCJzZXRNZXNzYWdlIiwibWVzc2FnZSIsInNldFN1Y2NlZWRlZCIsInNldEZpbmFsU3RhdHVzIiwic2V0RmFpbGVkIiwidW5kZWZpbmVkIiwiZmluaXNoZWRBdCIsIkVycm9yIiwicHVzaFN0YXR1c0hhbmRsZXIiLCJleGlzdGluZ09iamVjdElkIiwicHVzaFN0YXR1cyIsInNldEluaXRpYWwiLCJib2R5Iiwib3B0aW9ucyIsInB1c2hUaW1lIiwidG9JU09TdHJpbmciLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImhhc1B1c2hTY2hlZHVsZWRTdXBwb3J0IiwicHVzaF90aW1lIiwibG9nZ2VyIiwid2FybiIsImRhdGEiLCJwYXlsb2FkU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsInB1c2hIYXNoIiwiYWxlcnQiLCJtZDVIYXNoIiwicXVlcnkiLCJwYXlsb2FkIiwidGl0bGUiLCJleHBpcnkiLCJleHBpcmF0aW9uX3RpbWUiLCJleHBpcmF0aW9uX2ludGVydmFsIiwibnVtU2VudCIsInJlc3VsdCIsImJhdGNoZXMiLCJ2ZXJib3NlIiwiY291bnQiLCJ0cmFja1NlbnQiLCJyZXN1bHRzIiwiVVRDT2Zmc2V0IiwiY2xlYW51cEluc3RhbGxhdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiUEFSU0VfU0VSVkVSX0NMRUFOVVBfSU5WQUxJRF9JTlNUQUxMQVRJT05TIiwibnVtRmFpbGVkIiwiZGV2aWNlc1RvUmVtb3ZlIiwicmVkdWNlIiwibWVtbyIsImRldmljZSIsImRldmljZVR5cGUiLCJ0cmFuc21pdHRlZCIsIm9mZnNldEtleSIsImVycm9yIiwiZGV2aWNlVG9rZW4iLCJ0b2tlbiIsImluZm8iLCIkaW4iLCJhY2wiLCJtYW55IiwicmVzIiwiY29tcGxldGUiLCJmYWlsIiwiZXJyIiwiZXJyb3JNZXNzYWdlIiwicnZhbCIsImdldCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9TdGF0dXNIYW5kbGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1kNUhhc2gsIG5ld09iamVjdElkIH0gZnJvbSAnLi9jcnlwdG9VdGlscyc7XG5pbXBvcnQgeyBLZXlQcm9taXNlUXVldWUgfSBmcm9tICcuL0tleVByb21pc2VRdWV1ZSc7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgcmVzdCBmcm9tICcuL3Jlc3QnO1xuaW1wb3J0IEF1dGggZnJvbSAnLi9BdXRoJztcblxuY29uc3QgUFVTSF9TVEFUVVNfQ09MTEVDVElPTiA9ICdfUHVzaFN0YXR1cyc7XG5jb25zdCBKT0JfU1RBVFVTX0NPTExFQ1RJT04gPSAnX0pvYlN0YXR1cyc7XG5cbmNvbnN0IHB1c2hQcm9taXNlUXVldWUgPSBuZXcgS2V5UHJvbWlzZVF1ZXVlKCk7XG5jb25zdCBqb2JQcm9taXNlUXVldWUgPSBuZXcgS2V5UHJvbWlzZVF1ZXVlKCk7XG5cbmNvbnN0IGluY3JlbWVudE9wID0gZnVuY3Rpb24gKG9iamVjdCA9IHt9LCBrZXksIGFtb3VudCA9IDEpIHtcbiAgaWYgKCFvYmplY3Rba2V5XSkge1xuICAgIG9iamVjdFtrZXldID0geyBfX29wOiAnSW5jcmVtZW50JywgYW1vdW50OiBhbW91bnQgfTtcbiAgfSBlbHNlIHtcbiAgICBvYmplY3Rba2V5XS5hbW91bnQgKz0gYW1vdW50O1xuICB9XG4gIHJldHVybiBvYmplY3Rba2V5XTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuKGFycmF5KSB7XG4gIHZhciBmbGF0dGVuZWQgPSBbXTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGFycmF5W2ldKSkge1xuICAgICAgZmxhdHRlbmVkID0gZmxhdHRlbmVkLmNvbmNhdChmbGF0dGVuKGFycmF5W2ldKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsYXR0ZW5lZC5wdXNoKGFycmF5W2ldKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZsYXR0ZW5lZDtcbn1cblxuZnVuY3Rpb24gc3RhdHVzSGFuZGxlcihjbGFzc05hbWUsIGRhdGFiYXNlKSB7XG4gIGZ1bmN0aW9uIGNyZWF0ZShvYmplY3QpIHtcbiAgICByZXR1cm4gZGF0YWJhc2UuY3JlYXRlKGNsYXNzTmFtZSwgb2JqZWN0KS50aGVuKCgpID0+IHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUob2JqZWN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZSh3aGVyZSwgb2JqZWN0KSB7XG4gICAgcmV0dXJuIGpvYlByb21pc2VRdWV1ZS5lbnF1ZXVlKHdoZXJlLm9iamVjdElkLCAoKSA9PiBkYXRhYmFzZS51cGRhdGUoY2xhc3NOYW1lLCB3aGVyZSwgb2JqZWN0KSk7XG4gIH1cblxuICByZXR1cm4gT2JqZWN0LmZyZWV6ZSh7XG4gICAgY3JlYXRlLFxuICAgIHVwZGF0ZSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlc3RTdGF0dXNIYW5kbGVyKGNsYXNzTmFtZSwgY29uZmlnKSB7XG4gIGNvbnN0IGF1dGggPSBBdXRoLm1hc3Rlcihjb25maWcpO1xuICBmdW5jdGlvbiBjcmVhdGUob2JqZWN0KSB7XG4gICAgcmV0dXJuIHJlc3QuY3JlYXRlKGNvbmZpZywgYXV0aCwgY2xhc3NOYW1lLCBvYmplY3QpLnRoZW4oKHsgcmVzcG9uc2UgfSkgPT4ge1xuICAgICAgcmV0dXJuIHsgLi4ub2JqZWN0LCAuLi5yZXNwb25zZSB9O1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlKHdoZXJlLCBvYmplY3QpIHtcbiAgICByZXR1cm4gcHVzaFByb21pc2VRdWV1ZS5lbnF1ZXVlKHdoZXJlLm9iamVjdElkLCAoKSA9PlxuICAgICAgcmVzdFxuICAgICAgICAudXBkYXRlKGNvbmZpZywgYXV0aCwgY2xhc3NOYW1lLCB7IG9iamVjdElkOiB3aGVyZS5vYmplY3RJZCB9LCBvYmplY3QpXG4gICAgICAgIC50aGVuKCh7IHJlc3BvbnNlIH0pID0+IHtcbiAgICAgICAgICByZXR1cm4geyAuLi5vYmplY3QsIC4uLnJlc3BvbnNlIH07XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBPYmplY3QuZnJlZXplKHtcbiAgICBjcmVhdGUsXG4gICAgdXBkYXRlLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGpvYlN0YXR1c0hhbmRsZXIoY29uZmlnKSB7XG4gIGxldCBqb2JTdGF0dXM7XG4gIGNvbnN0IG9iamVjdElkID0gbmV3T2JqZWN0SWQoY29uZmlnLm9iamVjdElkU2l6ZSk7XG4gIGNvbnN0IGRhdGFiYXNlID0gY29uZmlnLmRhdGFiYXNlO1xuICBjb25zdCBoYW5kbGVyID0gc3RhdHVzSGFuZGxlcihKT0JfU1RBVFVTX0NPTExFQ1RJT04sIGRhdGFiYXNlKTtcbiAgY29uc3Qgc2V0UnVubmluZyA9IGZ1bmN0aW9uIChqb2JOYW1lLCBwYXJhbXMpIHtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGpvYlN0YXR1cyA9IHtcbiAgICAgIG9iamVjdElkLFxuICAgICAgam9iTmFtZSxcbiAgICAgIHBhcmFtcyxcbiAgICAgIHN0YXR1czogJ3J1bm5pbmcnLFxuICAgICAgc291cmNlOiAnYXBpJyxcbiAgICAgIGNyZWF0ZWRBdDogbm93LFxuICAgICAgLy8gbG9ja2Rvd24hXG4gICAgICBBQ0w6IHt9LFxuICAgIH07XG5cbiAgICByZXR1cm4gaGFuZGxlci5jcmVhdGUoam9iU3RhdHVzKTtcbiAgfTtcblxuICBjb25zdCBzZXRNZXNzYWdlID0gZnVuY3Rpb24gKG1lc3NhZ2UpIHtcbiAgICBpZiAoIW1lc3NhZ2UgfHwgdHlwZW9mIG1lc3NhZ2UgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIHJldHVybiBoYW5kbGVyLnVwZGF0ZSh7IG9iamVjdElkIH0sIHsgbWVzc2FnZSB9KTtcbiAgfTtcblxuICBjb25zdCBzZXRTdWNjZWVkZWQgPSBmdW5jdGlvbiAobWVzc2FnZSkge1xuICAgIHJldHVybiBzZXRGaW5hbFN0YXR1cygnc3VjY2VlZGVkJywgbWVzc2FnZSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0RmFpbGVkID0gZnVuY3Rpb24gKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gc2V0RmluYWxTdGF0dXMoJ2ZhaWxlZCcsIG1lc3NhZ2UpO1xuICB9O1xuXG4gIGNvbnN0IHNldEZpbmFsU3RhdHVzID0gZnVuY3Rpb24gKHN0YXR1cywgbWVzc2FnZSA9IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGZpbmlzaGVkQXQgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IHVwZGF0ZSA9IHsgc3RhdHVzLCBmaW5pc2hlZEF0IH07XG4gICAgaWYgKG1lc3NhZ2UgJiYgdHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICB1cGRhdGUubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlIGluc3RhbmNlb2YgRXJyb3IgJiYgdHlwZW9mIG1lc3NhZ2UubWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHVwZGF0ZS5tZXNzYWdlID0gbWVzc2FnZS5tZXNzYWdlO1xuICAgIH1cbiAgICByZXR1cm4gaGFuZGxlci51cGRhdGUoeyBvYmplY3RJZCB9LCB1cGRhdGUpO1xuICB9O1xuXG4gIHJldHVybiBPYmplY3QuZnJlZXplKHtcbiAgICBzZXRSdW5uaW5nLFxuICAgIHNldFN1Y2NlZWRlZCxcbiAgICBzZXRNZXNzYWdlLFxuICAgIHNldEZhaWxlZCxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwdXNoU3RhdHVzSGFuZGxlcihjb25maWcsIGV4aXN0aW5nT2JqZWN0SWQpIHtcbiAgbGV0IHB1c2hTdGF0dXM7XG4gIGNvbnN0IGRhdGFiYXNlID0gY29uZmlnLmRhdGFiYXNlO1xuICBjb25zdCBoYW5kbGVyID0gcmVzdFN0YXR1c0hhbmRsZXIoUFVTSF9TVEFUVVNfQ09MTEVDVElPTiwgY29uZmlnKTtcbiAgbGV0IG9iamVjdElkID0gZXhpc3RpbmdPYmplY3RJZDtcbiAgY29uc3Qgc2V0SW5pdGlhbCA9IGZ1bmN0aW9uIChib2R5ID0ge30sIHdoZXJlLCBvcHRpb25zID0geyBzb3VyY2U6ICdyZXN0JyB9KSB7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICBsZXQgcHVzaFRpbWUgPSBub3cudG9JU09TdHJpbmcoKTtcbiAgICBsZXQgc3RhdHVzID0gJ3BlbmRpbmcnO1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYm9keSwgJ3B1c2hfdGltZScpKSB7XG4gICAgICBpZiAoY29uZmlnLmhhc1B1c2hTY2hlZHVsZWRTdXBwb3J0KSB7XG4gICAgICAgIHB1c2hUaW1lID0gYm9keS5wdXNoX3RpbWU7XG4gICAgICAgIHN0YXR1cyA9ICdzY2hlZHVsZWQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nZ2VyLndhcm4oJ1RyeWluZyB0byBzY2hlZHVsZSBhIHB1c2ggd2hpbGUgc2VydmVyIGlzIG5vdCBjb25maWd1cmVkLicpO1xuICAgICAgICBsb2dnZXIud2FybignUHVzaCB3aWxsIGJlIHNlbnQgaW1tZWRpYXRlbHknKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBkYXRhID0gYm9keS5kYXRhIHx8IHt9O1xuICAgIGNvbnN0IHBheWxvYWRTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgICBsZXQgcHVzaEhhc2g7XG4gICAgaWYgKHR5cGVvZiBkYXRhLmFsZXJ0ID09PSAnc3RyaW5nJykge1xuICAgICAgcHVzaEhhc2ggPSBtZDVIYXNoKGRhdGEuYWxlcnQpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEuYWxlcnQgPT09ICdvYmplY3QnKSB7XG4gICAgICBwdXNoSGFzaCA9IG1kNUhhc2goSlNPTi5zdHJpbmdpZnkoZGF0YS5hbGVydCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwdXNoSGFzaCA9ICdkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4NDI3ZSc7XG4gICAgfVxuICAgIGNvbnN0IG9iamVjdCA9IHtcbiAgICAgIHB1c2hUaW1lLFxuICAgICAgcXVlcnk6IEpTT04uc3RyaW5naWZ5KHdoZXJlKSxcbiAgICAgIHBheWxvYWQ6IHBheWxvYWRTdHJpbmcsXG4gICAgICBzb3VyY2U6IG9wdGlvbnMuc291cmNlLFxuICAgICAgdGl0bGU6IG9wdGlvbnMudGl0bGUsXG4gICAgICBleHBpcnk6IGJvZHkuZXhwaXJhdGlvbl90aW1lLFxuICAgICAgZXhwaXJhdGlvbl9pbnRlcnZhbDogYm9keS5leHBpcmF0aW9uX2ludGVydmFsLFxuICAgICAgc3RhdHVzOiBzdGF0dXMsXG4gICAgICBudW1TZW50OiAwLFxuICAgICAgcHVzaEhhc2gsXG4gICAgICAvLyBsb2NrZG93biFcbiAgICAgIEFDTDoge30sXG4gICAgfTtcbiAgICByZXR1cm4gaGFuZGxlci5jcmVhdGUob2JqZWN0KS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICBvYmplY3RJZCA9IHJlc3VsdC5vYmplY3RJZDtcbiAgICAgIHB1c2hTdGF0dXMgPSB7XG4gICAgICAgIG9iamVjdElkLFxuICAgICAgfTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocHVzaFN0YXR1cyk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0UnVubmluZyA9IGZ1bmN0aW9uIChiYXRjaGVzKSB7XG4gICAgbG9nZ2VyLnZlcmJvc2UoXG4gICAgICBgX1B1c2hTdGF0dXMgJHtvYmplY3RJZH06IHNlbmRpbmcgcHVzaCB0byBpbnN0YWxsYXRpb25zIHdpdGggJWQgYmF0Y2hlc2AsXG4gICAgICBiYXRjaGVzXG4gICAgKTtcbiAgICByZXR1cm4gaGFuZGxlci51cGRhdGUoXG4gICAgICB7XG4gICAgICAgIHN0YXR1czogJ3BlbmRpbmcnLFxuICAgICAgICBvYmplY3RJZDogb2JqZWN0SWQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzdGF0dXM6ICdydW5uaW5nJyxcbiAgICAgICAgY291bnQ6IGJhdGNoZXMsXG4gICAgICB9XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB0cmFja1NlbnQgPSBmdW5jdGlvbiAoXG4gICAgcmVzdWx0cyxcbiAgICBVVENPZmZzZXQsXG4gICAgY2xlYW51cEluc3RhbGxhdGlvbnMgPSBwcm9jZXNzLmVudi5QQVJTRV9TRVJWRVJfQ0xFQU5VUF9JTlZBTElEX0lOU1RBTExBVElPTlNcbiAgKSB7XG4gICAgY29uc3QgdXBkYXRlID0ge1xuICAgICAgbnVtU2VudDogMCxcbiAgICAgIG51bUZhaWxlZDogMCxcbiAgICB9O1xuICAgIGNvbnN0IGRldmljZXNUb1JlbW92ZSA9IFtdO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdHMpKSB7XG4gICAgICByZXN1bHRzID0gZmxhdHRlbihyZXN1bHRzKTtcbiAgICAgIHJlc3VsdHMucmVkdWNlKChtZW1vLCByZXN1bHQpID0+IHtcbiAgICAgICAgLy8gQ2Fubm90IGhhbmRsZSB0aGF0XG4gICAgICAgIGlmICghcmVzdWx0IHx8ICFyZXN1bHQuZGV2aWNlIHx8ICFyZXN1bHQuZGV2aWNlLmRldmljZVR5cGUpIHtcbiAgICAgICAgICByZXR1cm4gbWVtbztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkZXZpY2VUeXBlID0gcmVzdWx0LmRldmljZS5kZXZpY2VUeXBlO1xuICAgICAgICBjb25zdCBrZXkgPSByZXN1bHQudHJhbnNtaXR0ZWRcbiAgICAgICAgICA/IGBzZW50UGVyVHlwZS4ke2RldmljZVR5cGV9YFxuICAgICAgICAgIDogYGZhaWxlZFBlclR5cGUuJHtkZXZpY2VUeXBlfWA7XG4gICAgICAgIG1lbW9ba2V5XSA9IGluY3JlbWVudE9wKG1lbW8sIGtleSk7XG4gICAgICAgIGlmICh0eXBlb2YgVVRDT2Zmc2V0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGNvbnN0IG9mZnNldEtleSA9IHJlc3VsdC50cmFuc21pdHRlZFxuICAgICAgICAgICAgPyBgc2VudFBlclVUQ09mZnNldC4ke1VUQ09mZnNldH1gXG4gICAgICAgICAgICA6IGBmYWlsZWRQZXJVVENPZmZzZXQuJHtVVENPZmZzZXR9YDtcbiAgICAgICAgICBtZW1vW29mZnNldEtleV0gPSBpbmNyZW1lbnRPcChtZW1vLCBvZmZzZXRLZXkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXN1bHQudHJhbnNtaXR0ZWQpIHtcbiAgICAgICAgICBtZW1vLm51bVNlbnQrKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICByZXN1bHQgJiZcbiAgICAgICAgICAgIHJlc3VsdC5yZXNwb25zZSAmJlxuICAgICAgICAgICAgcmVzdWx0LnJlc3BvbnNlLmVycm9yICYmXG4gICAgICAgICAgICByZXN1bHQuZGV2aWNlICYmXG4gICAgICAgICAgICByZXN1bHQuZGV2aWNlLmRldmljZVRva2VuXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCB0b2tlbiA9IHJlc3VsdC5kZXZpY2UuZGV2aWNlVG9rZW47XG4gICAgICAgICAgICBjb25zdCBlcnJvciA9IHJlc3VsdC5yZXNwb25zZS5lcnJvcjtcbiAgICAgICAgICAgIC8vIEdDTSBlcnJvcnNcbiAgICAgICAgICAgIGlmIChlcnJvciA9PT0gJ05vdFJlZ2lzdGVyZWQnIHx8IGVycm9yID09PSAnSW52YWxpZFJlZ2lzdHJhdGlvbicpIHtcbiAgICAgICAgICAgICAgZGV2aWNlc1RvUmVtb3ZlLnB1c2godG9rZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQVBOUyBlcnJvcnNcbiAgICAgICAgICAgIGlmIChlcnJvciA9PT0gJ1VucmVnaXN0ZXJlZCcgfHwgZXJyb3IgPT09ICdCYWREZXZpY2VUb2tlbicpIHtcbiAgICAgICAgICAgICAgZGV2aWNlc1RvUmVtb3ZlLnB1c2godG9rZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBtZW1vLm51bUZhaWxlZCsrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtZW1vO1xuICAgICAgfSwgdXBkYXRlKTtcbiAgICB9XG5cbiAgICBsb2dnZXIudmVyYm9zZShcbiAgICAgIGBfUHVzaFN0YXR1cyAke29iamVjdElkfTogc2VudCBwdXNoISAlZCBzdWNjZXNzLCAlZCBmYWlsdXJlc2AsXG4gICAgICB1cGRhdGUubnVtU2VudCxcbiAgICAgIHVwZGF0ZS5udW1GYWlsZWRcbiAgICApO1xuICAgIGxvZ2dlci52ZXJib3NlKGBfUHVzaFN0YXR1cyAke29iamVjdElkfTogbmVlZHMgY2xlYW51cGAsIHtcbiAgICAgIGRldmljZXNUb1JlbW92ZSxcbiAgICB9KTtcbiAgICBbJ251bVNlbnQnLCAnbnVtRmFpbGVkJ10uZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKHVwZGF0ZVtrZXldID4gMCkge1xuICAgICAgICB1cGRhdGVba2V5XSA9IHtcbiAgICAgICAgICBfX29wOiAnSW5jcmVtZW50JyxcbiAgICAgICAgICBhbW91bnQ6IHVwZGF0ZVtrZXldLFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIHVwZGF0ZVtrZXldO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGRldmljZXNUb1JlbW92ZS5sZW5ndGggPiAwICYmIGNsZWFudXBJbnN0YWxsYXRpb25zKSB7XG4gICAgICBsb2dnZXIuaW5mbyhgUmVtb3ZpbmcgZGV2aWNlIHRva2VucyBvbiAke2RldmljZXNUb1JlbW92ZS5sZW5ndGh9IF9JbnN0YWxsYXRpb25zYCk7XG4gICAgICBkYXRhYmFzZS51cGRhdGUoXG4gICAgICAgICdfSW5zdGFsbGF0aW9uJyxcbiAgICAgICAgeyBkZXZpY2VUb2tlbjogeyAkaW46IGRldmljZXNUb1JlbW92ZSB9IH0sXG4gICAgICAgIHsgZGV2aWNlVG9rZW46IHsgX19vcDogJ0RlbGV0ZScgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgYWNsOiB1bmRlZmluZWQsXG4gICAgICAgICAgbWFueTogdHJ1ZSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgaW5jcmVtZW50T3AodXBkYXRlLCAnY291bnQnLCAtMSk7XG4gICAgdXBkYXRlLnN0YXR1cyA9ICdydW5uaW5nJztcblxuICAgIHJldHVybiBoYW5kbGVyLnVwZGF0ZSh7IG9iamVjdElkIH0sIHVwZGF0ZSkudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKHJlcyAmJiByZXMuY291bnQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBjb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gaGFuZGxlci51cGRhdGUoXG4gICAgICB7IG9iamVjdElkIH0sXG4gICAgICB7XG4gICAgICAgIHN0YXR1czogJ3N1Y2NlZWRlZCcsXG4gICAgICAgIGNvdW50OiB7IF9fb3A6ICdEZWxldGUnIH0sXG4gICAgICB9XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBmYWlsID0gZnVuY3Rpb24gKGVycikge1xuICAgIGlmICh0eXBlb2YgZXJyID09PSAnc3RyaW5nJykge1xuICAgICAgZXJyID0geyBtZXNzYWdlOiBlcnIgfTtcbiAgICB9XG4gICAgY29uc3QgdXBkYXRlID0ge1xuICAgICAgZXJyb3JNZXNzYWdlOiBlcnIsXG4gICAgICBzdGF0dXM6ICdmYWlsZWQnLFxuICAgIH07XG4gICAgcmV0dXJuIGhhbmRsZXIudXBkYXRlKHsgb2JqZWN0SWQgfSwgdXBkYXRlKTtcbiAgfTtcblxuICBjb25zdCBydmFsID0ge1xuICAgIHNldEluaXRpYWwsXG4gICAgc2V0UnVubmluZyxcbiAgICB0cmFja1NlbnQsXG4gICAgY29tcGxldGUsXG4gICAgZmFpbCxcbiAgfTtcblxuICAvLyBkZWZpbmUgb2JqZWN0SWQgdG8gYmUgZHluYW1pY1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocnZhbCwgJ29iamVjdElkJywge1xuICAgIGdldDogKCkgPT4gb2JqZWN0SWQsXG4gIH0pO1xuXG4gIHJldHVybiBPYmplY3QuZnJlZXplKHJ2YWwpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGdCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFELHNCQUFBLENBQUFKLE9BQUE7QUFBMEIsU0FBQUksdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBRyxRQUFBSCxDQUFBLEVBQUFJLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQVAsQ0FBQSxPQUFBTSxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBUixDQUFBLEdBQUFJLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFYLENBQUEsRUFBQUksQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQWYsQ0FBQSxhQUFBSSxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEsSUFBQVksU0FBQSxDQUFBWixDQUFBLFFBQUFBLENBQUEsT0FBQUQsT0FBQSxDQUFBRyxNQUFB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
|
|
328
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3J5cHRvVXRpbHMiLCJyZXF1aXJlIiwiX0tleVByb21pc2VRdWV1ZSIsIl9sb2dnZXIiLCJfcmVzdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXV0aCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIm93bktleXMiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwidmFsdWUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJQVVNIX1NUQVRVU19DT0xMRUNUSU9OIiwiSk9CX1NUQVRVU19DT0xMRUNUSU9OIiwicHVzaFByb21pc2VRdWV1ZSIsIktleVByb21pc2VRdWV1ZSIsImpvYlByb21pc2VRdWV1ZSIsImluY3JlbWVudE9wIiwib2JqZWN0Iiwia2V5IiwiYW1vdW50IiwiX19vcCIsImZsYXR0ZW4iLCJhcnJheSIsImZsYXR0ZW5lZCIsIkFycmF5IiwiaXNBcnJheSIsImNvbmNhdCIsInN0YXR1c0hhbmRsZXIiLCJjbGFzc05hbWUiLCJkYXRhYmFzZSIsImNyZWF0ZSIsInRoZW4iLCJQcm9taXNlIiwicmVzb2x2ZSIsInVwZGF0ZSIsIndoZXJlIiwiZW5xdWV1ZSIsIm9iamVjdElkIiwiZnJlZXplIiwicmVzdFN0YXR1c0hhbmRsZXIiLCJjb25maWciLCJhdXRoIiwiQXV0aCIsIm1hc3RlciIsInJlc3QiLCJyZXNwb25zZSIsImpvYlN0YXR1c0hhbmRsZXIiLCJqb2JTdGF0dXMiLCJuZXdPYmplY3RJZCIsIm9iamVjdElkU2l6ZSIsImhhbmRsZXIiLCJzZXRSdW5uaW5nIiwiam9iTmFtZSIsInBhcmFtcyIsIm5vdyIsIkRhdGUiLCJzdGF0dXMiLCJzb3VyY2UiLCJjcmVhdGVkQXQiLCJBQ0wiLCJzZXRNZXNzYWdlIiwibWVzc2FnZSIsInNldFN1Y2NlZWRlZCIsInNldEZpbmFsU3RhdHVzIiwic2V0RmFpbGVkIiwidW5kZWZpbmVkIiwiZmluaXNoZWRBdCIsIkVycm9yIiwicHVzaFN0YXR1c0hhbmRsZXIiLCJleGlzdGluZ09iamVjdElkIiwicHVzaFN0YXR1cyIsInNldEluaXRpYWwiLCJib2R5Iiwib3B0aW9ucyIsInB1c2hUaW1lIiwidG9JU09TdHJpbmciLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImhhc1B1c2hTY2hlZHVsZWRTdXBwb3J0IiwicHVzaF90aW1lIiwibG9nZ2VyIiwid2FybiIsImRhdGEiLCJwYXlsb2FkU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsInB1c2hIYXNoIiwiYWxlcnQiLCJtZDVIYXNoIiwicXVlcnkiLCJwYXlsb2FkIiwidGl0bGUiLCJleHBpcnkiLCJleHBpcmF0aW9uX3RpbWUiLCJleHBpcmF0aW9uX2ludGVydmFsIiwibnVtU2VudCIsInJlc3VsdCIsImJhdGNoZXMiLCJ2ZXJib3NlIiwiY291bnQiLCJ0cmFja1NlbnQiLCJyZXN1bHRzIiwiVVRDT2Zmc2V0IiwiY2xlYW51cEluc3RhbGxhdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiUEFSU0VfU0VSVkVSX0NMRUFOVVBfSU5WQUxJRF9JTlNUQUxMQVRJT05TIiwibnVtRmFpbGVkIiwiZGV2aWNlc1RvUmVtb3ZlIiwicmVkdWNlIiwibWVtbyIsImRldmljZSIsImRldmljZVR5cGUiLCJ0cmFuc21pdHRlZCIsIm9mZnNldEtleSIsImVycm9yIiwiZGV2aWNlVG9rZW4iLCJ0b2tlbiIsImNvZGUiLCJpbmZvIiwiJGluIiwiYWNsIiwibWFueSIsInJlcyIsImNvbXBsZXRlIiwiZmFpbCIsImVyciIsImVycm9yTWVzc2FnZSIsInJ2YWwiLCJnZXQiXSwic291cmNlcyI6WyIuLi9zcmMvU3RhdHVzSGFuZGxlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZDVIYXNoLCBuZXdPYmplY3RJZCB9IGZyb20gJy4vY3J5cHRvVXRpbHMnO1xuaW1wb3J0IHsgS2V5UHJvbWlzZVF1ZXVlIH0gZnJvbSAnLi9LZXlQcm9taXNlUXVldWUnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHJlc3QgZnJvbSAnLi9yZXN0JztcbmltcG9ydCBBdXRoIGZyb20gJy4vQXV0aCc7XG5cbmNvbnN0IFBVU0hfU1RBVFVTX0NPTExFQ1RJT04gPSAnX1B1c2hTdGF0dXMnO1xuY29uc3QgSk9CX1NUQVRVU19DT0xMRUNUSU9OID0gJ19Kb2JTdGF0dXMnO1xuXG5jb25zdCBwdXNoUHJvbWlzZVF1ZXVlID0gbmV3IEtleVByb21pc2VRdWV1ZSgpO1xuY29uc3Qgam9iUHJvbWlzZVF1ZXVlID0gbmV3IEtleVByb21pc2VRdWV1ZSgpO1xuXG5jb25zdCBpbmNyZW1lbnRPcCA9IGZ1bmN0aW9uIChvYmplY3QgPSB7fSwga2V5LCBhbW91bnQgPSAxKSB7XG4gIGlmICghb2JqZWN0W2tleV0pIHtcbiAgICBvYmplY3Rba2V5XSA9IHsgX19vcDogJ0luY3JlbWVudCcsIGFtb3VudDogYW1vdW50IH07XG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0W2tleV0uYW1vdW50ICs9IGFtb3VudDtcbiAgfVxuICByZXR1cm4gb2JqZWN0W2tleV07XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbihhcnJheSkge1xuICB2YXIgZmxhdHRlbmVkID0gW107XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhcnJheVtpXSkpIHtcbiAgICAgIGZsYXR0ZW5lZCA9IGZsYXR0ZW5lZC5jb25jYXQoZmxhdHRlbihhcnJheVtpXSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmbGF0dGVuZWQucHVzaChhcnJheVtpXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBmbGF0dGVuZWQ7XG59XG5cbmZ1bmN0aW9uIHN0YXR1c0hhbmRsZXIoY2xhc3NOYW1lLCBkYXRhYmFzZSkge1xuICBmdW5jdGlvbiBjcmVhdGUob2JqZWN0KSB7XG4gICAgcmV0dXJuIGRhdGFiYXNlLmNyZWF0ZShjbGFzc05hbWUsIG9iamVjdCkudGhlbigoKSA9PiB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG9iamVjdCk7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGUod2hlcmUsIG9iamVjdCkge1xuICAgIHJldHVybiBqb2JQcm9taXNlUXVldWUuZW5xdWV1ZSh3aGVyZS5vYmplY3RJZCwgKCkgPT4gZGF0YWJhc2UudXBkYXRlKGNsYXNzTmFtZSwgd2hlcmUsIG9iamVjdCkpO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5mcmVlemUoe1xuICAgIGNyZWF0ZSxcbiAgICB1cGRhdGUsXG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZXN0U3RhdHVzSGFuZGxlcihjbGFzc05hbWUsIGNvbmZpZykge1xuICBjb25zdCBhdXRoID0gQXV0aC5tYXN0ZXIoY29uZmlnKTtcbiAgZnVuY3Rpb24gY3JlYXRlKG9iamVjdCkge1xuICAgIHJldHVybiByZXN0LmNyZWF0ZShjb25maWcsIGF1dGgsIGNsYXNzTmFtZSwgb2JqZWN0KS50aGVuKCh7IHJlc3BvbnNlIH0pID0+IHtcbiAgICAgIHJldHVybiB7IC4uLm9iamVjdCwgLi4ucmVzcG9uc2UgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZSh3aGVyZSwgb2JqZWN0KSB7XG4gICAgcmV0dXJuIHB1c2hQcm9taXNlUXVldWUuZW5xdWV1ZSh3aGVyZS5vYmplY3RJZCwgKCkgPT5cbiAgICAgIHJlc3RcbiAgICAgICAgLnVwZGF0ZShjb25maWcsIGF1dGgsIGNsYXNzTmFtZSwgeyBvYmplY3RJZDogd2hlcmUub2JqZWN0SWQgfSwgb2JqZWN0KVxuICAgICAgICAudGhlbigoeyByZXNwb25zZSB9KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ub2JqZWN0LCAuLi5yZXNwb25zZSB9O1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gT2JqZWN0LmZyZWV6ZSh7XG4gICAgY3JlYXRlLFxuICAgIHVwZGF0ZSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBqb2JTdGF0dXNIYW5kbGVyKGNvbmZpZykge1xuICBsZXQgam9iU3RhdHVzO1xuICBjb25zdCBvYmplY3RJZCA9IG5ld09iamVjdElkKGNvbmZpZy5vYmplY3RJZFNpemUpO1xuICBjb25zdCBkYXRhYmFzZSA9IGNvbmZpZy5kYXRhYmFzZTtcbiAgY29uc3QgaGFuZGxlciA9IHN0YXR1c0hhbmRsZXIoSk9CX1NUQVRVU19DT0xMRUNUSU9OLCBkYXRhYmFzZSk7XG4gIGNvbnN0IHNldFJ1bm5pbmcgPSBmdW5jdGlvbiAoam9iTmFtZSwgcGFyYW1zKSB7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICBqb2JTdGF0dXMgPSB7XG4gICAgICBvYmplY3RJZCxcbiAgICAgIGpvYk5hbWUsXG4gICAgICBwYXJhbXMsXG4gICAgICBzdGF0dXM6ICdydW5uaW5nJyxcbiAgICAgIHNvdXJjZTogJ2FwaScsXG4gICAgICBjcmVhdGVkQXQ6IG5vdyxcbiAgICAgIC8vIGxvY2tkb3duIVxuICAgICAgQUNMOiB7fSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGhhbmRsZXIuY3JlYXRlKGpvYlN0YXR1cyk7XG4gIH07XG5cbiAgY29uc3Qgc2V0TWVzc2FnZSA9IGZ1bmN0aW9uIChtZXNzYWdlKSB7XG4gICAgaWYgKCFtZXNzYWdlIHx8IHR5cGVvZiBtZXNzYWdlICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbiAgICByZXR1cm4gaGFuZGxlci51cGRhdGUoeyBvYmplY3RJZCB9LCB7IG1lc3NhZ2UgfSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0U3VjY2VlZGVkID0gZnVuY3Rpb24gKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gc2V0RmluYWxTdGF0dXMoJ3N1Y2NlZWRlZCcsIG1lc3NhZ2UpO1xuICB9O1xuXG4gIGNvbnN0IHNldEZhaWxlZCA9IGZ1bmN0aW9uIChtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHNldEZpbmFsU3RhdHVzKCdmYWlsZWQnLCBtZXNzYWdlKTtcbiAgfTtcblxuICBjb25zdCBzZXRGaW5hbFN0YXR1cyA9IGZ1bmN0aW9uIChzdGF0dXMsIG1lc3NhZ2UgPSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBmaW5pc2hlZEF0ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCB1cGRhdGUgPSB7IHN0YXR1cywgZmluaXNoZWRBdCB9O1xuICAgIGlmIChtZXNzYWdlICYmIHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJykge1xuICAgICAgdXBkYXRlLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZSBpbnN0YW5jZW9mIEVycm9yICYmIHR5cGVvZiBtZXNzYWdlLm1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICB1cGRhdGUubWVzc2FnZSA9IG1lc3NhZ2UubWVzc2FnZTtcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZXIudXBkYXRlKHsgb2JqZWN0SWQgfSwgdXBkYXRlKTtcbiAgfTtcblxuICByZXR1cm4gT2JqZWN0LmZyZWV6ZSh7XG4gICAgc2V0UnVubmluZyxcbiAgICBzZXRTdWNjZWVkZWQsXG4gICAgc2V0TWVzc2FnZSxcbiAgICBzZXRGYWlsZWQsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHVzaFN0YXR1c0hhbmRsZXIoY29uZmlnLCBleGlzdGluZ09iamVjdElkKSB7XG4gIGxldCBwdXNoU3RhdHVzO1xuICBjb25zdCBkYXRhYmFzZSA9IGNvbmZpZy5kYXRhYmFzZTtcbiAgY29uc3QgaGFuZGxlciA9IHJlc3RTdGF0dXNIYW5kbGVyKFBVU0hfU1RBVFVTX0NPTExFQ1RJT04sIGNvbmZpZyk7XG4gIGxldCBvYmplY3RJZCA9IGV4aXN0aW5nT2JqZWN0SWQ7XG4gIGNvbnN0IHNldEluaXRpYWwgPSBmdW5jdGlvbiAoYm9keSA9IHt9LCB3aGVyZSwgb3B0aW9ucyA9IHsgc291cmNlOiAncmVzdCcgfSkge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgbGV0IHB1c2hUaW1lID0gbm93LnRvSVNPU3RyaW5nKCk7XG4gICAgbGV0IHN0YXR1cyA9ICdwZW5kaW5nJztcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGJvZHksICdwdXNoX3RpbWUnKSkge1xuICAgICAgaWYgKGNvbmZpZy5oYXNQdXNoU2NoZWR1bGVkU3VwcG9ydCkge1xuICAgICAgICBwdXNoVGltZSA9IGJvZHkucHVzaF90aW1lO1xuICAgICAgICBzdGF0dXMgPSAnc2NoZWR1bGVkJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZ2dlci53YXJuKCdUcnlpbmcgdG8gc2NoZWR1bGUgYSBwdXNoIHdoaWxlIHNlcnZlciBpcyBub3QgY29uZmlndXJlZC4nKTtcbiAgICAgICAgbG9nZ2VyLndhcm4oJ1B1c2ggd2lsbCBiZSBzZW50IGltbWVkaWF0ZWx5Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IGJvZHkuZGF0YSB8fCB7fTtcbiAgICBjb25zdCBwYXlsb2FkU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgbGV0IHB1c2hIYXNoO1xuICAgIGlmICh0eXBlb2YgZGF0YS5hbGVydCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHB1c2hIYXNoID0gbWQ1SGFzaChkYXRhLmFsZXJ0KTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhLmFsZXJ0ID09PSAnb2JqZWN0Jykge1xuICAgICAgcHVzaEhhc2ggPSBtZDVIYXNoKEpTT04uc3RyaW5naWZ5KGRhdGEuYWxlcnQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHVzaEhhc2ggPSAnZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UnO1xuICAgIH1cbiAgICBjb25zdCBvYmplY3QgPSB7XG4gICAgICBwdXNoVGltZSxcbiAgICAgIHF1ZXJ5OiBKU09OLnN0cmluZ2lmeSh3aGVyZSksXG4gICAgICBwYXlsb2FkOiBwYXlsb2FkU3RyaW5nLFxuICAgICAgc291cmNlOiBvcHRpb25zLnNvdXJjZSxcbiAgICAgIHRpdGxlOiBvcHRpb25zLnRpdGxlLFxuICAgICAgZXhwaXJ5OiBib2R5LmV4cGlyYXRpb25fdGltZSxcbiAgICAgIGV4cGlyYXRpb25faW50ZXJ2YWw6IGJvZHkuZXhwaXJhdGlvbl9pbnRlcnZhbCxcbiAgICAgIHN0YXR1czogc3RhdHVzLFxuICAgICAgbnVtU2VudDogMCxcbiAgICAgIHB1c2hIYXNoLFxuICAgICAgLy8gbG9ja2Rvd24hXG4gICAgICBBQ0w6IHt9LFxuICAgIH07XG4gICAgcmV0dXJuIGhhbmRsZXIuY3JlYXRlKG9iamVjdCkudGhlbihyZXN1bHQgPT4ge1xuICAgICAgb2JqZWN0SWQgPSByZXN1bHQub2JqZWN0SWQ7XG4gICAgICBwdXNoU3RhdHVzID0ge1xuICAgICAgICBvYmplY3RJZCxcbiAgICAgIH07XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHB1c2hTdGF0dXMpO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHNldFJ1bm5pbmcgPSBmdW5jdGlvbiAoYmF0Y2hlcykge1xuICAgIGxvZ2dlci52ZXJib3NlKFxuICAgICAgYF9QdXNoU3RhdHVzICR7b2JqZWN0SWR9OiBzZW5kaW5nIHB1c2ggdG8gaW5zdGFsbGF0aW9ucyB3aXRoICVkIGJhdGNoZXNgLFxuICAgICAgYmF0Y2hlc1xuICAgICk7XG4gICAgcmV0dXJuIGhhbmRsZXIudXBkYXRlKFxuICAgICAge1xuICAgICAgICBzdGF0dXM6ICdwZW5kaW5nJyxcbiAgICAgICAgb2JqZWN0SWQ6IG9iamVjdElkLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3RhdHVzOiAncnVubmluZycsXG4gICAgICAgIGNvdW50OiBiYXRjaGVzLFxuICAgICAgfVxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgdHJhY2tTZW50ID0gZnVuY3Rpb24gKFxuICAgIHJlc3VsdHMsXG4gICAgVVRDT2Zmc2V0LFxuICAgIGNsZWFudXBJbnN0YWxsYXRpb25zID0gcHJvY2Vzcy5lbnYuUEFSU0VfU0VSVkVSX0NMRUFOVVBfSU5WQUxJRF9JTlNUQUxMQVRJT05TXG4gICkge1xuICAgIGNvbnN0IHVwZGF0ZSA9IHtcbiAgICAgIG51bVNlbnQ6IDAsXG4gICAgICBudW1GYWlsZWQ6IDAsXG4gICAgfTtcbiAgICBjb25zdCBkZXZpY2VzVG9SZW1vdmUgPSBbXTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bHRzKSkge1xuICAgICAgcmVzdWx0cyA9IGZsYXR0ZW4ocmVzdWx0cyk7XG4gICAgICByZXN1bHRzLnJlZHVjZSgobWVtbywgcmVzdWx0KSA9PiB7XG4gICAgICAgIC8vIENhbm5vdCBoYW5kbGUgdGhhdFxuICAgICAgICBpZiAoIXJlc3VsdCB8fCAhcmVzdWx0LmRldmljZSB8fCAhcmVzdWx0LmRldmljZS5kZXZpY2VUeXBlKSB7XG4gICAgICAgICAgcmV0dXJuIG1lbW87XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGV2aWNlVHlwZSA9IHJlc3VsdC5kZXZpY2UuZGV2aWNlVHlwZTtcbiAgICAgICAgY29uc3Qga2V5ID0gcmVzdWx0LnRyYW5zbWl0dGVkXG4gICAgICAgICAgPyBgc2VudFBlclR5cGUuJHtkZXZpY2VUeXBlfWBcbiAgICAgICAgICA6IGBmYWlsZWRQZXJUeXBlLiR7ZGV2aWNlVHlwZX1gO1xuICAgICAgICBtZW1vW2tleV0gPSBpbmNyZW1lbnRPcChtZW1vLCBrZXkpO1xuICAgICAgICBpZiAodHlwZW9mIFVUQ09mZnNldCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICBjb25zdCBvZmZzZXRLZXkgPSByZXN1bHQudHJhbnNtaXR0ZWRcbiAgICAgICAgICAgID8gYHNlbnRQZXJVVENPZmZzZXQuJHtVVENPZmZzZXR9YFxuICAgICAgICAgICAgOiBgZmFpbGVkUGVyVVRDT2Zmc2V0LiR7VVRDT2Zmc2V0fWA7XG4gICAgICAgICAgbWVtb1tvZmZzZXRLZXldID0gaW5jcmVtZW50T3AobWVtbywgb2Zmc2V0S2V5KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzdWx0LnRyYW5zbWl0dGVkKSB7XG4gICAgICAgICAgbWVtby5udW1TZW50Kys7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgcmVzdWx0ICYmXG4gICAgICAgICAgICByZXN1bHQucmVzcG9uc2UgJiZcbiAgICAgICAgICAgIHJlc3VsdC5yZXNwb25zZS5lcnJvciAmJlxuICAgICAgICAgICAgcmVzdWx0LmRldmljZSAmJlxuICAgICAgICAgICAgcmVzdWx0LmRldmljZS5kZXZpY2VUb2tlblxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSByZXN1bHQuZGV2aWNlLmRldmljZVRva2VuO1xuICAgICAgICAgICAgY29uc3QgZXJyb3IgPSByZXN1bHQucmVzcG9uc2UuZXJyb3I7XG4gICAgICAgICAgICAvLyBHQ00gLyBGQ00gSFRUUCB2MSBBUEkgZXJyb3JzOyBzZWU6XG4gICAgICAgICAgICAvLyBodHRwczovL2ZpcmViYXNlLmdvb2dsZS5jb20vZG9jcy9yZWZlcmVuY2UvZmNtL3Jlc3QvdjEvRXJyb3JDb2RlXG4gICAgICAgICAgICBpZiAoZXJyb3IgPT09ICdOb3RSZWdpc3RlcmVkJyB8fCBlcnJvciA9PT0gJ0ludmFsaWRSZWdpc3RyYXRpb24nKSB7XG4gICAgICAgICAgICAgIGRldmljZXNUb1JlbW92ZS5wdXNoKHRva2VuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZDTSBBUEkgdjIgZXJyb3JzOyBzZWU6XG4gICAgICAgICAgICAvLyBodHRwczovL2ZpcmViYXNlLmdvb2dsZS5jb20vZG9jcy9jbG91ZC1tZXNzYWdpbmcvbWFuYWdlLXRva2Vuc1xuICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZpcmViYXNlL2Z1bmN0aW9ucy1zYW1wbGVzL2Jsb2IvNzAzYzAzNTllYWNmMDdhNTUxNzUxZDEzMTlkMzRmOTEyYTJjZDgyOC9Ob2RlL2ZjbS1ub3RpZmljYXRpb25zL2Z1bmN0aW9ucy9pbmRleC5qcyNMODktTDkzQzE2XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGVycm9yPy5jb2RlID09PSAnbWVzc2FnaW5nL3JlZ2lzdHJhdGlvbi10b2tlbi1ub3QtcmVnaXN0ZXJlZCcgfHxcbiAgICAgICAgICAgICAgZXJyb3I/LmNvZGUgPT09ICdtZXNzYWdpbmcvaW52YWxpZC1yZWdpc3RyYXRpb24tdG9rZW4nIHx8XG4gICAgICAgICAgICAgIChlcnJvcj8uY29kZSA9PT0gJ21lc3NhZ2luZy9pbnZhbGlkLWFyZ3VtZW50JyAmJiBlcnJvcj8ubWVzc2FnZSA9PT0gJ1RoZSByZWdpc3RyYXRpb24gdG9rZW4gaXMgbm90IGEgdmFsaWQgRkNNIHJlZ2lzdHJhdGlvbiB0b2tlbicpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgZGV2aWNlc1RvUmVtb3ZlLnB1c2godG9rZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQVBOUyBlcnJvcnM7IHNlZTpcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL3VzZXJub3RpZmljYXRpb25zL2hhbmRsaW5nLW5vdGlmaWNhdGlvbi1yZXNwb25zZXMtZnJvbS1hcG5zXG4gICAgICAgICAgICBpZiAoZXJyb3IgPT09ICdVbnJlZ2lzdGVyZWQnIHx8IGVycm9yID09PSAnQmFkRGV2aWNlVG9rZW4nKSB7XG4gICAgICAgICAgICAgIGRldmljZXNUb1JlbW92ZS5wdXNoKHRva2VuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgbWVtby5udW1GYWlsZWQrKztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWVtbztcbiAgICAgIH0sIHVwZGF0ZSk7XG4gICAgfVxuXG4gICAgbG9nZ2VyLnZlcmJvc2UoXG4gICAgICBgX1B1c2hTdGF0dXMgJHtvYmplY3RJZH06IHNlbnQgcHVzaCEgJWQgc3VjY2VzcywgJWQgZmFpbHVyZXNgLFxuICAgICAgdXBkYXRlLm51bVNlbnQsXG4gICAgICB1cGRhdGUubnVtRmFpbGVkXG4gICAgKTtcbiAgICBsb2dnZXIudmVyYm9zZShgX1B1c2hTdGF0dXMgJHtvYmplY3RJZH06IG5lZWRzIGNsZWFudXBgLCB7XG4gICAgICBkZXZpY2VzVG9SZW1vdmUsXG4gICAgfSk7XG4gICAgWydudW1TZW50JywgJ251bUZhaWxlZCddLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmICh1cGRhdGVba2V5XSA+IDApIHtcbiAgICAgICAgdXBkYXRlW2tleV0gPSB7XG4gICAgICAgICAgX19vcDogJ0luY3JlbWVudCcsXG4gICAgICAgICAgYW1vdW50OiB1cGRhdGVba2V5XSxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlbGV0ZSB1cGRhdGVba2V5XTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChkZXZpY2VzVG9SZW1vdmUubGVuZ3RoID4gMCAmJiBjbGVhbnVwSW5zdGFsbGF0aW9ucykge1xuICAgICAgbG9nZ2VyLmluZm8oYFJlbW92aW5nIGRldmljZSB0b2tlbnMgb24gJHtkZXZpY2VzVG9SZW1vdmUubGVuZ3RofSBfSW5zdGFsbGF0aW9uc2ApO1xuICAgICAgZGF0YWJhc2UudXBkYXRlKFxuICAgICAgICAnX0luc3RhbGxhdGlvbicsXG4gICAgICAgIHsgZGV2aWNlVG9rZW46IHsgJGluOiBkZXZpY2VzVG9SZW1vdmUgfSB9LFxuICAgICAgICB7IGRldmljZVRva2VuOiB7IF9fb3A6ICdEZWxldGUnIH0gfSxcbiAgICAgICAge1xuICAgICAgICAgIGFjbDogdW5kZWZpbmVkLFxuICAgICAgICAgIG1hbnk6IHRydWUsXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICAgIGluY3JlbWVudE9wKHVwZGF0ZSwgJ2NvdW50JywgLTEpO1xuICAgIHVwZGF0ZS5zdGF0dXMgPSAncnVubmluZyc7XG5cbiAgICByZXR1cm4gaGFuZGxlci51cGRhdGUoeyBvYmplY3RJZCB9LCB1cGRhdGUpLnRoZW4ocmVzID0+IHtcbiAgICAgIGlmIChyZXMgJiYgcmVzLmNvdW50ID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGhhbmRsZXIudXBkYXRlKFxuICAgICAgeyBvYmplY3RJZCB9LFxuICAgICAge1xuICAgICAgICBzdGF0dXM6ICdzdWNjZWVkZWQnLFxuICAgICAgICBjb3VudDogeyBfX29wOiAnRGVsZXRlJyB9LFxuICAgICAgfVxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZmFpbCA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgICBpZiAodHlwZW9mIGVyciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVyciA9IHsgbWVzc2FnZTogZXJyIH07XG4gICAgfVxuICAgIGNvbnN0IHVwZGF0ZSA9IHtcbiAgICAgIGVycm9yTWVzc2FnZTogZXJyLFxuICAgICAgc3RhdHVzOiAnZmFpbGVkJyxcbiAgICB9O1xuICAgIHJldHVybiBoYW5kbGVyLnVwZGF0ZSh7IG9iamVjdElkIH0sIHVwZGF0ZSk7XG4gIH07XG5cbiAgY29uc3QgcnZhbCA9IHtcbiAgICBzZXRJbml0aWFsLFxuICAgIHNldFJ1bm5pbmcsXG4gICAgdHJhY2tTZW50LFxuICAgIGNvbXBsZXRlLFxuICAgIGZhaWwsXG4gIH07XG5cbiAgLy8gZGVmaW5lIG9iamVjdElkIHRvIGJlIGR5bmFtaWNcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJ2YWwsICdvYmplY3RJZCcsIHtcbiAgICBnZXQ6ICgpID0+IG9iamVjdElkLFxuICB9KTtcblxuICByZXR1cm4gT2JqZWN0LmZyZWV6ZShydmFsKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxnQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQTBCLFNBQUFJLHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsU0FBQUcsUUFBQUgsQ0FBQSxFQUFBSSxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFQLENBQUEsT0FBQU0sTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQVIsQ0FBQSxHQUFBSSxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBWCxDQUFBLEVBQUFJLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFmLENBQUEsYUFBQUksQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFELE9BQUEs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QUN6QztRQUFFUSxXQUFXLEVBQUU7VUFBRWhHLElBQUksRUFBRTtRQUFTO01BQUUsQ0FBQyxFQUNuQztRQUNFcUcsR0FBRyxFQUFFeEQsU0FBUztRQUNkeUQsSUFBSSxFQUFFO01BQ1IsQ0FDRixDQUFDO0lBQ0g7SUFDQTFHLFdBQVcsQ0FBQ2tCLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaENBLE1BQU0sQ0FBQ3NCLE1BQU0sR0FBRyxTQUFTO0lBRXpCLE9BQU9OLE9BQU8sQ0FBQ2hCLE1BQU0sQ0FBQztNQUFFRztJQUFTLENBQUMsRUFBRUgsTUFBTSxDQUFDLENBQUNILElBQUksQ0FBQzRGLEdBQUcsSUFBSTtNQUN0RCxJQUFJQSxHQUFHLElBQUlBLEdBQUcsQ0FBQ3hCLEtBQUssS0FBSyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUN5QixRQUFRLENBQUMsQ0FBQztNQUN4QjtJQUNGLENBQUMsQ0FBQztFQUNKLENBQUM7RUFFRCxNQUFNQSxRQUFRLEdBQUcsU0FBQUEsQ0FBQSxFQUFZO0lBQzNCLE9BQU8xRSxPQUFPLENBQUNoQixNQUFNLENBQ25CO01BQUVHO0lBQVMsQ0FBQyxFQUNaO01BQ0VtQixNQUFNLEVBQUUsV0FBVztNQUNuQjJDLEtBQUssRUFBRTtRQUFFL0UsSUFBSSxFQUFFO01BQVM7SUFDMUIsQ0FDRixDQUFDO0VBQ0gsQ0FBQztFQUVELE1BQU15RyxJQUFJLEdBQUcsU0FBQUEsQ0FBVUMsR0FBRyxFQUFFO0lBQzFCLElBQUksT0FBT0EsR0FBRyxLQUFLLFFBQVEsRUFBRTtNQUMzQkEsR0FBRyxHQUFHO1FBQUVqRSxPQUFPLEVBQUVpRTtNQUFJLENBQUM7SUFDeEI7SUFDQSxNQUFNNUYsTUFBTSxHQUFHO01BQ2I2RixZQUFZLEVBQUVELEdBQUc7TUFDakJ0RSxNQUFNLEVBQUU7SUFDVixDQUFDO0lBQ0QsT0FBT04sT0FBTyxDQUFDaEIsTUFBTSxDQUFDO01BQUVHO0lBQVMsQ0FBQyxFQUFFSCxNQUFNLENBQUM7RUFDN0MsQ0FBQztFQUVELE1BQU04RixJQUFJLEdBQUc7SUFDWHpELFVBQVU7SUFDVnBCLFVBQVU7SUFDVmlELFNBQVM7SUFDVHdCLFFBQVE7SUFDUkM7RUFDRixDQUFDOztFQUVEO0VBQ0EvSSxNQUFNLENBQUNnQixjQUFjLENBQUNrSSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ3RDQyxHQUFHLEVBQUVBLENBQUEsS0FBTTVGO0VBQ2IsQ0FBQyxDQUFDO0VBRUYsT0FBT3ZELE1BQU0sQ0FBQ3dELE1BQU0sQ0FBQzBGLElBQUksQ0FBQztBQUM1QiIsImlnbm9yZUxpc3QiOltdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "parse-server",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.2.0-beta.1",
|
|
4
4
|
"description": "An express module providing a Parse-compatible API server",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@graphql-tools/schema": "10.0.3",
|
|
26
26
|
"@graphql-tools/utils": "8.12.0",
|
|
27
27
|
"@parse/fs-files-adapter": "3.0.0",
|
|
28
|
-
"@parse/push-adapter": "6.
|
|
28
|
+
"@parse/push-adapter": "6.4.1",
|
|
29
29
|
"bcryptjs": "2.4.3",
|
|
30
30
|
"body-parser": "1.20.2",
|
|
31
31
|
"commander": "12.0.0",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"mongodb": "5.9.0",
|
|
50
50
|
"mustache": "4.2.0",
|
|
51
51
|
"otpauth": "9.2.2",
|
|
52
|
-
"parse": "5.
|
|
52
|
+
"parse": "5.3.0",
|
|
53
53
|
"path-to-regexp": "6.2.1",
|
|
54
54
|
"pg-monitor": "2.0.0",
|
|
55
55
|
"pg-promise": "11.7.8",
|
|
@@ -72,13 +72,13 @@
|
|
|
72
72
|
"@babel/plugin-proposal-object-rest-spread": "7.10.0",
|
|
73
73
|
"@babel/plugin-transform-flow-strip-types": "7.23.3",
|
|
74
74
|
"@babel/preset-env": "7.24.0",
|
|
75
|
-
"@saithodev/semantic-release-backmerge": "
|
|
76
|
-
"@semantic-release/changelog": "
|
|
77
|
-
"@semantic-release/commit-analyzer": "
|
|
78
|
-
"@semantic-release/git": "
|
|
79
|
-
"@semantic-release/github": "
|
|
80
|
-
"@semantic-release/npm": "
|
|
81
|
-
"@semantic-release/release-notes-generator": "
|
|
75
|
+
"@saithodev/semantic-release-backmerge": "4.0.1",
|
|
76
|
+
"@semantic-release/changelog": "6.0.3",
|
|
77
|
+
"@semantic-release/commit-analyzer": "13.0.0",
|
|
78
|
+
"@semantic-release/git": "10.0.1",
|
|
79
|
+
"@semantic-release/github": "10.1.0",
|
|
80
|
+
"@semantic-release/npm": "12.0.1",
|
|
81
|
+
"@semantic-release/release-notes-generator": "14.0.1",
|
|
82
82
|
"all-node-versions": "12.1.0",
|
|
83
83
|
"apollo-upload-client": "17.0.0",
|
|
84
84
|
"clean-jsdoc-theme": "4.2.18",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"node-fetch": "3.2.10",
|
|
105
105
|
"nyc": "15.1.0",
|
|
106
106
|
"prettier": "2.0.5",
|
|
107
|
-
"semantic-release": "
|
|
107
|
+
"semantic-release": "24.0.0",
|
|
108
108
|
"yaml": "1.10.0"
|
|
109
109
|
},
|
|
110
110
|
"scripts": {
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
"parse-server": "bin/parse-server"
|
|
145
145
|
},
|
|
146
146
|
"optionalDependencies": {
|
|
147
|
-
"@node-rs/bcrypt": "1.10.
|
|
147
|
+
"@node-rs/bcrypt": "1.10.4"
|
|
148
148
|
},
|
|
149
149
|
"collective": {
|
|
150
150
|
"type": "opencollective",
|