@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator

Drive all Celerity operations from the new map

Summary:
Ref T4222.

- Removes the old map and changes the CelerityResourceMap API to be entirely driven by the new map.
- The new map is about 50% smaller and organized more sensibly.
- This removes the `/pkg/` URI component. All resources are now required to have unique names, so we can tell if a resource is a package or not by looking at the name.
- Removes some junky old APIs.
- Cleans up some other APIs.
- Added some feedback for `bin/celerity map`.
- `CelerityResourceMap` is still a singleton which is inextricably bound to the Phabricator map; this will change in the future.

Test Plan:
- Reloaded pages.
- Verified packaging works by looking at generated includes.
- Forced minification on and verified it worked.
- Forced no-timestamps on and verified it worked.
- Rebuilt map.
- Ran old script and verified error message.
- Checked logs.

Reviewers: btrahan, hach-que

Reviewed By: hach-que

CC: chad, aran

Maniphest Tasks: T4222

Differential Revision: https://secure.phabricator.com/D7872

+2662 -5331
-1
.gitignore
··· 1 1 .DS_Store 2 2 ._* 3 - /webroot/rsrc/custom 4 3 .#* 5 4 *# 6 5 *~
+2173
resources/celerity/map.php
··· 1 + <?php 2 + 3 + /** 4 + * This file is automatically generated. Use 'bin/celerity map' to rebuild it. 5 + * @generated 6 + */ 7 + return array( 8 + 'names' => 9 + array( 10 + 'core.pkg.css' => '6237350d', 11 + 'core.pkg.js' => 'e5bed99d', 12 + 'css/aphront/aphront-bars.css' => 'acda2fd6', 13 + 'css/aphront/aphront-notes.css' => '93ef49a2', 14 + 'css/aphront/calendar-view.css' => '3ceceea9', 15 + 'css/aphront/context-bar.css' => 'ad47400d', 16 + 'css/aphront/dark-console.css' => '28749b02', 17 + 'css/aphront/dialog-view.css' => '98c3d15e', 18 + 'css/aphront/error-view.css' => '6f05bee0', 19 + 'css/aphront/lightbox-attachment.css' => '97d7f346', 20 + 'css/aphront/list-filter-view.css' => 'f0ba297e', 21 + 'css/aphront/multi-column.css' => 'df49b7c8', 22 + 'css/aphront/notification.css' => '2130761d', 23 + 'css/aphront/pager-view.css' => '897416ba', 24 + 'css/aphront/panel-view.css' => '27749ad6', 25 + 'css/aphront/phabricator-nav-view.css' => 'd44bb749', 26 + 'css/aphront/request-failure-view.css' => 'd86e5c2c', 27 + 'css/aphront/table-view.css' => '91f450fa', 28 + 'css/aphront/tokenizer.css' => '4e8ad88d', 29 + 'css/aphront/tooltip.css' => '1deb3222', 30 + 'css/aphront/transaction.css' => 'b47a60ca', 31 + 'css/aphront/two-column.css' => '61b2bb6d', 32 + 'css/aphront/typeahead.css' => 'ed7ecea8', 33 + 'css/application/auth/auth.css' => '296c8623', 34 + 'css/application/base/main-menu-view.css' => 'b36ee412', 35 + 'css/application/base/notification-menu.css' => 'e4c244ac', 36 + 'css/application/base/phabricator-application-launch-view.css' => 'b935d893', 37 + 'css/application/base/standard-page-view.css' => '26c5ba9c', 38 + 'css/application/chatlog/chatlog.css' => '2383fc1c', 39 + 'css/application/config/config-options.css' => 'f5086659', 40 + 'css/application/config/config-template.css' => '5682ed9d', 41 + 'css/application/config/setup-issue.css' => '544e5ba9', 42 + 'css/application/conpherence/menu.css' => '97fd3db1', 43 + 'css/application/conpherence/message-pane.css' => '11b03439', 44 + 'css/application/conpherence/notification.css' => '484dfd15', 45 + 'css/application/conpherence/update.css' => 'f3dc3947', 46 + 'css/application/conpherence/widget-pane.css' => 'd9582841', 47 + 'css/application/contentsource/content-source-view.css' => '34b9a33c', 48 + 'css/application/countdown/timer.css' => 'ba18d346', 49 + 'css/application/diff/inline-comment-summary.css' => 'a4f70e8f', 50 + 'css/application/differential/add-comment.css' => '0c2e21c9', 51 + 'css/application/differential/changeset-view.css' => 'edcc3cc7', 52 + 'css/application/differential/core.css' => 'f620aec7', 53 + 'css/application/differential/local-commits-view.css' => '21b16022', 54 + 'css/application/differential/results-table.css' => 'fd645cc5', 55 + 'css/application/differential/revision-comment-list.css' => 'c54e344f', 56 + 'css/application/differential/revision-comment.css' => 'c5477a57', 57 + 'css/application/differential/revision-history.css' => 'edeff62c', 58 + 'css/application/differential/revision-list.css' => '94002b39', 59 + 'css/application/differential/table-of-contents.css' => 'f5f67eef', 60 + 'css/application/diffusion/commit-view.css' => 'e33af64d', 61 + 'css/application/diffusion/diffusion-icons.css' => 'b435eec1', 62 + 'css/application/diffusion/diffusion-source.css' => '71970e41', 63 + 'css/application/directory/phabricator-jump-nav.css' => 'd0b69750', 64 + 'css/application/feed/feed.css' => 'e30fc24d', 65 + 'css/application/files/global-drag-and-drop.css' => '0da7b499', 66 + 'css/application/flag/flag.css' => 'eb699cf3', 67 + 'css/application/herald/herald-test.css' => 'ca21b015', 68 + 'css/application/herald/herald.css' => 'be21ad75', 69 + 'css/application/maniphest/batch-editor.css' => '837c81c1', 70 + 'css/application/maniphest/report.css' => '1825f24c', 71 + 'css/application/maniphest/task-edit.css' => 'a0e7a334', 72 + 'css/application/maniphest/task-summary.css' => '92d4cd50', 73 + 'css/application/objectselector/object-selector.css' => '244c904f', 74 + 'css/application/owners/owners-path-editor.css' => '8b2bce66', 75 + 'css/application/paste/paste.css' => '4761ec9d', 76 + 'css/application/people/people-profile.css' => '67ba1f5d', 77 + 'css/application/phame/phame.css' => '7c9bc755', 78 + 'css/application/pholio/pholio-edit.css' => '9faf415a', 79 + 'css/application/pholio/pholio-inline-comments.css' => '2d6a0aae', 80 + 'css/application/pholio/pholio.css' => '72ff2697', 81 + 'css/application/phortune/phortune-credit-card-form.css' => 'ea1ca7fc', 82 + 'css/application/phrequent/phrequent.css' => 'cdfd4383', 83 + 'css/application/phriction/phriction-document-css.css' => '7b4b445c', 84 + 'css/application/policy/policy-edit.css' => '1086a6e2', 85 + 'css/application/policy/policy.css' => '87ec582e', 86 + 'css/application/ponder/comments.css' => 'f4f6861f', 87 + 'css/application/ponder/feed.css' => 'ed499cdd', 88 + 'css/application/ponder/post.css' => '604dd0db', 89 + 'css/application/ponder/vote.css' => 'f7ae64cf', 90 + 'css/application/profile/profile-view.css' => '3a1ce3a0', 91 + 'css/application/projects/phabricator-object-list-view.css' => '1f269d69', 92 + 'css/application/projects/project-tag.css' => '866ceb4c', 93 + 'css/application/releeph/releeph-branch.css' => '2e8bac9d', 94 + 'css/application/releeph/releeph-colors.css' => 'f3908fac', 95 + 'css/application/releeph/releeph-core.css' => '80423544', 96 + 'css/application/releeph/releeph-intents.css' => 'bbcd9a53', 97 + 'css/application/releeph/releeph-preview-branch.css' => '98a7da5a', 98 + 'css/application/releeph/releeph-project.css' => '6da034b7', 99 + 'css/application/releeph/releeph-request-differential-create-dialog.css' => '64fbc22c', 100 + 'css/application/releeph/releeph-request-typeahead.css' => '25e57213', 101 + 'css/application/releeph/releeph-status.css' => '1a50107e', 102 + 'css/application/search/search-results.css' => '194d433f', 103 + 'css/application/settings/settings.css' => 'aa4a7441', 104 + 'css/application/slowvote/slowvote.css' => '414e52ba', 105 + 'css/application/tokens/tokens.css' => '27e8d165', 106 + 'css/application/uiexample/example.css' => '33ec38fc', 107 + 'css/core/core.css' => '8c1854b1', 108 + 'css/core/remarkup.css' => '5e94c989', 109 + 'css/core/syntax.css' => 'bad712fc', 110 + 'css/core/z-index.css' => '65f3d9e7', 111 + 'css/diviner/diviner-shared.css' => '670fd14f', 112 + 'css/layout/phabricator-action-header-view.css' => '0699fb9e', 113 + 'css/layout/phabricator-action-list-view.css' => '75b203f8', 114 + 'css/layout/phabricator-crumbs-view.css' => 'ad8e391e', 115 + 'css/layout/phabricator-filetree-view.css' => '67c981b5', 116 + 'css/layout/phabricator-hovercard-view.css' => 'a5690b02', 117 + 'css/layout/phabricator-side-menu-view.css' => 'bf4aaf7c', 118 + 'css/layout/phabricator-source-code-view.css' => '26126d8f', 119 + 'css/layout/phabricator-tag-view.css' => '9f5cbd35', 120 + 'css/layout/phabricator-timeline-view.css' => '05b2a50b', 121 + 'css/phui/phui-box.css' => '59f7cf48', 122 + 'css/phui/phui-button.css' => 'f3ff7064', 123 + 'css/phui/phui-document.css' => 'e039a2c6', 124 + 'css/phui/phui-feed-story.css' => '3ad8335d', 125 + 'css/phui/phui-form-view.css' => 'd9548fb5', 126 + 'css/phui/phui-form.css' => '371b80cf', 127 + 'css/phui/phui-header-view.css' => '6f88e46a', 128 + 'css/phui/phui-icon.css' => '62829e9e', 129 + 'css/phui/phui-info-panel.css' => '04242a5c', 130 + 'css/phui/phui-list.css' => 'ac42d16a', 131 + 'css/phui/phui-object-box.css' => '99263256', 132 + 'css/phui/phui-object-item-list-view.css' => '236014b6', 133 + 'css/phui/phui-pinboard-view.css' => '007436fb', 134 + 'css/phui/phui-property-list-view.css' => '405c1b0e', 135 + 'css/phui/phui-remarkup-preview.css' => '9a9bf0a0', 136 + 'css/phui/phui-spacing.css' => '1751a13d', 137 + 'css/phui/phui-status.css' => 'dbb45c8c', 138 + 'css/phui/phui-text.css' => '91f67c07', 139 + 'css/phui/phui-workboard-view.css' => '4f0c70d4', 140 + 'css/phui/phui-workpanel-view.css' => '6ef48cca', 141 + 'css/sprite-actions.css' => 'e46b85e6', 142 + 'css/sprite-apps-large.css' => '2b3eeb3d', 143 + 'css/sprite-apps-xlarge.css' => '87c6a366', 144 + 'css/sprite-apps.css' => '70a9373f', 145 + 'css/sprite-conpherence.css' => '0064c183', 146 + 'css/sprite-docs.css' => '6747f312', 147 + 'css/sprite-gradient.css' => '74a69e3d', 148 + 'css/sprite-icons.css' => '023b4a1b', 149 + 'css/sprite-login.css' => '30e23cfa', 150 + 'css/sprite-main-header.css' => 'bf362fd7', 151 + 'css/sprite-menu.css' => '776a31fa', 152 + 'css/sprite-minicons.css' => '06aaabfb', 153 + 'css/sprite-payments.css' => 'd0a866f6', 154 + 'css/sprite-projects.css' => '8255040b', 155 + 'css/sprite-status.css' => '8b58c9bc', 156 + 'css/sprite-tokens.css' => '3a7a56a3', 157 + 'darkconsole.pkg.js' => '4b1b39f2', 158 + 'differential.pkg.css' => 'c7f5b5d4', 159 + 'differential.pkg.js' => '9837647c', 160 + 'diffusion.pkg.css' => '0f7af342', 161 + 'diffusion.pkg.js' => 'fa37c1e9', 162 + 'externals/javelin/core/Event.js' => '27cba4ec', 163 + 'externals/javelin/core/Stratcom.js' => 'bf2205e5', 164 + 'externals/javelin/core/__tests__/event-stop-and-kill.js' => 'aca7c030', 165 + 'externals/javelin/core/__tests__/install.js' => '735773c5', 166 + 'externals/javelin/core/__tests__/stratcom.js' => '7809bec9', 167 + 'externals/javelin/core/__tests__/util.js' => 'ea586a0c', 168 + 'externals/javelin/core/init.js' => '574d5362', 169 + 'externals/javelin/core/install.js' => '6af2a772', 170 + 'externals/javelin/core/util.js' => 'e05b9f1e', 171 + 'externals/javelin/docs/Base.js' => 'c9a2224e', 172 + 'externals/javelin/docs/onload.js' => '39eadb59', 173 + 'externals/javelin/ext/fx/Color.js' => 'b18c5b83', 174 + 'externals/javelin/ext/fx/FX.js' => '098d7832', 175 + 'externals/javelin/ext/reactor/core/DynVal.js' => '785dc91b', 176 + 'externals/javelin/ext/reactor/core/Reactor.js' => '41503c13', 177 + 'externals/javelin/ext/reactor/core/ReactorNode.js' => 'b3a4e462', 178 + 'externals/javelin/ext/reactor/core/ReactorNodeCalmer.js' => '6fc93a01', 179 + 'externals/javelin/ext/reactor/dom/RDOM.js' => '1f699936', 180 + 'externals/javelin/ext/view/HTMLView.js' => '5c845395', 181 + 'externals/javelin/ext/view/View.js' => '8305c92a', 182 + 'externals/javelin/ext/view/ViewInterpreter.js' => '97a4ccf9', 183 + 'externals/javelin/ext/view/ViewPlaceholder.js' => '0eeaa415', 184 + 'externals/javelin/ext/view/ViewRenderer.js' => 'e12e2b17', 185 + 'externals/javelin/ext/view/ViewVisitor.js' => 'd2d41c98', 186 + 'externals/javelin/ext/view/__tests__/HTMLView.js' => '2bb3fef9', 187 + 'externals/javelin/ext/view/__tests__/View.js' => 'a71c5518', 188 + 'externals/javelin/ext/view/__tests__/ViewInterpreter.js' => '57128f2d', 189 + 'externals/javelin/ext/view/__tests__/ViewRenderer.js' => 'cb0fffaa', 190 + 'externals/javelin/lib/Cookie.js' => 'db7399f3', 191 + 'externals/javelin/lib/DOM.js' => '39e39af9', 192 + 'externals/javelin/lib/History.js' => 'bb73a29b', 193 + 'externals/javelin/lib/JSON.js' => '033e9044', 194 + 'externals/javelin/lib/Mask.js' => 'f5335df7', 195 + 'externals/javelin/lib/Request.js' => 'c7de3be9', 196 + 'externals/javelin/lib/Resource.js' => 'c2c3c690', 197 + 'externals/javelin/lib/URI.js' => '4ac98c65', 198 + 'externals/javelin/lib/Vector.js' => '523bf7c2', 199 + 'externals/javelin/lib/Workflow.js' => 'c7187be4', 200 + 'externals/javelin/lib/__tests__/Cookie.js' => '2e3679ee', 201 + 'externals/javelin/lib/__tests__/DOM.js' => '2391a0cc', 202 + 'externals/javelin/lib/__tests__/JSON.js' => 'a551bafa', 203 + 'externals/javelin/lib/__tests__/URI.js' => 'ec86b06a', 204 + 'externals/javelin/lib/__tests__/behavior.js' => '0735ca9d', 205 + 'externals/javelin/lib/behavior.js' => '4f19fed3', 206 + 'externals/javelin/lib/control/tokenizer/Tokenizer.js' => '0aa2f7b2', 207 + 'externals/javelin/lib/control/typeahead/Typeahead.js' => 'cd135e84', 208 + 'externals/javelin/lib/control/typeahead/normalizer/TypeaheadNormalizer.js' => 'abc893b6', 209 + 'externals/javelin/lib/control/typeahead/source/TypeaheadCompositeSource.js' => '5db87865', 210 + 'externals/javelin/lib/control/typeahead/source/TypeaheadOnDemandSource.js' => 'd8811f6a', 211 + 'externals/javelin/lib/control/typeahead/source/TypeaheadPreloadedSource.js' => 'ef853cf5', 212 + 'externals/javelin/lib/control/typeahead/source/TypeaheadSource.js' => '7a40e663', 213 + 'externals/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js' => 'b6a57ae3', 214 + 'externals/raphael/g.raphael.js' => '12b92166', 215 + 'externals/raphael/g.raphael.line.js' => '58bf6f73', 216 + 'externals/raphael/raphael.js' => 'abf41433', 217 + 'image/actions/edit.png' => 'c3b96e78', 218 + 'image/apple-touch-icon.png' => '42326ccc', 219 + 'image/avatar.png' => '6aec375b', 220 + 'image/checker_dark.png' => 'b3b77bb6', 221 + 'image/checker_light.png' => '55598e52', 222 + 'image/credit_cards.png' => '75709767', 223 + 'image/darkload.gif' => 'b0869dc0', 224 + 'image/divot.png' => '1132744d', 225 + 'image/grippy_texture.png' => 'f1f2a60b', 226 + 'image/icon/fatcow/arrow_branch.png' => '4a4ee026', 227 + 'image/icon/fatcow/arrow_merge.png' => 'f09ca9c0', 228 + 'image/icon/fatcow/bullet_black.png' => '7cd1c223', 229 + 'image/icon/fatcow/bullet_orange.png' => 'a70e76e0', 230 + 'image/icon/fatcow/bullet_red.png' => '19355de5', 231 + 'image/icon/fatcow/calendar_edit.png' => 'e59d19b5', 232 + 'image/icon/fatcow/document_black.png' => '97321391', 233 + 'image/icon/fatcow/flag_blue.png' => 'c4b073b2', 234 + 'image/icon/fatcow/flag_finish.png' => '709d16d8', 235 + 'image/icon/fatcow/flag_ghost.png' => '3c0d7f51', 236 + 'image/icon/fatcow/flag_green.png' => '1c41c17f', 237 + 'image/icon/fatcow/flag_orange.png' => '8efbc8da', 238 + 'image/icon/fatcow/flag_pink.png' => 'bac5da9e', 239 + 'image/icon/fatcow/flag_purple.png' => '134ec727', 240 + 'image/icon/fatcow/flag_red.png' => '1f9f8180', 241 + 'image/icon/fatcow/flag_yellow.png' => '6189d4bf', 242 + 'image/icon/fatcow/folder.png' => 'cc3e7927', 243 + 'image/icon/fatcow/folder_go.png' => '6bb1701a', 244 + 'image/icon/fatcow/key_question.png' => '71576bb8', 245 + 'image/icon/fatcow/link.png' => '6e2c9818', 246 + 'image/icon/fatcow/page_white_edit.png' => '69979cf8', 247 + 'image/icon/fatcow/page_white_link.png' => 'f308819b', 248 + 'image/icon/fatcow/page_white_put.png' => 'faf72043', 249 + 'image/icon/fatcow/page_white_text.png' => 'c470c842', 250 + 'image/icon/fatcow/source/conduit.png' => '4524f2bf', 251 + 'image/icon/fatcow/source/email.png' => '158d4079', 252 + 'image/icon/fatcow/source/fax.png' => '8c34adeb', 253 + 'image/icon/fatcow/source/mobile.png' => '3bc6d365', 254 + 'image/icon/fatcow/source/tablet.png' => 'ae13d867', 255 + 'image/icon/fatcow/source/web.png' => '5e4a020b', 256 + 'image/icon/fatcow/thumbnails/default160x120.png' => '326a524c', 257 + 'image/icon/fatcow/thumbnails/default60x45.png' => '413cfb80', 258 + 'image/icon/fatcow/thumbnails/image160x120.png' => '3717254f', 259 + 'image/icon/fatcow/thumbnails/image60x45.png' => '78df8493', 260 + 'image/icon/fatcow/thumbnails/pdf160x120.png' => 'd3b4bef6', 261 + 'image/icon/fatcow/thumbnails/pdf60x45.png' => '027af398', 262 + 'image/icon/fatcow/thumbnails/zip160x120.png' => '3268beb0', 263 + 'image/icon/fatcow/thumbnails/zip60x45.png' => '5285b0e2', 264 + 'image/icon/lightbox/close-2.png' => '9c891951', 265 + 'image/icon/lightbox/close-hover-2.png' => '0e0427ef', 266 + 'image/icon/lightbox/left-arrow-2.png' => '180a2c6b', 267 + 'image/icon/lightbox/left-arrow-hover-2.png' => '5b1ba8f4', 268 + 'image/icon/lightbox/right-arrow-2.png' => 'e0f8ea4f', 269 + 'image/icon/lightbox/right-arrow-hover-2.png' => 'ca28ccb9', 270 + 'image/icon/subscribe.png' => 'd228a967', 271 + 'image/icon/tango/attachment.png' => '6f655166', 272 + 'image/icon/tango/edit.png' => '714028f5', 273 + 'image/icon/tango/go-down.png' => '4cce52c4', 274 + 'image/icon/tango/log.png' => 'c5fc4449', 275 + 'image/icon/tango/upload.png' => '1c929eb4', 276 + 'image/icon/unsubscribe.png' => 'dbc9c02b', 277 + 'image/loading.gif' => '90765b5e', 278 + 'image/loading/boating_24.gif' => '8afd735f', 279 + 'image/loading/compass_24.gif' => '034c83d2', 280 + 'image/loading/loading_24.gif' => '7da2901b', 281 + 'image/loading/loading_48.gif' => 'fcc8665c', 282 + 'image/loading/loading_d48.gif' => 'f4fd214c', 283 + 'image/loading/loading_w24.gif' => '0e9a830a', 284 + 'image/main_texture.png' => '6621f151', 285 + 'image/menu_texture.png' => 'e2025ef5', 286 + 'image/people/harding.png' => '1358581f', 287 + 'image/people/jefferson.png' => '37202541', 288 + 'image/people/lincoln.png' => 'bd4f82d3', 289 + 'image/people/mckinley.png' => 'db8f784b', 290 + 'image/people/taft.png' => 'd9be3ff0', 291 + 'image/people/washington.png' => 'af403be1', 292 + 'image/phrequent_active.png' => '00bbb11d', 293 + 'image/phrequent_inactive.png' => '5ee104bd', 294 + 'image/search-white.png' => 'f309490c', 295 + 'image/search.png' => 'd37e8ad5', 296 + 'image/sprite-actions-X2.png' => 'a4fb15b7', 297 + 'image/sprite-actions.png' => 'd0f1c5dc', 298 + 'image/sprite-apps-X2.png' => 'a996e7f9', 299 + 'image/sprite-apps-large-X2.png' => '8fcc9675', 300 + 'image/sprite-apps-large.png' => '16a12319', 301 + 'image/sprite-apps-xlarge.png' => 'e9b7a1d4', 302 + 'image/sprite-apps.png' => 'a888ca62', 303 + 'image/sprite-conpherence-X2.png' => 'a79fd16c', 304 + 'image/sprite-conpherence.png' => '55364b59', 305 + 'image/sprite-docs-X2.png' => 'f79b55f4', 306 + 'image/sprite-docs.png' => '1d6dbf63', 307 + 'image/sprite-gradient.png' => '0759b774', 308 + 'image/sprite-icons-X2.png' => '63aae855', 309 + 'image/sprite-icons.png' => 'b8675966', 310 + 'image/sprite-login-X2.png' => 'e17fdf1f', 311 + 'image/sprite-login.png' => '8a3ad82d', 312 + 'image/sprite-main-header.png' => '4b54293d', 313 + 'image/sprite-menu-X2.png' => 'b48a244c', 314 + 'image/sprite-menu.png' => 'dc6e286e', 315 + 'image/sprite-minicons-X2.png' => '2cc2aa54', 316 + 'image/sprite-minicons.png' => 'b706bf89', 317 + 'image/sprite-payments.png' => '20a3072e', 318 + 'image/sprite-projects-X2.png' => '206320fa', 319 + 'image/sprite-projects.png' => 'e9030c86', 320 + 'image/sprite-status-X2.png' => 'a456e0ee', 321 + 'image/sprite-status.png' => 'cf013841', 322 + 'image/sprite-tokens-X2.png' => '777c8703', 323 + 'image/sprite-tokens.png' => 'bce39118', 324 + 'image/texture/card-gradient.png' => '45c828b2', 325 + 'image/texture/dark-menu-hover.png' => '47c28a8e', 326 + 'image/texture/dark-menu.png' => '6a4f23d2', 327 + 'image/texture/grip.png' => '7063a575', 328 + 'image/texture/panel-header-gradient.png' => '75b4b705', 329 + 'image/texture/phlnx-bg.png' => '70156432', 330 + 'image/texture/pholio-background.gif' => '17073dda', 331 + 'image/texture/table_header.png' => 'fddbfcd1', 332 + 'image/texture/table_header_hover.png' => 'e1a04be1', 333 + 'image/texture/table_header_tall.png' => '152773e6', 334 + 'javelin.pkg.js' => '917a1ec0', 335 + 'js/application/aphlict/Aphlict.js' => '46bf10d5', 336 + 'js/application/aphlict/behavior-aphlict-dropdown.js' => '22c08a5d', 337 + 'js/application/aphlict/behavior-aphlict-listen.js' => '30e81aef', 338 + 'js/application/auth/behavior-persona-login.js' => 'b5578a2a', 339 + 'js/application/config/behavior-reorder-fields.js' => 'fc2404e1', 340 + 'js/application/conpherence/behavior-menu.js' => '50c80275', 341 + 'js/application/conpherence/behavior-pontificate.js' => '14a5de99', 342 + 'js/application/conpherence/behavior-widget-pane.js' => '3b891a3f', 343 + 'js/application/countdown/timer.js' => '6aa83f41', 344 + 'js/application/differential/DifferentialInlineCommentEditor.js' => 'b254ca0b', 345 + 'js/application/differential/behavior-accept-with-errors.js' => 'b337dced', 346 + 'js/application/differential/behavior-add-reviewers-and-ccs.js' => 'd5fc3d62', 347 + 'js/application/differential/behavior-comment-jump.js' => 'f4398d74', 348 + 'js/application/differential/behavior-comment-preview.js' => 'cd019319', 349 + 'js/application/differential/behavior-diff-radios.js' => '46673a02', 350 + 'js/application/differential/behavior-dropdown-menus.js' => 'ca72f1bd', 351 + 'js/application/differential/behavior-edit-inline-comments.js' => '2377cad2', 352 + 'js/application/differential/behavior-keyboard-nav.js' => '34864fca', 353 + 'js/application/differential/behavior-populate.js' => 'a4c5a205', 354 + 'js/application/differential/behavior-show-all-comments.js' => 'd9b70158', 355 + 'js/application/differential/behavior-show-field-details.js' => 'fba207f5', 356 + 'js/application/differential/behavior-show-more.js' => '5f6635c2', 357 + 'js/application/differential/behavior-toggle-files.js' => 'e3e06145', 358 + 'js/application/differential/behavior-user-select.js' => '189b0831', 359 + 'js/application/diffusion/behavior-audit-preview.js' => 'cf3d25e2', 360 + 'js/application/diffusion/behavior-commit-branches.js' => 'a64bd286', 361 + 'js/application/diffusion/behavior-commit-graph.js' => 'bbfa9478', 362 + 'js/application/diffusion/behavior-jump-to.js' => '16c08333', 363 + 'js/application/diffusion/behavior-load-blame.js' => '2d6f6372', 364 + 'js/application/diffusion/behavior-pull-lastmodified.js' => '4c843fff', 365 + 'js/application/doorkeeper/behavior-doorkeeper-tag.js' => '43f7c01e', 366 + 'js/application/files/behavior-icon-composer.js' => 'f9e431a3', 367 + 'js/application/files/behavior-launch-icon-composer.js' => 'cb4d25b3', 368 + 'js/application/harbormaster/behavior-reorder-steps.js' => 'd9f6df76', 369 + 'js/application/herald/HeraldRuleEditor.js' => '63b35f1a', 370 + 'js/application/herald/PathTypeahead.js' => 'a232711e', 371 + 'js/application/herald/herald-rule-editor.js' => '702e9a5d', 372 + 'js/application/maniphest/behavior-batch-editor.js' => '5b10f6b4', 373 + 'js/application/maniphest/behavior-batch-selector.js' => 'dc40954f', 374 + 'js/application/maniphest/behavior-line-chart.js' => 'b65ba944', 375 + 'js/application/maniphest/behavior-list-edit.js' => 'a45a129c', 376 + 'js/application/maniphest/behavior-subpriorityeditor.js' => '5df83bf6', 377 + 'js/application/maniphest/behavior-transaction-controls.js' => '7811fafc', 378 + 'js/application/maniphest/behavior-transaction-expand.js' => '928b06db', 379 + 'js/application/maniphest/behavior-transaction-preview.js' => 'f222a093', 380 + 'js/application/owners/OwnersPathEditor.js' => '919ea2f0', 381 + 'js/application/owners/owners-path-editor.js' => '8d52171f', 382 + 'js/application/passphrase/phame-credential-control.js' => '086abd15', 383 + 'js/application/phame/phame-post-preview.js' => 'd3af750c', 384 + 'js/application/pholio/behavior-pholio-mock-edit.js' => '04686489', 385 + 'js/application/pholio/behavior-pholio-mock-view.js' => '6adee82a', 386 + 'js/application/phortune/behavior-balanced-payment-form.js' => '44c02bc6', 387 + 'js/application/phortune/behavior-stripe-payment-form.js' => '559b3e40', 388 + 'js/application/phortune/behavior-test-payment-form.js' => '1869ab00', 389 + 'js/application/phortune/phortune-credit-card-form.js' => '0b75a315', 390 + 'js/application/policy/behavior-policy-control.js' => '0320cb9d', 391 + 'js/application/policy/behavior-policy-rule-editor.js' => 'e4091501', 392 + 'js/application/ponder/behavior-votebox.js' => '84ffd51f', 393 + 'js/application/projects/behavior-project-create.js' => '24c0ff6f', 394 + 'js/application/releeph/releeph-preview-branch.js' => '08111a2d', 395 + 'js/application/releeph/releeph-request-state-change.js' => '2abe1db1', 396 + 'js/application/releeph/releeph-request-typeahead.js' => 'e68b50cc', 397 + 'js/application/repository/repository-crossreference.js' => '4f706377', 398 + 'js/application/search/behavior-reorder-queries.js' => '10118485', 399 + 'js/application/slowvote/behavior-slowvote-embed.js' => '63beb23d', 400 + 'js/application/transactions/behavior-transaction-comment-form.js' => '39d266e1', 401 + 'js/application/transactions/behavior-transaction-list.js' => 'd71cc7b5', 402 + 'js/application/uiexample/JavelinViewExample.js' => '8b145fdd', 403 + 'js/application/uiexample/ReactorButtonExample.js' => '83935d78', 404 + 'js/application/uiexample/ReactorCheckboxExample.js' => '93337ddb', 405 + 'js/application/uiexample/ReactorFocusExample.js' => '22d99b68', 406 + 'js/application/uiexample/ReactorInputExample.js' => '7805f3f7', 407 + 'js/application/uiexample/ReactorMouseoverExample.js' => 'f721716b', 408 + 'js/application/uiexample/ReactorRadioExample.js' => '6ae4aecd', 409 + 'js/application/uiexample/ReactorSelectExample.js' => 'e26fb4e4', 410 + 'js/application/uiexample/ReactorSendClassExample.js' => '8e3489c9', 411 + 'js/application/uiexample/ReactorSendPropertiesExample.js' => 'cbd2e360', 412 + 'js/application/uiexample/busy-example.js' => 'b74ae6d8', 413 + 'js/application/uiexample/gesture-example.js' => '943efa92', 414 + 'js/application/uiexample/notification-example.js' => 'd9640a92', 415 + 'js/core/Busy.js' => '07e9a86a', 416 + 'js/core/DragAndDropFileUpload.js' => '8ca17f30', 417 + 'js/core/DraggableList.js' => '858e46bd', 418 + 'js/core/DropdownMenu.js' => '2a64a294', 419 + 'js/core/DropdownMenuItem.js' => 'c0b8aa85', 420 + 'js/core/FileUpload.js' => '47d4d075', 421 + 'js/core/Hovercard.js' => 'd29e2d98', 422 + 'js/core/KeyboardShortcut.js' => '3d2bc57c', 423 + 'js/core/KeyboardShortcutManager.js' => '7dcca45b', 424 + 'js/core/MultirowRowManager.js' => '83849e1a', 425 + 'js/core/Notification.js' => '75b2458b', 426 + 'js/core/Prefab.js' => '8925fbf3', 427 + 'js/core/ShapedRequest.js' => '8818c27f', 428 + 'js/core/TextAreaUtils.js' => '8ae90e42', 429 + 'js/core/ToolTip.js' => 'd49555fa', 430 + 'js/core/behavior-active-nav.js' => '27b2f8d5', 431 + 'js/core/behavior-audio-source.js' => 'fda46470', 432 + 'js/core/behavior-autofocus.js' => '31c75f3e', 433 + 'js/core/behavior-crop.js' => 'c740d05a', 434 + 'js/core/behavior-dark-console.js' => '094f2a41', 435 + 'js/core/behavior-device.js' => 'a7a156b0', 436 + 'js/core/behavior-drag-and-drop-textarea.js' => 'c8a0b0d4', 437 + 'js/core/behavior-error-log.js' => 'fc26b35b', 438 + 'js/core/behavior-fancy-datepicker.js' => '30d3e929', 439 + 'js/core/behavior-file-tree.js' => '597a3788', 440 + 'js/core/behavior-form.js' => '1aaa2cbf', 441 + 'js/core/behavior-gesture.js' => '4d66d8b6', 442 + 'js/core/behavior-global-drag-and-drop.js' => 'caea7d09', 443 + 'js/core/behavior-history-install.js' => '5a9aa725', 444 + 'js/core/behavior-hovercard.js' => '220ba30f', 445 + 'js/core/behavior-keyboard-pager.js' => '2d95b9bd', 446 + 'js/core/behavior-keyboard-shortcuts.js' => '8b1783e7', 447 + 'js/core/behavior-konami.js' => 'fffe4790', 448 + 'js/core/behavior-lightbox-attachments.js' => '4a031e0e', 449 + 'js/core/behavior-line-linker.js' => '017744d4', 450 + 'js/core/behavior-more.js' => 'ace0e460', 451 + 'js/core/behavior-object-selector.js' => 'ffce5bd5', 452 + 'js/core/behavior-oncopy.js' => '5f924cc3', 453 + 'js/core/behavior-phabricator-nav.js' => '8360bc8d', 454 + 'js/core/behavior-phabricator-remarkup-assist.js' => '2c7b3a11', 455 + 'js/core/behavior-refresh-csrf.js' => '64b9d719', 456 + 'js/core/behavior-remarkup-preview.js' => 'e6ba655d', 457 + 'js/core/behavior-reveal-content.js' => '3080ca0d', 458 + 'js/core/behavior-search-typeahead.js' => 'e3be7e87', 459 + 'js/core/behavior-select-on-click.js' => '78b2dd04', 460 + 'js/core/behavior-toggle-class.js' => 'f0974d1c', 461 + 'js/core/behavior-tokenizer.js' => '0940eb42', 462 + 'js/core/behavior-tooltip.js' => '8e5f5510', 463 + 'js/core/behavior-watch-anchor.js' => 'cab77a7d', 464 + 'js/core/behavior-workflow.js' => '0375210c', 465 + 'js/core/phtize.js' => '2abf8c21', 466 + 'js/phui/behavior-phui-object-box-tabs.js' => 'f88f719d', 467 + 'maniphest.pkg.css' => '5a1bc853', 468 + 'maniphest.pkg.js' => 'ada0e6c9', 469 + 'swf/aphlict.swf' => '5fe0e9a7', 470 + ), 471 + 'symbols' => 472 + array( 473 + 'aphront-bars' => 'acda2fd6', 474 + 'aphront-calendar-view-css' => '3ceceea9', 475 + 'aphront-contextbar-view-css' => 'ad47400d', 476 + 'aphront-dark-console-css' => '28749b02', 477 + 'aphront-dialog-view-css' => '98c3d15e', 478 + 'aphront-error-view-css' => '6f05bee0', 479 + 'aphront-list-filter-view-css' => 'f0ba297e', 480 + 'aphront-multi-column-view-css' => 'df49b7c8', 481 + 'aphront-notes' => '93ef49a2', 482 + 'aphront-pager-view-css' => '897416ba', 483 + 'aphront-panel-view-css' => '27749ad6', 484 + 'aphront-request-failure-view-css' => 'd86e5c2c', 485 + 'aphront-table-view-css' => '91f450fa', 486 + 'aphront-tokenizer-control-css' => '4e8ad88d', 487 + 'aphront-tooltip-css' => '1deb3222', 488 + 'aphront-two-column-view-css' => '61b2bb6d', 489 + 'aphront-typeahead-control-css' => 'ed7ecea8', 490 + 'auth-css' => '296c8623', 491 + 'config-options-css' => 'f5086659', 492 + 'conpherence-menu-css' => '97fd3db1', 493 + 'conpherence-message-pane-css' => '11b03439', 494 + 'conpherence-notification-css' => '484dfd15', 495 + 'conpherence-update-css' => 'f3dc3947', 496 + 'conpherence-widget-pane-css' => 'd9582841', 497 + 'differential-changeset-view-css' => 'edcc3cc7', 498 + 'differential-core-view-css' => 'f620aec7', 499 + 'differential-inline-comment-editor' => 'b254ca0b', 500 + 'differential-local-commits-view-css' => '21b16022', 501 + 'differential-results-table-css' => 'fd645cc5', 502 + 'differential-revision-add-comment-css' => '0c2e21c9', 503 + 'differential-revision-comment-css' => 'c5477a57', 504 + 'differential-revision-comment-list-css' => 'c54e344f', 505 + 'differential-revision-history-css' => 'edeff62c', 506 + 'differential-revision-list-css' => '94002b39', 507 + 'differential-table-of-contents-css' => 'f5f67eef', 508 + 'diffusion-commit-view-css' => 'e33af64d', 509 + 'diffusion-icons-css' => 'b435eec1', 510 + 'diffusion-source-css' => '71970e41', 511 + 'diviner-shared-css' => '670fd14f', 512 + 'global-drag-and-drop-css' => '0da7b499', 513 + 'herald-css' => 'be21ad75', 514 + 'herald-rule-editor' => '63b35f1a', 515 + 'herald-test-css' => 'ca21b015', 516 + 'inline-comment-summary-css' => 'a4f70e8f', 517 + 'javelin-aphlict' => '46bf10d5', 518 + 'javelin-behavior' => '4f19fed3', 519 + 'javelin-behavior-aphlict-dropdown' => '22c08a5d', 520 + 'javelin-behavior-aphlict-listen' => '30e81aef', 521 + 'javelin-behavior-aphront-basic-tokenizer' => '0940eb42', 522 + 'javelin-behavior-aphront-crop' => 'c740d05a', 523 + 'javelin-behavior-aphront-drag-and-drop-textarea' => 'c8a0b0d4', 524 + 'javelin-behavior-aphront-form-disable-on-submit' => '1aaa2cbf', 525 + 'javelin-behavior-aphront-more' => 'ace0e460', 526 + 'javelin-behavior-audio-source' => 'fda46470', 527 + 'javelin-behavior-audit-preview' => 'cf3d25e2', 528 + 'javelin-behavior-balanced-payment-form' => '44c02bc6', 529 + 'javelin-behavior-config-reorder-fields' => 'fc2404e1', 530 + 'javelin-behavior-conpherence-menu' => '50c80275', 531 + 'javelin-behavior-conpherence-pontificate' => '14a5de99', 532 + 'javelin-behavior-conpherence-widget-pane' => '3b891a3f', 533 + 'javelin-behavior-countdown-timer' => '6aa83f41', 534 + 'javelin-behavior-dark-console' => '094f2a41', 535 + 'javelin-behavior-device' => 'a7a156b0', 536 + 'javelin-behavior-differential-accept-with-errors' => 'b337dced', 537 + 'javelin-behavior-differential-add-reviewers-and-ccs' => 'd5fc3d62', 538 + 'javelin-behavior-differential-comment-jump' => 'f4398d74', 539 + 'javelin-behavior-differential-diff-radios' => '46673a02', 540 + 'javelin-behavior-differential-dropdown-menus' => 'ca72f1bd', 541 + 'javelin-behavior-differential-edit-inline-comments' => '2377cad2', 542 + 'javelin-behavior-differential-feedback-preview' => 'cd019319', 543 + 'javelin-behavior-differential-keyboard-navigation' => '34864fca', 544 + 'javelin-behavior-differential-populate' => 'a4c5a205', 545 + 'javelin-behavior-differential-show-all-comments' => 'd9b70158', 546 + 'javelin-behavior-differential-show-field-details' => 'fba207f5', 547 + 'javelin-behavior-differential-show-more' => '5f6635c2', 548 + 'javelin-behavior-differential-toggle-files' => 'e3e06145', 549 + 'javelin-behavior-differential-user-select' => '189b0831', 550 + 'javelin-behavior-diffusion-commit-branches' => 'a64bd286', 551 + 'javelin-behavior-diffusion-commit-graph' => 'bbfa9478', 552 + 'javelin-behavior-diffusion-jump-to' => '16c08333', 553 + 'javelin-behavior-diffusion-pull-lastmodified' => '4c843fff', 554 + 'javelin-behavior-doorkeeper-tag' => '43f7c01e', 555 + 'javelin-behavior-error-log' => 'fc26b35b', 556 + 'javelin-behavior-fancy-datepicker' => '30d3e929', 557 + 'javelin-behavior-global-drag-and-drop' => 'caea7d09', 558 + 'javelin-behavior-harbormaster-reorder-steps' => 'd9f6df76', 559 + 'javelin-behavior-herald-rule-editor' => '702e9a5d', 560 + 'javelin-behavior-history-install' => '5a9aa725', 561 + 'javelin-behavior-icon-composer' => 'f9e431a3', 562 + 'javelin-behavior-konami' => 'fffe4790', 563 + 'javelin-behavior-launch-icon-composer' => 'cb4d25b3', 564 + 'javelin-behavior-lightbox-attachments' => '4a031e0e', 565 + 'javelin-behavior-line-chart' => 'b65ba944', 566 + 'javelin-behavior-load-blame' => '2d6f6372', 567 + 'javelin-behavior-maniphest-batch-editor' => '5b10f6b4', 568 + 'javelin-behavior-maniphest-batch-selector' => 'dc40954f', 569 + 'javelin-behavior-maniphest-list-editor' => 'a45a129c', 570 + 'javelin-behavior-maniphest-subpriority-editor' => '5df83bf6', 571 + 'javelin-behavior-maniphest-transaction-controls' => '7811fafc', 572 + 'javelin-behavior-maniphest-transaction-expand' => '928b06db', 573 + 'javelin-behavior-maniphest-transaction-preview' => 'f222a093', 574 + 'javelin-behavior-owners-path-editor' => '8d52171f', 575 + 'javelin-behavior-passphrase-credential-control' => '086abd15', 576 + 'javelin-behavior-persona-login' => 'b5578a2a', 577 + 'javelin-behavior-phabricator-active-nav' => '27b2f8d5', 578 + 'javelin-behavior-phabricator-autofocus' => '31c75f3e', 579 + 'javelin-behavior-phabricator-busy-example' => 'b74ae6d8', 580 + 'javelin-behavior-phabricator-file-tree' => '597a3788', 581 + 'javelin-behavior-phabricator-gesture' => '4d66d8b6', 582 + 'javelin-behavior-phabricator-gesture-example' => '943efa92', 583 + 'javelin-behavior-phabricator-hovercards' => '220ba30f', 584 + 'javelin-behavior-phabricator-keyboard-pager' => '2d95b9bd', 585 + 'javelin-behavior-phabricator-keyboard-shortcuts' => '8b1783e7', 586 + 'javelin-behavior-phabricator-line-linker' => '017744d4', 587 + 'javelin-behavior-phabricator-nav' => '8360bc8d', 588 + 'javelin-behavior-phabricator-notification-example' => 'd9640a92', 589 + 'javelin-behavior-phabricator-object-selector' => 'ffce5bd5', 590 + 'javelin-behavior-phabricator-oncopy' => '5f924cc3', 591 + 'javelin-behavior-phabricator-remarkup-assist' => '2c7b3a11', 592 + 'javelin-behavior-phabricator-reveal-content' => '3080ca0d', 593 + 'javelin-behavior-phabricator-search-typeahead' => 'e3be7e87', 594 + 'javelin-behavior-phabricator-tooltips' => '8e5f5510', 595 + 'javelin-behavior-phabricator-transaction-comment-form' => '39d266e1', 596 + 'javelin-behavior-phabricator-transaction-list' => 'd71cc7b5', 597 + 'javelin-behavior-phabricator-watch-anchor' => 'cab77a7d', 598 + 'javelin-behavior-phame-post-preview' => 'd3af750c', 599 + 'javelin-behavior-pholio-mock-edit' => '04686489', 600 + 'javelin-behavior-pholio-mock-view' => '6adee82a', 601 + 'javelin-behavior-phui-object-box-tabs' => 'f88f719d', 602 + 'javelin-behavior-policy-control' => '0320cb9d', 603 + 'javelin-behavior-policy-rule-editor' => 'e4091501', 604 + 'javelin-behavior-ponder-votebox' => '84ffd51f', 605 + 'javelin-behavior-project-create' => '24c0ff6f', 606 + 'javelin-behavior-refresh-csrf' => '64b9d719', 607 + 'javelin-behavior-releeph-preview-branch' => '08111a2d', 608 + 'javelin-behavior-releeph-request-state-change' => '2abe1db1', 609 + 'javelin-behavior-releeph-request-typeahead' => 'e68b50cc', 610 + 'javelin-behavior-remarkup-preview' => 'e6ba655d', 611 + 'javelin-behavior-repository-crossreference' => '4f706377', 612 + 'javelin-behavior-search-reorder-queries' => '10118485', 613 + 'javelin-behavior-select-on-click' => '78b2dd04', 614 + 'javelin-behavior-slowvote-embed' => '63beb23d', 615 + 'javelin-behavior-stripe-payment-form' => '559b3e40', 616 + 'javelin-behavior-test-payment-form' => '1869ab00', 617 + 'javelin-behavior-toggle-class' => 'f0974d1c', 618 + 'javelin-behavior-view-placeholder' => '0eeaa415', 619 + 'javelin-behavior-workflow' => '0375210c', 620 + 'javelin-color' => 'b18c5b83', 621 + 'javelin-cookie' => 'db7399f3', 622 + 'javelin-dom' => '39e39af9', 623 + 'javelin-dynval' => '785dc91b', 624 + 'javelin-event' => '27cba4ec', 625 + 'javelin-fx' => '098d7832', 626 + 'javelin-history' => 'bb73a29b', 627 + 'javelin-install' => '6af2a772', 628 + 'javelin-json' => '033e9044', 629 + 'javelin-magical-init' => '574d5362', 630 + 'javelin-mask' => 'f5335df7', 631 + 'javelin-reactor' => '41503c13', 632 + 'javelin-reactor-dom' => '1f699936', 633 + 'javelin-reactor-node-calmer' => '6fc93a01', 634 + 'javelin-reactornode' => 'b3a4e462', 635 + 'javelin-request' => 'c7de3be9', 636 + 'javelin-resource' => 'c2c3c690', 637 + 'javelin-stratcom' => 'bf2205e5', 638 + 'javelin-tokenizer' => '0aa2f7b2', 639 + 'javelin-typeahead' => 'cd135e84', 640 + 'javelin-typeahead-composite-source' => '5db87865', 641 + 'javelin-typeahead-normalizer' => 'abc893b6', 642 + 'javelin-typeahead-ondemand-source' => 'd8811f6a', 643 + 'javelin-typeahead-preloaded-source' => 'ef853cf5', 644 + 'javelin-typeahead-source' => '7a40e663', 645 + 'javelin-typeahead-static-source' => 'b6a57ae3', 646 + 'javelin-uri' => '4ac98c65', 647 + 'javelin-util' => 'e05b9f1e', 648 + 'javelin-vector' => '523bf7c2', 649 + 'javelin-view' => '8305c92a', 650 + 'javelin-view-html' => '5c845395', 651 + 'javelin-view-interpreter' => '97a4ccf9', 652 + 'javelin-view-renderer' => 'e12e2b17', 653 + 'javelin-view-visitor' => 'd2d41c98', 654 + 'javelin-workflow' => 'c7187be4', 655 + 'lightbox-attachment-css' => '97d7f346', 656 + 'maniphest-batch-editor' => '837c81c1', 657 + 'maniphest-report-css' => '1825f24c', 658 + 'maniphest-task-edit-css' => 'a0e7a334', 659 + 'maniphest-task-summary-css' => '92d4cd50', 660 + 'multirow-row-manager' => '83849e1a', 661 + 'owners-path-editor' => '919ea2f0', 662 + 'owners-path-editor-css' => '8b2bce66', 663 + 'paste-css' => '4761ec9d', 664 + 'path-typeahead' => 'a232711e', 665 + 'people-profile-css' => '67ba1f5d', 666 + 'phabricator-action-header-view-css' => '0699fb9e', 667 + 'phabricator-action-list-view-css' => '75b203f8', 668 + 'phabricator-application-launch-view-css' => 'b935d893', 669 + 'phabricator-busy' => '07e9a86a', 670 + 'phabricator-chatlog-css' => '2383fc1c', 671 + 'phabricator-content-source-view-css' => '34b9a33c', 672 + 'phabricator-core-css' => '8c1854b1', 673 + 'phabricator-countdown-css' => 'ba18d346', 674 + 'phabricator-crumbs-view-css' => 'ad8e391e', 675 + 'phabricator-drag-and-drop-file-upload' => '8ca17f30', 676 + 'phabricator-draggable-list' => '858e46bd', 677 + 'phabricator-dropdown-menu' => '2a64a294', 678 + 'phabricator-fatal-config-template-css' => '5682ed9d', 679 + 'phabricator-feed-css' => 'e30fc24d', 680 + 'phabricator-file-upload' => '47d4d075', 681 + 'phabricator-filetree-view-css' => '67c981b5', 682 + 'phabricator-flag-css' => 'eb699cf3', 683 + 'phabricator-hovercard' => 'd29e2d98', 684 + 'phabricator-hovercard-view-css' => 'a5690b02', 685 + 'phabricator-jump-nav' => 'd0b69750', 686 + 'phabricator-keyboard-shortcut' => '3d2bc57c', 687 + 'phabricator-keyboard-shortcut-manager' => '7dcca45b', 688 + 'phabricator-main-menu-view' => 'b36ee412', 689 + 'phabricator-menu-item' => 'c0b8aa85', 690 + 'phabricator-nav-view-css' => 'd44bb749', 691 + 'phabricator-notification' => '75b2458b', 692 + 'phabricator-notification-css' => '2130761d', 693 + 'phabricator-notification-menu-css' => 'e4c244ac', 694 + 'phabricator-object-list-view-css' => '1f269d69', 695 + 'phabricator-object-selector-css' => '244c904f', 696 + 'phabricator-phtize' => '2abf8c21', 697 + 'phabricator-prefab' => '8925fbf3', 698 + 'phabricator-profile-css' => '3a1ce3a0', 699 + 'phabricator-project-tag-css' => '866ceb4c', 700 + 'phabricator-remarkup-css' => '5e94c989', 701 + 'phabricator-search-results-css' => '194d433f', 702 + 'phabricator-settings-css' => 'aa4a7441', 703 + 'phabricator-shaped-request' => '8818c27f', 704 + 'phabricator-side-menu-view-css' => 'bf4aaf7c', 705 + 'phabricator-slowvote-css' => '414e52ba', 706 + 'phabricator-source-code-view-css' => '26126d8f', 707 + 'phabricator-standard-page-view' => '26c5ba9c', 708 + 'phabricator-tag-view-css' => '9f5cbd35', 709 + 'phabricator-textareautils' => '8ae90e42', 710 + 'phabricator-timeline-view-css' => '05b2a50b', 711 + 'phabricator-tooltip' => 'd49555fa', 712 + 'phabricator-transaction-view-css' => 'b47a60ca', 713 + 'phabricator-ui-example-css' => '33ec38fc', 714 + 'phabricator-uiexample-javelin-view' => '8b145fdd', 715 + 'phabricator-uiexample-reactor-button' => '83935d78', 716 + 'phabricator-uiexample-reactor-checkbox' => '93337ddb', 717 + 'phabricator-uiexample-reactor-focus' => '22d99b68', 718 + 'phabricator-uiexample-reactor-input' => '7805f3f7', 719 + 'phabricator-uiexample-reactor-mouseover' => 'f721716b', 720 + 'phabricator-uiexample-reactor-radio' => '6ae4aecd', 721 + 'phabricator-uiexample-reactor-select' => 'e26fb4e4', 722 + 'phabricator-uiexample-reactor-sendclass' => '8e3489c9', 723 + 'phabricator-uiexample-reactor-sendproperties' => 'cbd2e360', 724 + 'phabricator-zindex-css' => '65f3d9e7', 725 + 'phame-css' => '7c9bc755', 726 + 'pholio-css' => '72ff2697', 727 + 'pholio-edit-css' => '9faf415a', 728 + 'pholio-inline-comments-css' => '2d6a0aae', 729 + 'phortune-credit-card-form' => '0b75a315', 730 + 'phortune-credit-card-form-css' => 'ea1ca7fc', 731 + 'phrequent-css' => 'cdfd4383', 732 + 'phriction-document-css' => '7b4b445c', 733 + 'phui-box-css' => '59f7cf48', 734 + 'phui-button-css' => 'f3ff7064', 735 + 'phui-document-view-css' => 'e039a2c6', 736 + 'phui-feed-story-css' => '3ad8335d', 737 + 'phui-form-css' => '371b80cf', 738 + 'phui-form-view-css' => 'd9548fb5', 739 + 'phui-header-view-css' => '6f88e46a', 740 + 'phui-icon-view-css' => '62829e9e', 741 + 'phui-info-panel-css' => '04242a5c', 742 + 'phui-list-view-css' => 'ac42d16a', 743 + 'phui-object-box-css' => '99263256', 744 + 'phui-object-item-list-view-css' => '236014b6', 745 + 'phui-pinboard-view-css' => '007436fb', 746 + 'phui-property-list-view-css' => '405c1b0e', 747 + 'phui-remarkup-preview-css' => '9a9bf0a0', 748 + 'phui-spacing-css' => '1751a13d', 749 + 'phui-status-list-view-css' => 'dbb45c8c', 750 + 'phui-text-css' => '91f67c07', 751 + 'phui-workboard-view-css' => '4f0c70d4', 752 + 'phui-workpanel-view-css' => '6ef48cca', 753 + 'policy-css' => '87ec582e', 754 + 'policy-edit-css' => '1086a6e2', 755 + 'ponder-comment-table-css' => 'f4f6861f', 756 + 'ponder-feed-view-css' => 'ed499cdd', 757 + 'ponder-post-css' => '604dd0db', 758 + 'ponder-vote-css' => 'f7ae64cf', 759 + 'raphael-core' => 'abf41433', 760 + 'raphael-g' => '12b92166', 761 + 'raphael-g-line' => '58bf6f73', 762 + 'releeph-branch' => '2e8bac9d', 763 + 'releeph-colors' => 'f3908fac', 764 + 'releeph-core' => '80423544', 765 + 'releeph-intents' => 'bbcd9a53', 766 + 'releeph-preview-branch' => '98a7da5a', 767 + 'releeph-project' => '6da034b7', 768 + 'releeph-request-differential-create-dialog' => '64fbc22c', 769 + 'releeph-request-typeahead-css' => '25e57213', 770 + 'releeph-status' => '1a50107e', 771 + 'setup-issue-css' => '544e5ba9', 772 + 'sprite-actions-css' => 'e46b85e6', 773 + 'sprite-apps-css' => '70a9373f', 774 + 'sprite-apps-large-css' => '2b3eeb3d', 775 + 'sprite-apps-xlarge-css' => '87c6a366', 776 + 'sprite-conpherence-css' => '0064c183', 777 + 'sprite-docs-css' => '6747f312', 778 + 'sprite-gradient-css' => '74a69e3d', 779 + 'sprite-icons-css' => '023b4a1b', 780 + 'sprite-login-css' => '30e23cfa', 781 + 'sprite-main-header-css' => 'bf362fd7', 782 + 'sprite-menu-css' => '776a31fa', 783 + 'sprite-minicons-css' => '06aaabfb', 784 + 'sprite-payments-css' => 'd0a866f6', 785 + 'sprite-projects-css' => '8255040b', 786 + 'sprite-status-css' => '8b58c9bc', 787 + 'sprite-tokens-css' => '3a7a56a3', 788 + 'syntax-highlighting-css' => 'bad712fc', 789 + 'tokens-css' => '27e8d165', 790 + ), 791 + 'requires' => 792 + array( 793 + '017744d4' => 794 + array( 795 + 0 => 'javelin-behavior', 796 + 1 => 'javelin-stratcom', 797 + 2 => 'javelin-dom', 798 + 3 => 'javelin-history', 799 + ), 800 + '0320cb9d' => 801 + array( 802 + 0 => 'javelin-behavior', 803 + 1 => 'javelin-dom', 804 + 2 => 'javelin-util', 805 + 3 => 'phabricator-dropdown-menu', 806 + 4 => 'phabricator-menu-item', 807 + 5 => 'javelin-workflow', 808 + ), 809 + '04686489' => 810 + array( 811 + 0 => 'javelin-behavior', 812 + 1 => 'javelin-stratcom', 813 + 2 => 'javelin-dom', 814 + 3 => 'javelin-workflow', 815 + 4 => 'phabricator-phtize', 816 + 5 => 'phabricator-drag-and-drop-file-upload', 817 + 6 => 'phabricator-draggable-list', 818 + ), 819 + '033e9044' => 820 + array( 821 + 0 => 'javelin-install', 822 + ), 823 + '0375210c' => 824 + array( 825 + 0 => 'javelin-behavior', 826 + 1 => 'javelin-stratcom', 827 + 2 => 'javelin-workflow', 828 + 3 => 'javelin-dom', 829 + ), 830 + '07e9a86a' => 831 + array( 832 + 0 => 'javelin-install', 833 + 1 => 'javelin-dom', 834 + 2 => 'javelin-fx', 835 + ), 836 + '08111a2d' => 837 + array( 838 + 0 => 'javelin-behavior', 839 + 1 => 'javelin-dom', 840 + 2 => 'javelin-uri', 841 + 3 => 'javelin-request', 842 + ), 843 + '086abd15' => 844 + array( 845 + 0 => 'javelin-behavior', 846 + 1 => 'javelin-dom', 847 + 2 => 'javelin-stratcom', 848 + 3 => 'javelin-workflow', 849 + 4 => 'javelin-util', 850 + 5 => 'javelin-uri', 851 + ), 852 + '0940eb42' => 853 + array( 854 + 0 => 'javelin-behavior', 855 + 1 => 'phabricator-prefab', 856 + ), 857 + '094f2a41' => 858 + array( 859 + 0 => 'javelin-behavior', 860 + 1 => 'javelin-stratcom', 861 + 2 => 'javelin-util', 862 + 3 => 'javelin-dom', 863 + 4 => 'javelin-request', 864 + 5 => 'phabricator-keyboard-shortcut', 865 + ), 866 + '098d7832' => 867 + array( 868 + 0 => 'javelin-color', 869 + 1 => 'javelin-install', 870 + 2 => 'javelin-util', 871 + ), 872 + '0aa2f7b2' => 873 + array( 874 + 0 => 'javelin-dom', 875 + 1 => 'javelin-util', 876 + 2 => 'javelin-stratcom', 877 + 3 => 'javelin-install', 878 + ), 879 + '0b75a315' => 880 + array( 881 + 0 => 'javelin-install', 882 + 1 => 'javelin-dom', 883 + 2 => 'javelin-json', 884 + 3 => 'javelin-workflow', 885 + 4 => 'javelin-util', 886 + ), 887 + '0eeaa415' => 888 + array( 889 + 0 => 'javelin-behavior', 890 + 1 => 'javelin-dom', 891 + 2 => 'javelin-view-renderer', 892 + 3 => 'javelin-install', 893 + ), 894 + '14a5de99' => 895 + array( 896 + 0 => 'javelin-behavior', 897 + 1 => 'javelin-dom', 898 + 2 => 'javelin-util', 899 + 3 => 'javelin-workflow', 900 + 4 => 'javelin-stratcom', 901 + ), 902 + '16c08333' => 903 + array( 904 + 0 => 'javelin-behavior', 905 + 1 => 'javelin-vector', 906 + 2 => 'javelin-dom', 907 + ), 908 + '1869ab00' => 909 + array( 910 + 0 => 'javelin-behavior', 911 + 1 => 'javelin-dom', 912 + 2 => 'phortune-credit-card-form', 913 + ), 914 + '189b0831' => 915 + array( 916 + 0 => 'javelin-behavior', 917 + 1 => 'javelin-dom', 918 + 2 => 'javelin-stratcom', 919 + ), 920 + '1aaa2cbf' => 921 + array( 922 + 0 => 'javelin-behavior', 923 + 1 => 'javelin-stratcom', 924 + 2 => 'javelin-dom', 925 + ), 926 + '1f699936' => 927 + array( 928 + 0 => 'javelin-dom', 929 + 1 => 'javelin-dynval', 930 + 2 => 'javelin-reactor', 931 + 3 => 'javelin-reactornode', 932 + 4 => 'javelin-install', 933 + 5 => 'javelin-util', 934 + ), 935 + '220ba30f' => 936 + array( 937 + 0 => 'javelin-behavior', 938 + 1 => 'javelin-behavior-device', 939 + 2 => 'javelin-stratcom', 940 + 3 => 'javelin-vector', 941 + 4 => 'phabricator-hovercard', 942 + ), 943 + '22c08a5d' => 944 + array( 945 + 0 => 'javelin-behavior', 946 + 1 => 'javelin-request', 947 + 2 => 'javelin-stratcom', 948 + 3 => 'javelin-vector', 949 + 4 => 'javelin-dom', 950 + 5 => 'javelin-uri', 951 + ), 952 + '22d99b68' => 953 + array( 954 + 0 => 'javelin-install', 955 + 1 => 'javelin-dom', 956 + 2 => 'javelin-reactor-dom', 957 + ), 958 + '2377cad2' => 959 + array( 960 + 0 => 'javelin-behavior', 961 + 1 => 'javelin-stratcom', 962 + 2 => 'javelin-dom', 963 + 3 => 'javelin-util', 964 + 4 => 'javelin-vector', 965 + 5 => 'differential-inline-comment-editor', 966 + ), 967 + '244c904f' => 968 + array( 969 + 0 => 'aphront-dialog-view-css', 970 + ), 971 + '24c0ff6f' => 972 + array( 973 + 0 => 'javelin-behavior', 974 + 1 => 'javelin-dom', 975 + 2 => 'javelin-stratcom', 976 + 3 => 'javelin-workflow', 977 + ), 978 + '27b2f8d5' => 979 + array( 980 + 0 => 'javelin-behavior', 981 + 1 => 'javelin-stratcom', 982 + 2 => 'javelin-vector', 983 + 3 => 'javelin-dom', 984 + 4 => 'javelin-uri', 985 + ), 986 + '27cba4ec' => 987 + array( 988 + 0 => 'javelin-install', 989 + ), 990 + '2a64a294' => 991 + array( 992 + 0 => 'javelin-install', 993 + 1 => 'javelin-util', 994 + 2 => 'javelin-dom', 995 + 3 => 'javelin-vector', 996 + 4 => 'javelin-stratcom', 997 + 5 => 'phabricator-menu-item', 998 + ), 999 + '2abe1db1' => 1000 + array( 1001 + 0 => 'javelin-behavior', 1002 + 1 => 'javelin-dom', 1003 + 2 => 'javelin-stratcom', 1004 + 3 => 'javelin-request', 1005 + 4 => 'phabricator-keyboard-shortcut', 1006 + 5 => 'phabricator-notification', 1007 + ), 1008 + '2abf8c21' => 1009 + array( 1010 + 0 => 'javelin-util', 1011 + ), 1012 + '2c7b3a11' => 1013 + array( 1014 + 0 => 'javelin-behavior', 1015 + 1 => 'javelin-stratcom', 1016 + 2 => 'javelin-dom', 1017 + 3 => 'phabricator-phtize', 1018 + 4 => 'phabricator-textareautils', 1019 + 5 => 'javelin-workflow', 1020 + 6 => 'javelin-vector', 1021 + ), 1022 + '2d6f6372' => 1023 + array( 1024 + 0 => 'javelin-behavior', 1025 + 1 => 'javelin-dom', 1026 + 2 => 'javelin-request', 1027 + ), 1028 + '2d95b9bd' => 1029 + array( 1030 + 0 => 'javelin-behavior', 1031 + 1 => 'javelin-uri', 1032 + 2 => 'phabricator-keyboard-shortcut', 1033 + ), 1034 + '3080ca0d' => 1035 + array( 1036 + 0 => 'javelin-behavior', 1037 + 1 => 'javelin-stratcom', 1038 + 2 => 'javelin-dom', 1039 + ), 1040 + '30d3e929' => 1041 + array( 1042 + 0 => 'javelin-behavior', 1043 + 1 => 'javelin-util', 1044 + 2 => 'javelin-dom', 1045 + 3 => 'javelin-stratcom', 1046 + 4 => 'javelin-vector', 1047 + ), 1048 + '30e81aef' => 1049 + array( 1050 + 0 => 'javelin-behavior', 1051 + 1 => 'javelin-aphlict', 1052 + 2 => 'javelin-stratcom', 1053 + 3 => 'javelin-request', 1054 + 4 => 'javelin-uri', 1055 + 5 => 'javelin-dom', 1056 + 6 => 'javelin-json', 1057 + 7 => 'phabricator-notification', 1058 + ), 1059 + '31c75f3e' => 1060 + array( 1061 + 0 => 'javelin-behavior', 1062 + 1 => 'javelin-dom', 1063 + ), 1064 + '34864fca' => 1065 + array( 1066 + 0 => 'javelin-behavior', 1067 + 1 => 'javelin-dom', 1068 + 2 => 'javelin-stratcom', 1069 + 3 => 'phabricator-keyboard-shortcut', 1070 + ), 1071 + '39d266e1' => 1072 + array( 1073 + 0 => 'javelin-behavior', 1074 + 1 => 'javelin-dom', 1075 + 2 => 'javelin-util', 1076 + 3 => 'javelin-fx', 1077 + 4 => 'javelin-request', 1078 + 5 => 'phabricator-shaped-request', 1079 + ), 1080 + '39e39af9' => 1081 + array( 1082 + 0 => 'javelin-magical-init', 1083 + 1 => 'javelin-install', 1084 + 2 => 'javelin-util', 1085 + 3 => 'javelin-vector', 1086 + 4 => 'javelin-stratcom', 1087 + ), 1088 + '3b891a3f' => 1089 + array( 1090 + 0 => 'javelin-behavior', 1091 + 1 => 'javelin-dom', 1092 + 2 => 'javelin-stratcom', 1093 + 3 => 'javelin-workflow', 1094 + 4 => 'javelin-util', 1095 + 5 => 'phabricator-notification', 1096 + 6 => 'javelin-behavior-device', 1097 + 7 => 'phabricator-dropdown-menu', 1098 + 8 => 'phabricator-menu-item', 1099 + ), 1100 + '3d2bc57c' => 1101 + array( 1102 + 0 => 'javelin-install', 1103 + 1 => 'javelin-util', 1104 + 2 => 'phabricator-keyboard-shortcut-manager', 1105 + ), 1106 + '41503c13' => 1107 + array( 1108 + 0 => 'javelin-install', 1109 + 1 => 'javelin-util', 1110 + ), 1111 + '43f7c01e' => 1112 + array( 1113 + 0 => 'javelin-behavior', 1114 + 1 => 'javelin-dom', 1115 + 2 => 'javelin-json', 1116 + 3 => 'javelin-workflow', 1117 + 4 => 'javelin-magical-init', 1118 + ), 1119 + '44c02bc6' => 1120 + array( 1121 + 0 => 'javelin-behavior', 1122 + 1 => 'javelin-dom', 1123 + 2 => 'phortune-credit-card-form', 1124 + ), 1125 + '46673a02' => 1126 + array( 1127 + 0 => 'javelin-behavior', 1128 + 1 => 'javelin-stratcom', 1129 + 2 => 'javelin-dom', 1130 + ), 1131 + '46bf10d5' => 1132 + array( 1133 + 0 => 'javelin-install', 1134 + 1 => 'javelin-util', 1135 + ), 1136 + '47d4d075' => 1137 + array( 1138 + 0 => 'javelin-install', 1139 + 1 => 'javelin-dom', 1140 + 2 => 'phabricator-notification', 1141 + ), 1142 + '4a031e0e' => 1143 + array( 1144 + 0 => 'javelin-behavior', 1145 + 1 => 'javelin-stratcom', 1146 + 2 => 'javelin-dom', 1147 + 3 => 'javelin-mask', 1148 + 4 => 'javelin-util', 1149 + 5 => 'phabricator-busy', 1150 + ), 1151 + '4ac98c65' => 1152 + array( 1153 + 0 => 'javelin-install', 1154 + 1 => 'javelin-util', 1155 + 2 => 'javelin-stratcom', 1156 + ), 1157 + '4c843fff' => 1158 + array( 1159 + 0 => 'javelin-behavior', 1160 + 1 => 'javelin-dom', 1161 + 2 => 'javelin-util', 1162 + 3 => 'javelin-request', 1163 + ), 1164 + '4d66d8b6' => 1165 + array( 1166 + 0 => 'javelin-behavior', 1167 + 1 => 'javelin-behavior-device', 1168 + 2 => 'javelin-stratcom', 1169 + 3 => 'javelin-vector', 1170 + 4 => 'javelin-dom', 1171 + 5 => 'javelin-magical-init', 1172 + ), 1173 + '4e8ad88d' => 1174 + array( 1175 + 0 => 'aphront-typeahead-control-css', 1176 + ), 1177 + '4f19fed3' => 1178 + array( 1179 + 0 => 'javelin-magical-init', 1180 + 1 => 'javelin-util', 1181 + ), 1182 + '4f706377' => 1183 + array( 1184 + 0 => 'javelin-behavior', 1185 + 1 => 'javelin-dom', 1186 + 2 => 'javelin-stratcom', 1187 + 3 => 'javelin-uri', 1188 + ), 1189 + '50c80275' => 1190 + array( 1191 + 0 => 'javelin-behavior', 1192 + 1 => 'javelin-dom', 1193 + 2 => 'javelin-util', 1194 + 3 => 'javelin-stratcom', 1195 + 4 => 'javelin-workflow', 1196 + 5 => 'javelin-behavior-device', 1197 + 6 => 'javelin-history', 1198 + 7 => 'javelin-vector', 1199 + ), 1200 + '523bf7c2' => 1201 + array( 1202 + 0 => 'javelin-install', 1203 + 1 => 'javelin-event', 1204 + ), 1205 + '559b3e40' => 1206 + array( 1207 + 0 => 'javelin-behavior', 1208 + 1 => 'javelin-dom', 1209 + 2 => 'phortune-credit-card-form', 1210 + ), 1211 + '597a3788' => 1212 + array( 1213 + 0 => 'javelin-behavior', 1214 + 1 => 'phabricator-keyboard-shortcut', 1215 + 2 => 'javelin-stratcom', 1216 + ), 1217 + '5a9aa725' => 1218 + array( 1219 + 0 => 'javelin-behavior', 1220 + 1 => 'javelin-history', 1221 + ), 1222 + '5b10f6b4' => 1223 + array( 1224 + 0 => 'javelin-behavior', 1225 + 1 => 'javelin-dom', 1226 + 2 => 'javelin-util', 1227 + 3 => 'phabricator-prefab', 1228 + 4 => 'multirow-row-manager', 1229 + 5 => 'javelin-json', 1230 + ), 1231 + '5c845395' => 1232 + array( 1233 + 0 => 'javelin-install', 1234 + 1 => 'javelin-dom', 1235 + 2 => 'javelin-view-visitor', 1236 + 3 => 'javelin-util', 1237 + ), 1238 + '5db87865' => 1239 + array( 1240 + 0 => 'javelin-install', 1241 + 1 => 'javelin-typeahead-source', 1242 + 2 => 'javelin-util', 1243 + ), 1244 + '5df83bf6' => 1245 + array( 1246 + 0 => 'javelin-behavior', 1247 + 1 => 'javelin-dom', 1248 + 2 => 'javelin-stratcom', 1249 + 3 => 'javelin-workflow', 1250 + 4 => 'phabricator-draggable-list', 1251 + ), 1252 + '5f6635c2' => 1253 + array( 1254 + 0 => 'javelin-behavior', 1255 + 1 => 'javelin-dom', 1256 + 2 => 'javelin-workflow', 1257 + 3 => 'javelin-util', 1258 + 4 => 'javelin-stratcom', 1259 + ), 1260 + '5f924cc3' => 1261 + array( 1262 + 0 => 'javelin-behavior', 1263 + 1 => 'javelin-dom', 1264 + ), 1265 + '63b35f1a' => 1266 + array( 1267 + 0 => 'multirow-row-manager', 1268 + 1 => 'javelin-install', 1269 + 2 => 'javelin-typeahead', 1270 + 3 => 'javelin-util', 1271 + 4 => 'javelin-dom', 1272 + 5 => 'javelin-tokenizer', 1273 + 6 => 'javelin-typeahead-preloaded-source', 1274 + 7 => 'javelin-stratcom', 1275 + 8 => 'javelin-json', 1276 + 9 => 'phabricator-prefab', 1277 + ), 1278 + '63beb23d' => 1279 + array( 1280 + 0 => 'javelin-behavior', 1281 + 1 => 'javelin-request', 1282 + 2 => 'javelin-stratcom', 1283 + 3 => 'javelin-dom', 1284 + ), 1285 + '64b9d719' => 1286 + array( 1287 + 0 => 'javelin-request', 1288 + 1 => 'javelin-behavior', 1289 + 2 => 'javelin-dom', 1290 + 3 => 'phabricator-busy', 1291 + ), 1292 + '6aa83f41' => 1293 + array( 1294 + 0 => 'javelin-behavior', 1295 + 1 => 'javelin-dom', 1296 + ), 1297 + '6adee82a' => 1298 + array( 1299 + 0 => 'javelin-behavior', 1300 + 1 => 'javelin-util', 1301 + 2 => 'javelin-stratcom', 1302 + 3 => 'javelin-dom', 1303 + 4 => 'javelin-vector', 1304 + 5 => 'javelin-magical-init', 1305 + 6 => 'javelin-request', 1306 + 7 => 'javelin-history', 1307 + 8 => 'javelin-workflow', 1308 + 9 => 'javelin-mask', 1309 + 10 => 'javelin-behavior-device', 1310 + 11 => 'phabricator-keyboard-shortcut', 1311 + ), 1312 + '6ae4aecd' => 1313 + array( 1314 + 0 => 'javelin-install', 1315 + 1 => 'javelin-dom', 1316 + 2 => 'javelin-reactor-dom', 1317 + ), 1318 + '6af2a772' => 1319 + array( 1320 + 0 => 'javelin-util', 1321 + 1 => 'javelin-magical-init', 1322 + ), 1323 + '6fc93a01' => 1324 + array( 1325 + 0 => 'javelin-install', 1326 + 1 => 'javelin-reactor', 1327 + 2 => 'javelin-util', 1328 + ), 1329 + '702e9a5d' => 1330 + array( 1331 + 0 => 'herald-rule-editor', 1332 + 1 => 'javelin-behavior', 1333 + ), 1334 + '75b2458b' => 1335 + array( 1336 + 0 => 'javelin-install', 1337 + 1 => 'javelin-dom', 1338 + 2 => 'javelin-stratcom', 1339 + 3 => 'javelin-util', 1340 + 4 => 'phabricator-notification-css', 1341 + ), 1342 + '7805f3f7' => 1343 + array( 1344 + 0 => 'javelin-install', 1345 + 1 => 'javelin-reactor-dom', 1346 + 2 => 'javelin-view-html', 1347 + 3 => 'javelin-view-interpreter', 1348 + 4 => 'javelin-view-renderer', 1349 + ), 1350 + '7811fafc' => 1351 + array( 1352 + 0 => 'javelin-behavior', 1353 + 1 => 'javelin-dom', 1354 + 2 => 'phabricator-prefab', 1355 + ), 1356 + '785dc91b' => 1357 + array( 1358 + 0 => 'javelin-install', 1359 + 1 => 'javelin-reactornode', 1360 + 2 => 'javelin-util', 1361 + 3 => 'javelin-reactor', 1362 + ), 1363 + '78b2dd04' => 1364 + array( 1365 + 0 => 'javelin-behavior', 1366 + 1 => 'javelin-stratcom', 1367 + 2 => 'javelin-dom', 1368 + ), 1369 + '7a40e663' => 1370 + array( 1371 + 0 => 'javelin-install', 1372 + 1 => 'javelin-util', 1373 + 2 => 'javelin-dom', 1374 + 3 => 'javelin-typeahead-normalizer', 1375 + ), 1376 + '7dcca45b' => 1377 + array( 1378 + 0 => 'javelin-install', 1379 + 1 => 'javelin-util', 1380 + 2 => 'javelin-stratcom', 1381 + 3 => 'javelin-dom', 1382 + 4 => 'javelin-vector', 1383 + ), 1384 + '8305c92a' => 1385 + array( 1386 + 0 => 'javelin-install', 1387 + 1 => 'javelin-util', 1388 + ), 1389 + '8360bc8d' => 1390 + array( 1391 + 0 => 'javelin-behavior', 1392 + 1 => 'javelin-behavior-device', 1393 + 2 => 'javelin-stratcom', 1394 + 3 => 'javelin-dom', 1395 + 4 => 'javelin-magical-init', 1396 + 5 => 'javelin-vector', 1397 + 6 => 'javelin-request', 1398 + 7 => 'javelin-util', 1399 + ), 1400 + '83849e1a' => 1401 + array( 1402 + 0 => 'javelin-install', 1403 + 1 => 'javelin-stratcom', 1404 + 2 => 'javelin-dom', 1405 + 3 => 'javelin-util', 1406 + ), 1407 + '83935d78' => 1408 + array( 1409 + 0 => 'javelin-install', 1410 + 1 => 'javelin-dom', 1411 + 2 => 'javelin-util', 1412 + 3 => 'javelin-dynval', 1413 + 4 => 'javelin-reactor-dom', 1414 + ), 1415 + '84ffd51f' => 1416 + array( 1417 + 0 => 'javelin-behavior', 1418 + 1 => 'javelin-dom', 1419 + 2 => 'javelin-util', 1420 + 3 => 'javelin-stratcom', 1421 + 4 => 'javelin-request', 1422 + ), 1423 + '858e46bd' => 1424 + array( 1425 + 0 => 'javelin-install', 1426 + 1 => 'javelin-dom', 1427 + 2 => 'javelin-stratcom', 1428 + 3 => 'javelin-util', 1429 + 4 => 'javelin-vector', 1430 + 5 => 'javelin-magical-init', 1431 + ), 1432 + '8818c27f' => 1433 + array( 1434 + 0 => 'javelin-install', 1435 + 1 => 'javelin-util', 1436 + 2 => 'javelin-request', 1437 + ), 1438 + '8925fbf3' => 1439 + array( 1440 + 0 => 'javelin-install', 1441 + 1 => 'javelin-util', 1442 + 2 => 'javelin-dom', 1443 + 3 => 'javelin-typeahead', 1444 + 4 => 'javelin-tokenizer', 1445 + 5 => 'javelin-typeahead-preloaded-source', 1446 + 6 => 'javelin-typeahead-ondemand-source', 1447 + 7 => 'javelin-dom', 1448 + 8 => 'javelin-stratcom', 1449 + 9 => 'javelin-util', 1450 + ), 1451 + '8ae90e42' => 1452 + array( 1453 + 0 => 'javelin-install', 1454 + ), 1455 + '8b145fdd' => 1456 + array( 1457 + 0 => 'javelin-install', 1458 + 1 => 'javelin-dom', 1459 + 2 => 'javelin-view', 1460 + ), 1461 + '8b1783e7' => 1462 + array( 1463 + 0 => 'javelin-behavior', 1464 + 1 => 'javelin-workflow', 1465 + 2 => 'javelin-json', 1466 + 3 => 'javelin-dom', 1467 + 4 => 'phabricator-keyboard-shortcut', 1468 + ), 1469 + '8ca17f30' => 1470 + array( 1471 + 0 => 'javelin-install', 1472 + 1 => 'javelin-util', 1473 + 2 => 'javelin-request', 1474 + 3 => 'javelin-dom', 1475 + 4 => 'javelin-uri', 1476 + 5 => 'phabricator-file-upload', 1477 + ), 1478 + '8d52171f' => 1479 + array( 1480 + 0 => 'owners-path-editor', 1481 + 1 => 'javelin-behavior', 1482 + ), 1483 + '8e3489c9' => 1484 + array( 1485 + 0 => 'javelin-install', 1486 + 1 => 'javelin-dom', 1487 + 2 => 'javelin-reactor-dom', 1488 + ), 1489 + '8e5f5510' => 1490 + array( 1491 + 0 => 'javelin-behavior', 1492 + 1 => 'javelin-behavior-device', 1493 + 2 => 'javelin-stratcom', 1494 + 3 => 'phabricator-tooltip', 1495 + ), 1496 + '919ea2f0' => 1497 + array( 1498 + 0 => 'multirow-row-manager', 1499 + 1 => 'javelin-install', 1500 + 2 => 'path-typeahead', 1501 + 3 => 'javelin-dom', 1502 + 4 => 'javelin-util', 1503 + 5 => 'phabricator-prefab', 1504 + ), 1505 + '928b06db' => 1506 + array( 1507 + 0 => 'javelin-behavior', 1508 + 1 => 'javelin-dom', 1509 + 2 => 'javelin-workflow', 1510 + 3 => 'javelin-stratcom', 1511 + ), 1512 + '93337ddb' => 1513 + array( 1514 + 0 => 'javelin-install', 1515 + 1 => 'javelin-dom', 1516 + 2 => 'javelin-reactor-dom', 1517 + ), 1518 + '943efa92' => 1519 + array( 1520 + 0 => 'javelin-stratcom', 1521 + 1 => 'javelin-behavior', 1522 + 2 => 'javelin-vector', 1523 + 3 => 'javelin-dom', 1524 + ), 1525 + '97a4ccf9' => 1526 + array( 1527 + 0 => 'javelin-view', 1528 + 1 => 'javelin-install', 1529 + 2 => 'javelin-dom', 1530 + ), 1531 + 'a232711e' => 1532 + array( 1533 + 0 => 'javelin-install', 1534 + 1 => 'javelin-typeahead', 1535 + 2 => 'javelin-dom', 1536 + 3 => 'javelin-request', 1537 + 4 => 'javelin-typeahead-ondemand-source', 1538 + 5 => 'javelin-util', 1539 + ), 1540 + 'a45a129c' => 1541 + array( 1542 + 0 => 'javelin-behavior', 1543 + 1 => 'javelin-dom', 1544 + 2 => 'javelin-stratcom', 1545 + 3 => 'javelin-workflow', 1546 + 4 => 'javelin-fx', 1547 + 5 => 'javelin-util', 1548 + ), 1549 + 'a4c5a205' => 1550 + array( 1551 + 0 => 'javelin-behavior', 1552 + 1 => 'javelin-workflow', 1553 + 2 => 'javelin-util', 1554 + 3 => 'javelin-dom', 1555 + 4 => 'javelin-stratcom', 1556 + 5 => 'javelin-behavior-device', 1557 + 6 => 'javelin-vector', 1558 + 7 => 'phabricator-tooltip', 1559 + ), 1560 + 'a64bd286' => 1561 + array( 1562 + 0 => 'javelin-behavior', 1563 + 1 => 'javelin-dom', 1564 + 2 => 'javelin-util', 1565 + 3 => 'javelin-request', 1566 + ), 1567 + 'a7a156b0' => 1568 + array( 1569 + 0 => 'javelin-behavior', 1570 + 1 => 'javelin-stratcom', 1571 + 2 => 'javelin-dom', 1572 + 3 => 'javelin-vector', 1573 + 4 => 'javelin-install', 1574 + ), 1575 + 'abc893b6' => 1576 + array( 1577 + 0 => 'javelin-install', 1578 + ), 1579 + 'ace0e460' => 1580 + array( 1581 + 0 => 'javelin-behavior', 1582 + 1 => 'javelin-stratcom', 1583 + 2 => 'javelin-dom', 1584 + ), 1585 + 'b18c5b83' => 1586 + array( 1587 + 0 => 'javelin-install', 1588 + ), 1589 + 'b254ca0b' => 1590 + array( 1591 + 0 => 'javelin-dom', 1592 + 1 => 'javelin-util', 1593 + 2 => 'javelin-stratcom', 1594 + 3 => 'javelin-install', 1595 + 4 => 'javelin-request', 1596 + 5 => 'javelin-workflow', 1597 + ), 1598 + 'b337dced' => 1599 + array( 1600 + 0 => 'javelin-behavior', 1601 + 1 => 'javelin-dom', 1602 + ), 1603 + 'b3a4e462' => 1604 + array( 1605 + 0 => 'javelin-install', 1606 + 1 => 'javelin-reactor', 1607 + 2 => 'javelin-util', 1608 + 3 => 'javelin-reactor-node-calmer', 1609 + ), 1610 + 'b5578a2a' => 1611 + array( 1612 + 0 => 'javelin-behavior', 1613 + 1 => 'javelin-resource', 1614 + 2 => 'javelin-stratcom', 1615 + 3 => 'javelin-workflow', 1616 + 4 => 'javelin-util', 1617 + ), 1618 + 'b65ba944' => 1619 + array( 1620 + 0 => 'javelin-behavior', 1621 + 1 => 'javelin-dom', 1622 + 2 => 'javelin-vector', 1623 + ), 1624 + 'b6a57ae3' => 1625 + array( 1626 + 0 => 'javelin-install', 1627 + 1 => 'javelin-typeahead-source', 1628 + ), 1629 + 'b74ae6d8' => 1630 + array( 1631 + 0 => 'phabricator-busy', 1632 + 1 => 'javelin-behavior', 1633 + ), 1634 + 'bb73a29b' => 1635 + array( 1636 + 0 => 'javelin-stratcom', 1637 + 1 => 'javelin-install', 1638 + 2 => 'javelin-uri', 1639 + 3 => 'javelin-util', 1640 + ), 1641 + 'bbfa9478' => 1642 + array( 1643 + 0 => 'javelin-behavior', 1644 + 1 => 'javelin-dom', 1645 + 2 => 'javelin-stratcom', 1646 + ), 1647 + 'bf2205e5' => 1648 + array( 1649 + 0 => 'javelin-install', 1650 + 1 => 'javelin-event', 1651 + 2 => 'javelin-util', 1652 + 3 => 'javelin-magical-init', 1653 + ), 1654 + 'c0b8aa85' => 1655 + array( 1656 + 0 => 'javelin-install', 1657 + 1 => 'javelin-dom', 1658 + ), 1659 + 'c2c3c690' => 1660 + array( 1661 + 0 => 'javelin-util', 1662 + 1 => 'javelin-uri', 1663 + 2 => 'javelin-install', 1664 + ), 1665 + 'c7187be4' => 1666 + array( 1667 + 0 => 'javelin-stratcom', 1668 + 1 => 'javelin-request', 1669 + 2 => 'javelin-dom', 1670 + 3 => 'javelin-vector', 1671 + 4 => 'javelin-install', 1672 + 5 => 'javelin-util', 1673 + 6 => 'javelin-mask', 1674 + 7 => 'javelin-uri', 1675 + ), 1676 + 'c740d05a' => 1677 + array( 1678 + 0 => 'javelin-behavior', 1679 + 1 => 'javelin-dom', 1680 + 2 => 'javelin-vector', 1681 + 3 => 'javelin-magical-init', 1682 + ), 1683 + 'c7de3be9' => 1684 + array( 1685 + 0 => 'javelin-install', 1686 + 1 => 'javelin-stratcom', 1687 + 2 => 'javelin-util', 1688 + 3 => 'javelin-behavior', 1689 + 4 => 'javelin-json', 1690 + 5 => 'javelin-dom', 1691 + 6 => 'javelin-resource', 1692 + ), 1693 + 'c8a0b0d4' => 1694 + array( 1695 + 0 => 'javelin-behavior', 1696 + 1 => 'javelin-dom', 1697 + 2 => 'phabricator-drag-and-drop-file-upload', 1698 + 3 => 'phabricator-textareautils', 1699 + ), 1700 + 'ca72f1bd' => 1701 + array( 1702 + 0 => 'javelin-behavior', 1703 + 1 => 'javelin-dom', 1704 + 2 => 'javelin-util', 1705 + 3 => 'javelin-stratcom', 1706 + 4 => 'phabricator-dropdown-menu', 1707 + 5 => 'phabricator-menu-item', 1708 + 6 => 'phabricator-phtize', 1709 + ), 1710 + 'cab77a7d' => 1711 + array( 1712 + 0 => 'javelin-behavior', 1713 + 1 => 'javelin-stratcom', 1714 + 2 => 'javelin-dom', 1715 + 3 => 'javelin-vector', 1716 + ), 1717 + 'caea7d09' => 1718 + array( 1719 + 0 => 'javelin-behavior', 1720 + 1 => 'javelin-dom', 1721 + 2 => 'javelin-uri', 1722 + 3 => 'javelin-mask', 1723 + 4 => 'phabricator-drag-and-drop-file-upload', 1724 + ), 1725 + 'cb4d25b3' => 1726 + array( 1727 + 0 => 'javelin-behavior', 1728 + 1 => 'javelin-dom', 1729 + 2 => 'javelin-workflow', 1730 + ), 1731 + 'cbd2e360' => 1732 + array( 1733 + 0 => 'javelin-install', 1734 + 1 => 'javelin-dom', 1735 + 2 => 'javelin-reactor-dom', 1736 + ), 1737 + 'cd019319' => 1738 + array( 1739 + 0 => 'javelin-behavior', 1740 + 1 => 'javelin-stratcom', 1741 + 2 => 'javelin-dom', 1742 + 3 => 'javelin-request', 1743 + 4 => 'javelin-util', 1744 + 5 => 'phabricator-shaped-request', 1745 + ), 1746 + 'cd135e84' => 1747 + array( 1748 + 0 => 'javelin-install', 1749 + 1 => 'javelin-dom', 1750 + 2 => 'javelin-vector', 1751 + 3 => 'javelin-util', 1752 + ), 1753 + 'cf3d25e2' => 1754 + array( 1755 + 0 => 'javelin-behavior', 1756 + 1 => 'javelin-dom', 1757 + 2 => 'javelin-util', 1758 + 3 => 'phabricator-shaped-request', 1759 + ), 1760 + 'd29e2d98' => 1761 + array( 1762 + 0 => 'javelin-install', 1763 + 1 => 'javelin-dom', 1764 + 2 => 'javelin-vector', 1765 + 3 => 'javelin-request', 1766 + 4 => 'javelin-uri', 1767 + ), 1768 + 'd2d41c98' => 1769 + array( 1770 + 0 => 'javelin-install', 1771 + 1 => 'javelin-util', 1772 + ), 1773 + 'd3af750c' => 1774 + array( 1775 + 0 => 'javelin-behavior', 1776 + 1 => 'javelin-dom', 1777 + 2 => 'javelin-util', 1778 + 3 => 'phabricator-shaped-request', 1779 + ), 1780 + 'd49555fa' => 1781 + array( 1782 + 0 => 'javelin-install', 1783 + 1 => 'javelin-util', 1784 + 2 => 'javelin-dom', 1785 + 3 => 'javelin-vector', 1786 + ), 1787 + 'd5fc3d62' => 1788 + array( 1789 + 0 => 'javelin-behavior', 1790 + 1 => 'javelin-dom', 1791 + 2 => 'phabricator-prefab', 1792 + ), 1793 + 'd71cc7b5' => 1794 + array( 1795 + 0 => 'javelin-behavior', 1796 + 1 => 'javelin-stratcom', 1797 + 2 => 'javelin-workflow', 1798 + 3 => 'javelin-dom', 1799 + 4 => 'javelin-fx', 1800 + ), 1801 + 'd8811f6a' => 1802 + array( 1803 + 0 => 'javelin-install', 1804 + 1 => 'javelin-util', 1805 + 2 => 'javelin-request', 1806 + 3 => 'javelin-typeahead-source', 1807 + ), 1808 + 'd9640a92' => 1809 + array( 1810 + 0 => 'phabricator-notification', 1811 + 1 => 'javelin-stratcom', 1812 + 2 => 'javelin-behavior', 1813 + ), 1814 + 'd9b70158' => 1815 + array( 1816 + 0 => 'javelin-behavior', 1817 + 1 => 'javelin-stratcom', 1818 + 2 => 'javelin-dom', 1819 + ), 1820 + 'd9f6df76' => 1821 + array( 1822 + 0 => 'javelin-behavior', 1823 + 1 => 'javelin-stratcom', 1824 + 2 => 'javelin-workflow', 1825 + 3 => 'javelin-dom', 1826 + 4 => 'phabricator-draggable-list', 1827 + ), 1828 + 'db7399f3' => 1829 + array( 1830 + 0 => 'javelin-install', 1831 + 1 => 'javelin-util', 1832 + ), 1833 + 'dc40954f' => 1834 + array( 1835 + 0 => 'javelin-behavior', 1836 + 1 => 'javelin-dom', 1837 + 2 => 'javelin-stratcom', 1838 + 3 => 'javelin-util', 1839 + ), 1840 + 'e12e2b17' => 1841 + array( 1842 + 0 => 'javelin-install', 1843 + 1 => 'javelin-util', 1844 + ), 1845 + 'e26fb4e4' => 1846 + array( 1847 + 0 => 'javelin-install', 1848 + 1 => 'javelin-dom', 1849 + 2 => 'javelin-reactor-dom', 1850 + ), 1851 + 'e3be7e87' => 1852 + array( 1853 + 0 => 'javelin-behavior', 1854 + 1 => 'javelin-typeahead-ondemand-source', 1855 + 2 => 'javelin-typeahead', 1856 + 3 => 'javelin-dom', 1857 + 4 => 'javelin-uri', 1858 + 5 => 'javelin-util', 1859 + 6 => 'javelin-stratcom', 1860 + ), 1861 + 'e3e06145' => 1862 + array( 1863 + 0 => 'javelin-behavior', 1864 + 1 => 'javelin-dom', 1865 + 2 => 'javelin-stratcom', 1866 + 3 => 'phabricator-phtize', 1867 + ), 1868 + 'e4091501' => 1869 + array( 1870 + 0 => 'javelin-behavior', 1871 + 1 => 'multirow-row-manager', 1872 + 2 => 'javelin-dom', 1873 + 3 => 'javelin-util', 1874 + 4 => 'phabricator-prefab', 1875 + 5 => 'javelin-tokenizer', 1876 + 6 => 'javelin-typeahead', 1877 + 7 => 'javelin-typeahead-preloaded-source', 1878 + 8 => 'javelin-json', 1879 + ), 1880 + 'e68b50cc' => 1881 + array( 1882 + 0 => 'javelin-behavior', 1883 + 1 => 'javelin-dom', 1884 + 2 => 'javelin-typeahead', 1885 + 3 => 'javelin-typeahead-ondemand-source', 1886 + 4 => 'javelin-dom', 1887 + ), 1888 + 'e6ba655d' => 1889 + array( 1890 + 0 => 'javelin-behavior', 1891 + 1 => 'javelin-dom', 1892 + 2 => 'javelin-util', 1893 + 3 => 'phabricator-shaped-request', 1894 + ), 1895 + 'ef853cf5' => 1896 + array( 1897 + 0 => 'javelin-install', 1898 + 1 => 'javelin-util', 1899 + 2 => 'javelin-request', 1900 + 3 => 'javelin-typeahead-source', 1901 + ), 1902 + 'f0974d1c' => 1903 + array( 1904 + 0 => 'javelin-behavior', 1905 + 1 => 'javelin-stratcom', 1906 + 2 => 'javelin-dom', 1907 + ), 1908 + 'f222a093' => 1909 + array( 1910 + 0 => 'javelin-behavior', 1911 + 1 => 'javelin-dom', 1912 + 2 => 'javelin-util', 1913 + 3 => 'javelin-json', 1914 + 4 => 'javelin-stratcom', 1915 + 5 => 'phabricator-shaped-request', 1916 + ), 1917 + 'f4398d74' => 1918 + array( 1919 + 0 => 'javelin-behavior', 1920 + 1 => 'javelin-stratcom', 1921 + 2 => 'javelin-dom', 1922 + ), 1923 + 'f5335df7' => 1924 + array( 1925 + 0 => 'javelin-install', 1926 + 1 => 'javelin-dom', 1927 + ), 1928 + 'f721716b' => 1929 + array( 1930 + 0 => 'javelin-install', 1931 + 1 => 'javelin-dom', 1932 + 2 => 'javelin-reactor-dom', 1933 + ), 1934 + 'f88f719d' => 1935 + array( 1936 + 0 => 'javelin-behavior', 1937 + 1 => 'javelin-stratcom', 1938 + 2 => 'javelin-dom', 1939 + ), 1940 + 'f9e431a3' => 1941 + array( 1942 + 0 => 'javelin-behavior', 1943 + 1 => 'javelin-dom', 1944 + 2 => 'javelin-stratcom', 1945 + ), 1946 + 'fba207f5' => 1947 + array( 1948 + 0 => 'javelin-behavior', 1949 + 1 => 'javelin-stratcom', 1950 + 2 => 'javelin-dom', 1951 + ), 1952 + 'fc2404e1' => 1953 + array( 1954 + 0 => 'javelin-behavior', 1955 + 1 => 'javelin-stratcom', 1956 + 2 => 'javelin-dom', 1957 + 3 => 'javelin-json', 1958 + 4 => 'phabricator-draggable-list', 1959 + ), 1960 + 'fc26b35b' => 1961 + array( 1962 + 0 => 'javelin-dom', 1963 + ), 1964 + 'fda46470' => 1965 + array( 1966 + 0 => 'javelin-behavior', 1967 + 1 => 'javelin-stratcom', 1968 + 2 => 'javelin-vector', 1969 + 3 => 'javelin-dom', 1970 + ), 1971 + 'ffce5bd5' => 1972 + array( 1973 + 0 => 'javelin-behavior', 1974 + 1 => 'javelin-dom', 1975 + 2 => 'javelin-request', 1976 + 3 => 'javelin-util', 1977 + ), 1978 + 'fffe4790' => 1979 + array( 1980 + 0 => 'javelin-behavior', 1981 + 1 => 'javelin-stratcom', 1982 + ), 1983 + 10118485 => 1984 + array( 1985 + 0 => 'javelin-behavior', 1986 + 1 => 'javelin-stratcom', 1987 + 2 => 'javelin-workflow', 1988 + 3 => 'javelin-dom', 1989 + 4 => 'phabricator-draggable-list', 1990 + ), 1991 + ), 1992 + 'packages' => 1993 + array( 1994 + 'core.pkg.css' => 1995 + array( 1996 + 0 => 'phabricator-core-css', 1997 + 1 => 'phabricator-zindex-css', 1998 + 2 => 'phui-button-css', 1999 + 3 => 'phabricator-standard-page-view', 2000 + 4 => 'aphront-dialog-view-css', 2001 + 5 => 'phui-form-view-css', 2002 + 6 => 'aphront-panel-view-css', 2003 + 7 => 'aphront-table-view-css', 2004 + 8 => 'aphront-tokenizer-control-css', 2005 + 9 => 'aphront-typeahead-control-css', 2006 + 10 => 'aphront-list-filter-view-css', 2007 + 11 => 'phabricator-jump-nav', 2008 + 12 => 'phabricator-remarkup-css', 2009 + 13 => 'syntax-highlighting-css', 2010 + 14 => 'aphront-pager-view-css', 2011 + 15 => 'phabricator-transaction-view-css', 2012 + 16 => 'aphront-tooltip-css', 2013 + 17 => 'phabricator-flag-css', 2014 + 18 => 'aphront-error-view-css', 2015 + 19 => 'sprite-icons-css', 2016 + 20 => 'sprite-gradient-css', 2017 + 21 => 'sprite-menu-css', 2018 + 22 => 'sprite-apps-large-css', 2019 + 23 => 'sprite-status-css', 2020 + 24 => 'phabricator-main-menu-view', 2021 + 25 => 'phabricator-notification-css', 2022 + 26 => 'phabricator-notification-menu-css', 2023 + 27 => 'lightbox-attachment-css', 2024 + 28 => 'phui-header-view-css', 2025 + 29 => 'phabricator-filetree-view-css', 2026 + 30 => 'phabricator-nav-view-css', 2027 + 31 => 'phabricator-side-menu-view-css', 2028 + 32 => 'phabricator-crumbs-view-css', 2029 + 33 => 'phui-object-item-list-view-css', 2030 + 34 => 'global-drag-and-drop-css', 2031 + 35 => 'phui-spacing-css', 2032 + 36 => 'phui-form-css', 2033 + 37 => 'phui-icon-view-css', 2034 + 38 => 'phabricator-application-launch-view-css', 2035 + 39 => 'phabricator-action-list-view-css', 2036 + 40 => 'phui-property-list-view-css', 2037 + 41 => 'phabricator-tag-view-css', 2038 + 42 => 'phui-list-view-css', 2039 + ), 2040 + 'core.pkg.js' => 2041 + array( 2042 + 0 => 'javelin-behavior-aphront-basic-tokenizer', 2043 + 1 => 'javelin-behavior-workflow', 2044 + 2 => 'javelin-behavior-aphront-form-disable-on-submit', 2045 + 3 => 'phabricator-keyboard-shortcut-manager', 2046 + 4 => 'phabricator-keyboard-shortcut', 2047 + 5 => 'javelin-behavior-phabricator-keyboard-shortcuts', 2048 + 6 => 'javelin-behavior-refresh-csrf', 2049 + 7 => 'javelin-behavior-phabricator-watch-anchor', 2050 + 8 => 'javelin-behavior-phabricator-autofocus', 2051 + 9 => 'phabricator-menu-item', 2052 + 10 => 'phabricator-dropdown-menu', 2053 + 11 => 'phabricator-phtize', 2054 + 12 => 'javelin-behavior-phabricator-oncopy', 2055 + 13 => 'phabricator-tooltip', 2056 + 14 => 'javelin-behavior-phabricator-tooltips', 2057 + 15 => 'phabricator-prefab', 2058 + 16 => 'javelin-behavior-device', 2059 + 17 => 'javelin-behavior-toggle-class', 2060 + 18 => 'javelin-behavior-lightbox-attachments', 2061 + 19 => 'phabricator-busy', 2062 + 20 => 'javelin-aphlict', 2063 + 21 => 'phabricator-notification', 2064 + 22 => 'javelin-behavior-aphlict-listen', 2065 + 23 => 'javelin-behavior-phabricator-search-typeahead', 2066 + 24 => 'javelin-behavior-konami', 2067 + 25 => 'javelin-behavior-aphlict-dropdown', 2068 + 26 => 'javelin-behavior-history-install', 2069 + 27 => 'javelin-behavior-phabricator-gesture', 2070 + 28 => 'javelin-behavior-phabricator-active-nav', 2071 + 29 => 'javelin-behavior-phabricator-nav', 2072 + 30 => 'javelin-behavior-phabricator-remarkup-assist', 2073 + 31 => 'phabricator-textareautils', 2074 + 32 => 'phabricator-file-upload', 2075 + 33 => 'javelin-behavior-global-drag-and-drop', 2076 + 34 => 'javelin-behavior-phabricator-reveal-content', 2077 + 35 => 'phabricator-hovercard', 2078 + 36 => 'javelin-behavior-phabricator-hovercards', 2079 + 37 => 'javelin-color', 2080 + 38 => 'javelin-fx', 2081 + ), 2082 + 'darkconsole.pkg.js' => 2083 + array( 2084 + 0 => 'javelin-behavior-dark-console', 2085 + 1 => 'javelin-behavior-error-log', 2086 + ), 2087 + 'differential.pkg.css' => 2088 + array( 2089 + 0 => 'differential-core-view-css', 2090 + 1 => 'differential-changeset-view-css', 2091 + 2 => 'differential-results-table-css', 2092 + 3 => 'differential-revision-history-css', 2093 + 4 => 'differential-revision-list-css', 2094 + 5 => 'differential-table-of-contents-css', 2095 + 6 => 'differential-revision-comment-css', 2096 + 7 => 'differential-revision-add-comment-css', 2097 + 8 => 'differential-revision-comment-list-css', 2098 + 9 => 'phabricator-object-selector-css', 2099 + 10 => 'phabricator-content-source-view-css', 2100 + 11 => 'differential-local-commits-view-css', 2101 + 12 => 'inline-comment-summary-css', 2102 + ), 2103 + 'differential.pkg.js' => 2104 + array( 2105 + 0 => 'phabricator-drag-and-drop-file-upload', 2106 + 1 => 'phabricator-shaped-request', 2107 + 2 => 'javelin-behavior-differential-feedback-preview', 2108 + 3 => 'javelin-behavior-differential-edit-inline-comments', 2109 + 4 => 'javelin-behavior-differential-populate', 2110 + 5 => 'javelin-behavior-differential-show-more', 2111 + 6 => 'javelin-behavior-differential-diff-radios', 2112 + 7 => 'javelin-behavior-differential-accept-with-errors', 2113 + 8 => 'javelin-behavior-differential-comment-jump', 2114 + 9 => 'javelin-behavior-differential-add-reviewers-and-ccs', 2115 + 10 => 'javelin-behavior-differential-keyboard-navigation', 2116 + 11 => 'javelin-behavior-aphront-drag-and-drop-textarea', 2117 + 12 => 'javelin-behavior-phabricator-object-selector', 2118 + 13 => 'javelin-behavior-repository-crossreference', 2119 + 14 => 'javelin-behavior-load-blame', 2120 + 15 => 'differential-inline-comment-editor', 2121 + 16 => 'javelin-behavior-differential-dropdown-menus', 2122 + 17 => 'javelin-behavior-differential-toggle-files', 2123 + 18 => 'javelin-behavior-differential-user-select', 2124 + ), 2125 + 'diffusion.pkg.css' => 2126 + array( 2127 + 0 => 'diffusion-commit-view-css', 2128 + 1 => 'diffusion-icons-css', 2129 + ), 2130 + 'diffusion.pkg.js' => 2131 + array( 2132 + 0 => 'javelin-behavior-diffusion-pull-lastmodified', 2133 + 1 => 'javelin-behavior-diffusion-commit-graph', 2134 + 2 => 'javelin-behavior-audit-preview', 2135 + ), 2136 + 'javelin.pkg.js' => 2137 + array( 2138 + 0 => 'javelin-util', 2139 + 1 => 'javelin-install', 2140 + 2 => 'javelin-event', 2141 + 3 => 'javelin-stratcom', 2142 + 4 => 'javelin-behavior', 2143 + 5 => 'javelin-resource', 2144 + 6 => 'javelin-request', 2145 + 7 => 'javelin-vector', 2146 + 8 => 'javelin-dom', 2147 + 9 => 'javelin-json', 2148 + 10 => 'javelin-uri', 2149 + 11 => 'javelin-workflow', 2150 + 12 => 'javelin-mask', 2151 + 13 => 'javelin-typeahead', 2152 + 14 => 'javelin-typeahead-normalizer', 2153 + 15 => 'javelin-typeahead-source', 2154 + 16 => 'javelin-typeahead-preloaded-source', 2155 + 17 => 'javelin-typeahead-ondemand-source', 2156 + 18 => 'javelin-tokenizer', 2157 + 19 => 'javelin-history', 2158 + ), 2159 + 'maniphest.pkg.css' => 2160 + array( 2161 + 0 => 'maniphest-task-summary-css', 2162 + 1 => 'phabricator-project-tag-css', 2163 + ), 2164 + 'maniphest.pkg.js' => 2165 + array( 2166 + 0 => 'javelin-behavior-maniphest-batch-selector', 2167 + 1 => 'javelin-behavior-maniphest-transaction-controls', 2168 + 2 => 'javelin-behavior-maniphest-transaction-preview', 2169 + 3 => 'javelin-behavior-maniphest-transaction-expand', 2170 + 4 => 'javelin-behavior-maniphest-subpriority-editor', 2171 + ), 2172 + ), 2173 + );
+180
resources/celerity/packages.php
··· 1 + <?php 2 + 3 + return array( 4 + 'javelin.pkg.js' => array( 5 + 'javelin-util', 6 + 'javelin-install', 7 + 'javelin-event', 8 + 'javelin-stratcom', 9 + 'javelin-behavior', 10 + 'javelin-resource', 11 + 'javelin-request', 12 + 'javelin-vector', 13 + 'javelin-dom', 14 + 'javelin-json', 15 + 'javelin-uri', 16 + 'javelin-workflow', 17 + 'javelin-mask', 18 + 'javelin-typeahead', 19 + 'javelin-typeahead-normalizer', 20 + 'javelin-typeahead-source', 21 + 'javelin-typeahead-preloaded-source', 22 + 'javelin-typeahead-ondemand-source', 23 + 'javelin-tokenizer', 24 + 'javelin-history', 25 + ), 26 + 'core.pkg.js' => array( 27 + 'javelin-behavior-aphront-basic-tokenizer', 28 + 'javelin-behavior-workflow', 29 + 'javelin-behavior-aphront-form-disable-on-submit', 30 + 'phabricator-keyboard-shortcut-manager', 31 + 'phabricator-keyboard-shortcut', 32 + 'javelin-behavior-phabricator-keyboard-shortcuts', 33 + 'javelin-behavior-refresh-csrf', 34 + 'javelin-behavior-phabricator-watch-anchor', 35 + 'javelin-behavior-phabricator-autofocus', 36 + 'phabricator-menu-item', 37 + 'phabricator-dropdown-menu', 38 + 'phabricator-phtize', 39 + 'javelin-behavior-phabricator-oncopy', 40 + 'phabricator-tooltip', 41 + 'javelin-behavior-phabricator-tooltips', 42 + 'phabricator-prefab', 43 + 'javelin-behavior-device', 44 + 'javelin-behavior-toggle-class', 45 + 'javelin-behavior-lightbox-attachments', 46 + 'phabricator-busy', 47 + 'javelin-aphlict', 48 + 'phabricator-notification', 49 + 'javelin-behavior-aphlict-listen', 50 + 'javelin-behavior-phabricator-search-typeahead', 51 + 'javelin-behavior-konami', 52 + 'javelin-behavior-aphlict-dropdown', 53 + 'javelin-behavior-history-install', 54 + 'javelin-behavior-phabricator-gesture', 55 + 56 + 'javelin-behavior-phabricator-active-nav', 57 + 'javelin-behavior-phabricator-nav', 58 + 'javelin-behavior-phabricator-remarkup-assist', 59 + 'phabricator-textareautils', 60 + 'phabricator-file-upload', 61 + 'javelin-behavior-global-drag-and-drop', 62 + 'javelin-behavior-phabricator-reveal-content', 63 + 'phabricator-hovercard', 64 + 'javelin-behavior-phabricator-hovercards', 65 + 'javelin-color', 66 + 'javelin-fx', 67 + ), 68 + 'core.pkg.css' => array( 69 + 'phabricator-core-css', 70 + 'phabricator-zindex-css', 71 + 'phui-button-css', 72 + 'phabricator-standard-page-view', 73 + 'aphront-dialog-view-css', 74 + 'phui-form-view-css', 75 + 'aphront-panel-view-css', 76 + 'aphront-table-view-css', 77 + 'aphront-tokenizer-control-css', 78 + 'aphront-typeahead-control-css', 79 + 'aphront-list-filter-view-css', 80 + 81 + 'phabricator-jump-nav', 82 + 83 + 'phabricator-remarkup-css', 84 + 'syntax-highlighting-css', 85 + 'aphront-pager-view-css', 86 + 'phabricator-transaction-view-css', 87 + 'aphront-tooltip-css', 88 + 'phabricator-flag-css', 89 + 'aphront-error-view-css', 90 + 91 + 'sprite-icons-css', 92 + 'sprite-gradient-css', 93 + 'sprite-menu-css', 94 + 'sprite-apps-large-css', 95 + 'sprite-status-css', 96 + 97 + 'phabricator-main-menu-view', 98 + 'phabricator-notification-css', 99 + 'phabricator-notification-menu-css', 100 + 'lightbox-attachment-css', 101 + 'phui-header-view-css', 102 + 'phabricator-filetree-view-css', 103 + 'phabricator-nav-view-css', 104 + 'phabricator-side-menu-view-css', 105 + 'phabricator-crumbs-view-css', 106 + 'phui-object-item-list-view-css', 107 + 'global-drag-and-drop-css', 108 + 'phui-spacing-css', 109 + 'phui-form-css', 110 + 'phui-icon-view-css', 111 + 112 + 'phabricator-application-launch-view-css', 113 + 'phabricator-action-list-view-css', 114 + 'phui-property-list-view-css', 115 + 'phabricator-tag-view-css', 116 + 'phui-list-view-css', 117 + ), 118 + 'differential.pkg.css' => array( 119 + 'differential-core-view-css', 120 + 'differential-changeset-view-css', 121 + 'differential-results-table-css', 122 + 'differential-revision-history-css', 123 + 'differential-revision-list-css', 124 + 'differential-table-of-contents-css', 125 + 'differential-revision-comment-css', 126 + 'differential-revision-add-comment-css', 127 + 'differential-revision-comment-list-css', 128 + 'phabricator-object-selector-css', 129 + 'phabricator-content-source-view-css', 130 + 'differential-local-commits-view-css', 131 + 'inline-comment-summary-css', 132 + ), 133 + 'differential.pkg.js' => array( 134 + 'phabricator-drag-and-drop-file-upload', 135 + 'phabricator-shaped-request', 136 + 137 + 'javelin-behavior-differential-feedback-preview', 138 + 'javelin-behavior-differential-edit-inline-comments', 139 + 'javelin-behavior-differential-populate', 140 + 'javelin-behavior-differential-show-more', 141 + 'javelin-behavior-differential-diff-radios', 142 + 'javelin-behavior-differential-accept-with-errors', 143 + 'javelin-behavior-differential-comment-jump', 144 + 'javelin-behavior-differential-add-reviewers-and-ccs', 145 + 'javelin-behavior-differential-keyboard-navigation', 146 + 'javelin-behavior-aphront-drag-and-drop-textarea', 147 + 'javelin-behavior-phabricator-object-selector', 148 + 'javelin-behavior-repository-crossreference', 149 + 'javelin-behavior-load-blame', 150 + 151 + 'differential-inline-comment-editor', 152 + 'javelin-behavior-differential-dropdown-menus', 153 + 'javelin-behavior-differential-toggle-files', 154 + 'javelin-behavior-differential-user-select', 155 + ), 156 + 'diffusion.pkg.css' => array( 157 + 'diffusion-commit-view-css', 158 + 'diffusion-icons-css', 159 + ), 160 + 'diffusion.pkg.js' => array( 161 + 'javelin-behavior-diffusion-pull-lastmodified', 162 + 'javelin-behavior-diffusion-commit-graph', 163 + 'javelin-behavior-audit-preview', 164 + ), 165 + 'maniphest.pkg.css' => array( 166 + 'maniphest-task-summary-css', 167 + 'phabricator-project-tag-css', 168 + ), 169 + 'maniphest.pkg.js' => array( 170 + 'javelin-behavior-maniphest-batch-selector', 171 + 'javelin-behavior-maniphest-transaction-controls', 172 + 'javelin-behavior-maniphest-transaction-preview', 173 + 'javelin-behavior-maniphest-transaction-expand', 174 + 'javelin-behavior-maniphest-subpriority-editor', 175 + ), 176 + 'darkconsole.pkg.js' => array( 177 + 'javelin-behavior-dark-console', 178 + 'javelin-behavior-error-log', 179 + ), 180 + );
+2 -2
scripts/celerity/install_merge.sh
··· 1 1 #!/bin/sh 2 2 3 - echo "src/__celerity_resource_map__.php merge=celerity" \ 3 + echo "resources/celerity/map.php merge=celerity" \ 4 4 >> `dirname "$0"`/../../.git/info/attributes 5 5 6 6 git config merge.celerity.name "Celerity Mapper" 7 7 8 8 git config merge.celerity.driver \ 9 - 'php $GIT_DIR/../scripts/celerity_mapper.php $GIT_DIR/../webroot' 9 + 'php $GIT_DIR/../bin/celerity map'
+2 -394
scripts/celerity_mapper.php
··· 1 1 #!/usr/bin/env php 2 2 <?php 3 3 4 - $package_spec = array( 5 - 'javelin.pkg.js' => array( 6 - 'javelin-util', 7 - 'javelin-install', 8 - 'javelin-event', 9 - 'javelin-stratcom', 10 - 'javelin-behavior', 11 - 'javelin-resource', 12 - 'javelin-request', 13 - 'javelin-vector', 14 - 'javelin-dom', 15 - 'javelin-json', 16 - 'javelin-uri', 17 - 'javelin-workflow', 18 - 'javelin-mask', 19 - 'javelin-typeahead', 20 - 'javelin-typeahead-normalizer', 21 - 'javelin-typeahead-source', 22 - 'javelin-typeahead-preloaded-source', 23 - 'javelin-typeahead-ondemand-source', 24 - 'javelin-tokenizer', 25 - 'javelin-history', 26 - ), 27 - 'core.pkg.js' => array( 28 - 'javelin-behavior-aphront-basic-tokenizer', 29 - 'javelin-behavior-workflow', 30 - 'javelin-behavior-aphront-form-disable-on-submit', 31 - 'phabricator-keyboard-shortcut-manager', 32 - 'phabricator-keyboard-shortcut', 33 - 'javelin-behavior-phabricator-keyboard-shortcuts', 34 - 'javelin-behavior-refresh-csrf', 35 - 'javelin-behavior-phabricator-watch-anchor', 36 - 'javelin-behavior-phabricator-autofocus', 37 - 'phabricator-menu-item', 38 - 'phabricator-dropdown-menu', 39 - 'phabricator-phtize', 40 - 'javelin-behavior-phabricator-oncopy', 41 - 'phabricator-tooltip', 42 - 'javelin-behavior-phabricator-tooltips', 43 - 'phabricator-prefab', 44 - 'javelin-behavior-device', 45 - 'javelin-behavior-toggle-class', 46 - 'javelin-behavior-lightbox-attachments', 47 - 'phabricator-busy', 48 - 'javelin-aphlict', 49 - 'phabricator-notification', 50 - 'javelin-behavior-aphlict-listen', 51 - 'javelin-behavior-phabricator-search-typeahead', 52 - 'javelin-behavior-konami', 53 - 'javelin-behavior-aphlict-dropdown', 54 - 'javelin-behavior-history-install', 55 - 'javelin-behavior-phabricator-gesture', 56 - 57 - 'javelin-behavior-phabricator-active-nav', 58 - 'javelin-behavior-phabricator-nav', 59 - 'javelin-behavior-phabricator-remarkup-assist', 60 - 'phabricator-textareautils', 61 - 'phabricator-file-upload', 62 - 'javelin-behavior-global-drag-and-drop', 63 - 'javelin-behavior-phabricator-reveal-content', 64 - 'phabricator-hovercard', 65 - 'javelin-behavior-phabricator-hovercards', 66 - 'javelin-color', 67 - 'javelin-fx', 68 - ), 69 - 'core.pkg.css' => array( 70 - 'phabricator-core-css', 71 - 'phabricator-zindex-css', 72 - 'phui-button-css', 73 - 'phabricator-standard-page-view', 74 - 'aphront-dialog-view-css', 75 - 'phui-form-view-css', 76 - 'aphront-panel-view-css', 77 - 'aphront-table-view-css', 78 - 'aphront-tokenizer-control-css', 79 - 'aphront-typeahead-control-css', 80 - 'aphront-list-filter-view-css', 81 - 82 - 'phabricator-jump-nav', 83 - 84 - 'phabricator-remarkup-css', 85 - 'syntax-highlighting-css', 86 - 'aphront-pager-view-css', 87 - 'phabricator-transaction-view-css', 88 - 'aphront-tooltip-css', 89 - 'phabricator-flag-css', 90 - 'aphront-error-view-css', 91 - 92 - 'sprite-icons-css', 93 - 'sprite-gradient-css', 94 - 'sprite-menu-css', 95 - 'sprite-apps-large-css', 96 - 'sprite-status-css', 97 - 98 - 'phabricator-main-menu-view', 99 - 'phabricator-notification-css', 100 - 'phabricator-notification-menu-css', 101 - 'lightbox-attachment-css', 102 - 'phui-header-view-css', 103 - 'phabricator-filetree-view-css', 104 - 'phabricator-nav-view-css', 105 - 'phabricator-side-menu-view-css', 106 - 'phabricator-crumbs-view-css', 107 - 'phui-object-item-list-view-css', 108 - 'global-drag-and-drop-css', 109 - 'phui-spacing-css', 110 - 'phui-form-css', 111 - 'phui-icon-view-css', 112 - 113 - 'phabricator-application-launch-view-css', 114 - 'phabricator-action-list-view-css', 115 - 'phui-property-list-view-css', 116 - 'phabricator-tag-view-css', 117 - 'phui-list-view-css', 118 - ), 119 - 'differential.pkg.css' => array( 120 - 'differential-core-view-css', 121 - 'differential-changeset-view-css', 122 - 'differential-results-table-css', 123 - 'differential-revision-history-css', 124 - 'differential-revision-list-css', 125 - 'differential-table-of-contents-css', 126 - 'differential-revision-comment-css', 127 - 'differential-revision-add-comment-css', 128 - 'differential-revision-comment-list-css', 129 - 'phabricator-object-selector-css', 130 - 'phabricator-content-source-view-css', 131 - 'differential-local-commits-view-css', 132 - 'inline-comment-summary-css', 133 - ), 134 - 'differential.pkg.js' => array( 135 - 'phabricator-drag-and-drop-file-upload', 136 - 'phabricator-shaped-request', 137 - 138 - 'javelin-behavior-differential-feedback-preview', 139 - 'javelin-behavior-differential-edit-inline-comments', 140 - 'javelin-behavior-differential-populate', 141 - 'javelin-behavior-differential-show-more', 142 - 'javelin-behavior-differential-diff-radios', 143 - 'javelin-behavior-differential-accept-with-errors', 144 - 'javelin-behavior-differential-comment-jump', 145 - 'javelin-behavior-differential-add-reviewers-and-ccs', 146 - 'javelin-behavior-differential-keyboard-navigation', 147 - 'javelin-behavior-aphront-drag-and-drop-textarea', 148 - 'javelin-behavior-phabricator-object-selector', 149 - 'javelin-behavior-repository-crossreference', 150 - 'javelin-behavior-load-blame', 151 - 152 - 'differential-inline-comment-editor', 153 - 'javelin-behavior-differential-dropdown-menus', 154 - 'javelin-behavior-differential-toggle-files', 155 - 'javelin-behavior-differential-user-select', 156 - ), 157 - 'diffusion.pkg.css' => array( 158 - 'diffusion-commit-view-css', 159 - 'diffusion-icons-css', 160 - ), 161 - 'diffusion.pkg.js' => array( 162 - 'javelin-behavior-diffusion-pull-lastmodified', 163 - 'javelin-behavior-diffusion-commit-graph', 164 - 'javelin-behavior-audit-preview', 165 - ), 166 - 'maniphest.pkg.css' => array( 167 - 'maniphest-task-summary-css', 168 - 'phabricator-project-tag-css', 169 - ), 170 - 'maniphest.pkg.js' => array( 171 - 'javelin-behavior-maniphest-batch-selector', 172 - 'javelin-behavior-maniphest-transaction-controls', 173 - 'javelin-behavior-maniphest-transaction-preview', 174 - 'javelin-behavior-maniphest-transaction-expand', 175 - 'javelin-behavior-maniphest-subpriority-editor', 176 - ), 177 - 'darkconsole.pkg.js' => array( 178 - 'javelin-behavior-dark-console', 179 - 'javelin-behavior-error-log', 180 - ), 181 - ); 182 - 183 - 184 - require_once dirname(__FILE__).'/__init_script__.php'; 185 - 186 - $args = new PhutilArgumentParser($argv); 187 - $args->setTagline('map static resources'); 188 - $args->setSynopsis( 189 - "**celerity_mapper.php** [--output __path__] [--with-custom] <webroot>"); 190 - $args->parse( 191 - array( 192 - array( 193 - 'name' => 'webroot', 194 - 'wildcard' => true, 195 - ), 196 - )); 197 - 198 - $root = $args->getArg('webroot'); 199 - if (count($root) != 1 || !is_dir(reset($root))) { 200 - $args->printHelpAndExit(); 201 - } 202 - $root = Filesystem::resolvePath(reset($root)); 203 - 204 - $celerity_path = Filesystem::resolvePath( 205 - '../src/__celerity_resource_map__.php', 206 - $root); 207 - 208 - $resource_hash = PhabricatorEnv::getEnvConfig('celerity.resource-hash'); 209 - $runtime_map = array(); 210 - 211 - echo "Finding raw static resources...\n"; 212 - $finder = id(new FileFinder($root)) 213 - ->withType('f') 214 - ->withSuffix('png') 215 - ->withSuffix('jpg') 216 - ->withSuffix('gif') 217 - ->withSuffix('swf') 218 - ->withFollowSymlinks(true) 219 - ->setGenerateChecksums(true); 220 - $raw_files = $finder->find(); 221 - 222 - echo "Processing ".count($raw_files)." files"; 223 - foreach ($raw_files as $path => $hash) { 224 - echo "."; 225 - $path = '/'.Filesystem::readablePath($path, $root); 226 - $type = CelerityResourceTransformer::getResourceType($path); 227 - 228 - $hash = md5($hash.$path.$resource_hash); 229 - $uri = '/res/'.substr($hash, 0, 8).$path; 230 - 231 - $runtime_map[$path] = array( 232 - 'hash' => $hash, 233 - 'uri' => $uri, 234 - 'disk' => $path, 235 - 'type' => $type, 236 - ); 237 - } 238 - echo "\n"; 239 - 240 - $xformer = id(new CelerityResourceTransformer()) 241 - ->setMinify(false) 242 - ->setRawResourceMap($runtime_map); 243 - 244 - echo "Finding transformable static resources...\n"; 245 - $finder = id(new FileFinder($root)) 246 - ->withType('f') 247 - ->withSuffix('js') 248 - ->withSuffix('css') 249 - ->withFollowSymlinks(true) 250 - ->setGenerateChecksums(true); 251 - $files = $finder->find(); 252 - 253 - echo "Processing ".count($files)." files"; 254 - 255 - $file_map = array(); 256 - foreach ($files as $path => $raw_hash) { 257 - echo "."; 258 - $path = '/'.Filesystem::readablePath($path, $root); 259 - $data = Filesystem::readFile($root.$path); 260 - 261 - $data = $xformer->transformResource($path, $data); 262 - $hash = md5($data); 263 - $hash = md5($hash.$path.$resource_hash); 264 - 265 - $file_map[$path] = array( 266 - 'hash' => $hash, 267 - 'disk' => $path, 268 - ); 269 - } 270 - echo "\n"; 271 - 272 - $resource_graph = array(); 273 - $hash_map = array(); 274 - 275 - $parser = new PhutilDocblockParser(); 276 - foreach ($file_map as $path => $info) { 277 - $type = CelerityResourceTransformer::getResourceType($path); 278 - 279 - $data = Filesystem::readFile($root.$info['disk']); 280 - $matches = array(); 281 - $ok = preg_match('@/[*][*].*?[*]/@s', $data, $matches); 282 - if (!$ok) { 283 - throw new Exception( 284 - "File {$path} does not have a header doc comment. Encode dependency ". 285 - "data in a header docblock."); 286 - } 287 - 288 - list($description, $metadata) = $parser->parse($matches[0]); 289 - 290 - $provides = preg_split('/\s+/', trim(idx($metadata, 'provides'))); 291 - $requires = preg_split('/\s+/', trim(idx($metadata, 'requires'))); 292 - $provides = array_filter($provides); 293 - $requires = array_filter($requires); 294 - 295 - if (!$provides) { 296 - // Tests and documentation-only JS is permitted to @provide no targets. 297 - continue; 298 - } 299 - 300 - if (count($provides) > 1) { 301 - throw new Exception( 302 - "File {$path} must @provide at most one Celerity target."); 303 - } 304 - 305 - $provides = reset($provides); 306 - 307 - $uri = '/res/'.substr($info['hash'], 0, 8).$path; 308 - 309 - $hash_map[$provides] = $info['hash']; 310 - 311 - $resource_graph[$provides] = $requires; 312 - 313 - $runtime_map[$provides] = array( 314 - 'uri' => $uri, 315 - 'type' => $type, 316 - 'requires' => $requires, 317 - 'disk' => $path, 318 - ); 319 - } 320 - 321 - $celerity_resource_graph = new CelerityResourceGraph(); 322 - $celerity_resource_graph->addNodes($resource_graph); 323 - $celerity_resource_graph->setResourceGraph($resource_graph); 324 - $celerity_resource_graph->loadGraph(); 325 - 326 - foreach ($resource_graph as $provides => $requires) { 327 - $cycle = $celerity_resource_graph->detectCycles($provides); 328 - if ($cycle) { 329 - throw new Exception( 330 - "Cycle detected in resource graph: ". implode($cycle, " => ") 331 - ); 332 - } 333 - } 334 - 335 - $package_map = array(); 336 - foreach ($package_spec as $name => $package) { 337 - $hashes = array(); 338 - $type = null; 339 - foreach ($package as $symbol) { 340 - if (empty($hash_map[$symbol])) { 341 - throw new Exception( 342 - "Package specification for '{$name}' includes '{$symbol}', but that ". 343 - "symbol is not defined anywhere."); 344 - } 345 - if ($type === null) { 346 - $type = $runtime_map[$symbol]['type']; 347 - } else { 348 - $ntype = $runtime_map[$symbol]['type']; 349 - if ($type !== $ntype) { 350 - throw new Exception( 351 - "Package specification for '{$name}' mixes resources of type ". 352 - "'{$type}' with resources of type '{$ntype}'. Each package may only ". 353 - "contain one type of resource."); 354 - } 355 - } 356 - $hashes[] = $symbol.':'.$hash_map[$symbol]; 357 - } 358 - $key = substr(md5(implode("\n", $hashes)), 0, 8); 359 - $package_map['packages'][$key] = array( 360 - 'name' => $name, 361 - 'symbols' => $package, 362 - 'uri' => '/res/pkg/'.$key.'/'.$name, 363 - 'type' => $type, 364 - ); 365 - foreach ($package as $symbol) { 366 - $package_map['reverse'][$symbol] = $key; 367 - } 368 - } 369 - 370 - ksort($runtime_map); 371 - $runtime_map = var_export($runtime_map, true); 372 - $runtime_map = preg_replace('/\s+$/m', '', $runtime_map); 373 - $runtime_map = preg_replace('/array \(/', 'array(', $runtime_map); 374 - 375 - $package_map['packages'] = isort($package_map['packages'], 'name'); 376 - ksort($package_map['reverse']); 377 - $package_map = var_export($package_map, true); 378 - $package_map = preg_replace('/\s+$/m', '', $package_map); 379 - $package_map = preg_replace('/array \(/', 'array(', $package_map); 380 - 381 - $generated = '@'.'generated'; 382 - $resource_map = <<<EOFILE 383 - <?php 384 - 385 - /** 386 - * This file is automatically generated. Use 'celerity_mapper.php' to rebuild 387 - * it. 388 - * {$generated} 389 - */ 390 - 391 - celerity_register_resource_map({$runtime_map}, {$package_map}); 392 - 393 - EOFILE; 394 - 395 - echo "Writing map...\n"; 396 - Filesystem::writeFile($celerity_path, $resource_map); 397 - echo "Done.\n"; 4 + echo "This script is obsolete. Run `bin/celerity map` instead.\n"; 5 + exit(1);
-4773
src/__celerity_resource_map__.php
··· 1 - <?php 2 - 3 - /** 4 - * This file is automatically generated. Use 'celerity_mapper.php' to rebuild 5 - * it. 6 - * @generated 7 - */ 8 - 9 - celerity_register_resource_map(array( 10 - '/rsrc/image/actions/edit.png' => 11 - array( 12 - 'hash' => 'ae90914d120ac3838ddc633b480343f3', 13 - 'uri' => '/res/ae90914d/rsrc/image/actions/edit.png', 14 - 'disk' => '/rsrc/image/actions/edit.png', 15 - 'type' => 'png', 16 - ), 17 - '/rsrc/image/apple-touch-icon.png' => 18 - array( 19 - 'hash' => '3380adf2dd4a5efa0885618bc5943640', 20 - 'uri' => '/res/3380adf2/rsrc/image/apple-touch-icon.png', 21 - 'disk' => '/rsrc/image/apple-touch-icon.png', 22 - 'type' => 'png', 23 - ), 24 - '/rsrc/image/avatar.png' => 25 - array( 26 - 'hash' => '1c5f255071537f05406adee86717ff27', 27 - 'uri' => '/res/1c5f2550/rsrc/image/avatar.png', 28 - 'disk' => '/rsrc/image/avatar.png', 29 - 'type' => 'png', 30 - ), 31 - '/rsrc/image/checker_dark.png' => 32 - array( 33 - 'hash' => '640f795343df76ebe5409aae6187e57f', 34 - 'uri' => '/res/640f7953/rsrc/image/checker_dark.png', 35 - 'disk' => '/rsrc/image/checker_dark.png', 36 - 'type' => 'png', 37 - ), 38 - '/rsrc/image/checker_light.png' => 39 - array( 40 - 'hash' => '7f8f3ef8beb0f2cc4cc69efb9e1c3308', 41 - 'uri' => '/res/7f8f3ef8/rsrc/image/checker_light.png', 42 - 'disk' => '/rsrc/image/checker_light.png', 43 - 'type' => 'png', 44 - ), 45 - '/rsrc/image/credit_cards.png' => 46 - array( 47 - 'hash' => '681448de424ea159b6ea68af04c046ae', 48 - 'uri' => '/res/681448de/rsrc/image/credit_cards.png', 49 - 'disk' => '/rsrc/image/credit_cards.png', 50 - 'type' => 'png', 51 - ), 52 - '/rsrc/image/darkload.gif' => 53 - array( 54 - 'hash' => '3a52cb7145d6e70f461fed21273117f2', 55 - 'uri' => '/res/3a52cb71/rsrc/image/darkload.gif', 56 - 'disk' => '/rsrc/image/darkload.gif', 57 - 'type' => 'gif', 58 - ), 59 - '/rsrc/image/divot.png' => 60 - array( 61 - 'hash' => '3be267bd11ea375bf68e808893718e0e', 62 - 'uri' => '/res/3be267bd/rsrc/image/divot.png', 63 - 'disk' => '/rsrc/image/divot.png', 64 - 'type' => 'png', 65 - ), 66 - '/rsrc/image/grippy_texture.png' => 67 - array( 68 - 'hash' => 'a8945e12ceeaddd5b491a8d81cfa19c1', 69 - 'uri' => '/res/a8945e12/rsrc/image/grippy_texture.png', 70 - 'disk' => '/rsrc/image/grippy_texture.png', 71 - 'type' => 'png', 72 - ), 73 - '/rsrc/image/icon/fatcow/arrow_branch.png' => 74 - array( 75 - 'hash' => 'f27b67520766e3d971722bcff703f3a8', 76 - 'uri' => '/res/f27b6752/rsrc/image/icon/fatcow/arrow_branch.png', 77 - 'disk' => '/rsrc/image/icon/fatcow/arrow_branch.png', 78 - 'type' => 'png', 79 - ), 80 - '/rsrc/image/icon/fatcow/arrow_merge.png' => 81 - array( 82 - 'hash' => 'c4bd97f3b1257439e2123ef69d2194d0', 83 - 'uri' => '/res/c4bd97f3/rsrc/image/icon/fatcow/arrow_merge.png', 84 - 'disk' => '/rsrc/image/icon/fatcow/arrow_merge.png', 85 - 'type' => 'png', 86 - ), 87 - '/rsrc/image/icon/fatcow/bullet_black.png' => 88 - array( 89 - 'hash' => 'c148284c84aa02ba1190dcf7e31c8985', 90 - 'uri' => '/res/c148284c/rsrc/image/icon/fatcow/bullet_black.png', 91 - 'disk' => '/rsrc/image/icon/fatcow/bullet_black.png', 92 - 'type' => 'png', 93 - ), 94 - '/rsrc/image/icon/fatcow/bullet_orange.png' => 95 - array( 96 - 'hash' => '397bd1c948d9aaac5e440a9270c3697a', 97 - 'uri' => '/res/397bd1c9/rsrc/image/icon/fatcow/bullet_orange.png', 98 - 'disk' => '/rsrc/image/icon/fatcow/bullet_orange.png', 99 - 'type' => 'png', 100 - ), 101 - '/rsrc/image/icon/fatcow/bullet_red.png' => 102 - array( 103 - 'hash' => '470e3b2c2ca84ebdd476271b681f421b', 104 - 'uri' => '/res/470e3b2c/rsrc/image/icon/fatcow/bullet_red.png', 105 - 'disk' => '/rsrc/image/icon/fatcow/bullet_red.png', 106 - 'type' => 'png', 107 - ), 108 - '/rsrc/image/icon/fatcow/calendar_edit.png' => 109 - array( 110 - 'hash' => 'de249c0f4f37bf5b2c69ff39ec5573fb', 111 - 'uri' => '/res/de249c0f/rsrc/image/icon/fatcow/calendar_edit.png', 112 - 'disk' => '/rsrc/image/icon/fatcow/calendar_edit.png', 113 - 'type' => 'png', 114 - ), 115 - '/rsrc/image/icon/fatcow/document_black.png' => 116 - array( 117 - 'hash' => '44d65a7f05a9c921719deedc160d68f7', 118 - 'uri' => '/res/44d65a7f/rsrc/image/icon/fatcow/document_black.png', 119 - 'disk' => '/rsrc/image/icon/fatcow/document_black.png', 120 - 'type' => 'png', 121 - ), 122 - '/rsrc/image/icon/fatcow/flag_blue.png' => 123 - array( 124 - 'hash' => '75a080492f900fbe489e4b27e403962b', 125 - 'uri' => '/res/75a08049/rsrc/image/icon/fatcow/flag_blue.png', 126 - 'disk' => '/rsrc/image/icon/fatcow/flag_blue.png', 127 - 'type' => 'png', 128 - ), 129 - '/rsrc/image/icon/fatcow/flag_finish.png' => 130 - array( 131 - 'hash' => '4af11fc7fab8e4610cbc3c88a02d4f78', 132 - 'uri' => '/res/4af11fc7/rsrc/image/icon/fatcow/flag_finish.png', 133 - 'disk' => '/rsrc/image/icon/fatcow/flag_finish.png', 134 - 'type' => 'png', 135 - ), 136 - '/rsrc/image/icon/fatcow/flag_ghost.png' => 137 - array( 138 - 'hash' => '14c9f30a37b43f276f27a27a924bf02d', 139 - 'uri' => '/res/14c9f30a/rsrc/image/icon/fatcow/flag_ghost.png', 140 - 'disk' => '/rsrc/image/icon/fatcow/flag_ghost.png', 141 - 'type' => 'png', 142 - ), 143 - '/rsrc/image/icon/fatcow/flag_green.png' => 144 - array( 145 - 'hash' => 'fed01374cd396cb774872762dcc447e1', 146 - 'uri' => '/res/fed01374/rsrc/image/icon/fatcow/flag_green.png', 147 - 'disk' => '/rsrc/image/icon/fatcow/flag_green.png', 148 - 'type' => 'png', 149 - ), 150 - '/rsrc/image/icon/fatcow/flag_orange.png' => 151 - array( 152 - 'hash' => '88008cb8bb99761a37e5a743e2455aeb', 153 - 'uri' => '/res/88008cb8/rsrc/image/icon/fatcow/flag_orange.png', 154 - 'disk' => '/rsrc/image/icon/fatcow/flag_orange.png', 155 - 'type' => 'png', 156 - ), 157 - '/rsrc/image/icon/fatcow/flag_pink.png' => 158 - array( 159 - 'hash' => '2f199f06ffc3dfc81b7561a057e0bc33', 160 - 'uri' => '/res/2f199f06/rsrc/image/icon/fatcow/flag_pink.png', 161 - 'disk' => '/rsrc/image/icon/fatcow/flag_pink.png', 162 - 'type' => 'png', 163 - ), 164 - '/rsrc/image/icon/fatcow/flag_purple.png' => 165 - array( 166 - 'hash' => '16358629dc86c39550b575586eb5df80', 167 - 'uri' => '/res/16358629/rsrc/image/icon/fatcow/flag_purple.png', 168 - 'disk' => '/rsrc/image/icon/fatcow/flag_purple.png', 169 - 'type' => 'png', 170 - ), 171 - '/rsrc/image/icon/fatcow/flag_red.png' => 172 - array( 173 - 'hash' => '210c28b4d93c439a499f5814f5e05772', 174 - 'uri' => '/res/210c28b4/rsrc/image/icon/fatcow/flag_red.png', 175 - 'disk' => '/rsrc/image/icon/fatcow/flag_red.png', 176 - 'type' => 'png', 177 - ), 178 - '/rsrc/image/icon/fatcow/flag_yellow.png' => 179 - array( 180 - 'hash' => 'bdfd73744a80bb80329ae50bc8a5f962', 181 - 'uri' => '/res/bdfd7374/rsrc/image/icon/fatcow/flag_yellow.png', 182 - 'disk' => '/rsrc/image/icon/fatcow/flag_yellow.png', 183 - 'type' => 'png', 184 - ), 185 - '/rsrc/image/icon/fatcow/folder.png' => 186 - array( 187 - 'hash' => '25e46cf9d210dde2242332296f79938c', 188 - 'uri' => '/res/25e46cf9/rsrc/image/icon/fatcow/folder.png', 189 - 'disk' => '/rsrc/image/icon/fatcow/folder.png', 190 - 'type' => 'png', 191 - ), 192 - '/rsrc/image/icon/fatcow/folder_go.png' => 193 - array( 194 - 'hash' => 'ba922ff7959309f51a14cb7ed5124d8b', 195 - 'uri' => '/res/ba922ff7/rsrc/image/icon/fatcow/folder_go.png', 196 - 'disk' => '/rsrc/image/icon/fatcow/folder_go.png', 197 - 'type' => 'png', 198 - ), 199 - '/rsrc/image/icon/fatcow/key_question.png' => 200 - array( 201 - 'hash' => '530a6448a4b91edec091a9292ccfd3d9', 202 - 'uri' => '/res/530a6448/rsrc/image/icon/fatcow/key_question.png', 203 - 'disk' => '/rsrc/image/icon/fatcow/key_question.png', 204 - 'type' => 'png', 205 - ), 206 - '/rsrc/image/icon/fatcow/link.png' => 207 - array( 208 - 'hash' => 'be1bea49b216548433014f3324902928', 209 - 'uri' => '/res/be1bea49/rsrc/image/icon/fatcow/link.png', 210 - 'disk' => '/rsrc/image/icon/fatcow/link.png', 211 - 'type' => 'png', 212 - ), 213 - '/rsrc/image/icon/fatcow/page_white_edit.png' => 214 - array( 215 - 'hash' => 'e7b7e7f2d9730bc80bc5c9eac1f3e36d', 216 - 'uri' => '/res/e7b7e7f2/rsrc/image/icon/fatcow/page_white_edit.png', 217 - 'disk' => '/rsrc/image/icon/fatcow/page_white_edit.png', 218 - 'type' => 'png', 219 - ), 220 - '/rsrc/image/icon/fatcow/page_white_link.png' => 221 - array( 222 - 'hash' => '1cfbad14412bda6c6f132dcc7c8725fd', 223 - 'uri' => '/res/1cfbad14/rsrc/image/icon/fatcow/page_white_link.png', 224 - 'disk' => '/rsrc/image/icon/fatcow/page_white_link.png', 225 - 'type' => 'png', 226 - ), 227 - '/rsrc/image/icon/fatcow/page_white_put.png' => 228 - array( 229 - 'hash' => 'bb7308aa5ac40137a8262da395a267fd', 230 - 'uri' => '/res/bb7308aa/rsrc/image/icon/fatcow/page_white_put.png', 231 - 'disk' => '/rsrc/image/icon/fatcow/page_white_put.png', 232 - 'type' => 'png', 233 - ), 234 - '/rsrc/image/icon/fatcow/page_white_text.png' => 235 - array( 236 - 'hash' => 'e47d590b626f617fb7d1d44e96e8fd11', 237 - 'uri' => '/res/e47d590b/rsrc/image/icon/fatcow/page_white_text.png', 238 - 'disk' => '/rsrc/image/icon/fatcow/page_white_text.png', 239 - 'type' => 'png', 240 - ), 241 - '/rsrc/image/icon/fatcow/source/conduit.png' => 242 - array( 243 - 'hash' => '1cae0656580aa3cd0b54b9d98306b1b9', 244 - 'uri' => '/res/1cae0656/rsrc/image/icon/fatcow/source/conduit.png', 245 - 'disk' => '/rsrc/image/icon/fatcow/source/conduit.png', 246 - 'type' => 'png', 247 - ), 248 - '/rsrc/image/icon/fatcow/source/email.png' => 249 - array( 250 - 'hash' => '93bdb3e168da1ed68f50c42125729d4e', 251 - 'uri' => '/res/93bdb3e1/rsrc/image/icon/fatcow/source/email.png', 252 - 'disk' => '/rsrc/image/icon/fatcow/source/email.png', 253 - 'type' => 'png', 254 - ), 255 - '/rsrc/image/icon/fatcow/source/fax.png' => 256 - array( 257 - 'hash' => 'd7dedf229841f2d041b347afd881596f', 258 - 'uri' => '/res/d7dedf22/rsrc/image/icon/fatcow/source/fax.png', 259 - 'disk' => '/rsrc/image/icon/fatcow/source/fax.png', 260 - 'type' => 'png', 261 - ), 262 - '/rsrc/image/icon/fatcow/source/mobile.png' => 263 - array( 264 - 'hash' => '786e7146d1e7d7318baf76c9d2baad97', 265 - 'uri' => '/res/786e7146/rsrc/image/icon/fatcow/source/mobile.png', 266 - 'disk' => '/rsrc/image/icon/fatcow/source/mobile.png', 267 - 'type' => 'png', 268 - ), 269 - '/rsrc/image/icon/fatcow/source/tablet.png' => 270 - array( 271 - 'hash' => '374cd40e4965be6b2fbdef4059d0ca05', 272 - 'uri' => '/res/374cd40e/rsrc/image/icon/fatcow/source/tablet.png', 273 - 'disk' => '/rsrc/image/icon/fatcow/source/tablet.png', 274 - 'type' => 'png', 275 - ), 276 - '/rsrc/image/icon/fatcow/source/web.png' => 277 - array( 278 - 'hash' => 'f4882a8f5619ba505ca033f72a340635', 279 - 'uri' => '/res/f4882a8f/rsrc/image/icon/fatcow/source/web.png', 280 - 'disk' => '/rsrc/image/icon/fatcow/source/web.png', 281 - 'type' => 'png', 282 - ), 283 - '/rsrc/image/icon/fatcow/thumbnails/default160x120.png' => 284 - array( 285 - 'hash' => '1b52ebd1fe0eee3ed0abfc382991b265', 286 - 'uri' => '/res/1b52ebd1/rsrc/image/icon/fatcow/thumbnails/default160x120.png', 287 - 'disk' => '/rsrc/image/icon/fatcow/thumbnails/default160x120.png', 288 - 'type' => 'png', 289 - ), 290 - '/rsrc/image/icon/fatcow/thumbnails/default60x45.png' => 291 - array( 292 - 'hash' => '048d851d8d1daad4754e891e734c1899', 293 - 'uri' => '/res/048d851d/rsrc/image/icon/fatcow/thumbnails/default60x45.png', 294 - 'disk' => '/rsrc/image/icon/fatcow/thumbnails/default60x45.png', 295 - 'type' => 'png', 296 - ), 297 - '/rsrc/image/icon/fatcow/thumbnails/image160x120.png' => 298 - array( 299 - 'hash' => '434acbd8dbbc2da9f09f6205a396eba1', 300 - 'uri' => '/res/434acbd8/rsrc/image/icon/fatcow/thumbnails/image160x120.png', 301 - 'disk' => '/rsrc/image/icon/fatcow/thumbnails/image160x120.png', 302 - 'type' => 'png', 303 - ), 304 - '/rsrc/image/icon/fatcow/thumbnails/image60x45.png' => 305 - array( 306 - 'hash' => '29f7872dc53588fe0b8f0b330c7ee23a', 307 - 'uri' => '/res/29f7872d/rsrc/image/icon/fatcow/thumbnails/image60x45.png', 308 - 'disk' => '/rsrc/image/icon/fatcow/thumbnails/image60x45.png', 309 - 'type' => 'png', 310 - ), 311 - '/rsrc/image/icon/fatcow/thumbnails/pdf160x120.png' => 312 - array( 313 - 'hash' => '39d2e22541658a3472ba41ae2fa548e5', 314 - 'uri' => '/res/39d2e225/rsrc/image/icon/fatcow/thumbnails/pdf160x120.png', 315 - 'disk' => '/rsrc/image/icon/fatcow/thumbnails/pdf160x120.png', 316 - 'type' => 'png', 317 - ), 318 - '/rsrc/image/icon/fatcow/thumbnails/pdf60x45.png' => 319 - array( 320 - 'hash' => 'b3572e9317cbed5184d12bdfabed2727', 321 - 'uri' => '/res/b3572e93/rsrc/image/icon/fatcow/thumbnails/pdf60x45.png', 322 - 'disk' => '/rsrc/image/icon/fatcow/thumbnails/pdf60x45.png', 323 - 'type' => 'png', 324 - ), 325 - '/rsrc/image/icon/fatcow/thumbnails/zip160x120.png' => 326 - array( 327 - 'hash' => 'e505108688a903b5cfb674707a289bcc', 328 - 'uri' => '/res/e5051086/rsrc/image/icon/fatcow/thumbnails/zip160x120.png', 329 - 'disk' => '/rsrc/image/icon/fatcow/thumbnails/zip160x120.png', 330 - 'type' => 'png', 331 - ), 332 - '/rsrc/image/icon/fatcow/thumbnails/zip60x45.png' => 333 - array( 334 - 'hash' => 'f00716f4e8f7a95e70d43504f06be0a6', 335 - 'uri' => '/res/f00716f4/rsrc/image/icon/fatcow/thumbnails/zip60x45.png', 336 - 'disk' => '/rsrc/image/icon/fatcow/thumbnails/zip60x45.png', 337 - 'type' => 'png', 338 - ), 339 - '/rsrc/image/icon/lightbox/close-2.png' => 340 - array( 341 - 'hash' => '72ff3ddcc1ed5d19a715ed6242114b53', 342 - 'uri' => '/res/72ff3ddc/rsrc/image/icon/lightbox/close-2.png', 343 - 'disk' => '/rsrc/image/icon/lightbox/close-2.png', 344 - 'type' => 'png', 345 - ), 346 - '/rsrc/image/icon/lightbox/close-hover-2.png' => 347 - array( 348 - 'hash' => '6ad4bd4a7820547a1d9041752546ba16', 349 - 'uri' => '/res/6ad4bd4a/rsrc/image/icon/lightbox/close-hover-2.png', 350 - 'disk' => '/rsrc/image/icon/lightbox/close-hover-2.png', 351 - 'type' => 'png', 352 - ), 353 - '/rsrc/image/icon/lightbox/left-arrow-2.png' => 354 - array( 355 - 'hash' => 'd84cbb0d42739f87b8f25b2f1d2f1153', 356 - 'uri' => '/res/d84cbb0d/rsrc/image/icon/lightbox/left-arrow-2.png', 357 - 'disk' => '/rsrc/image/icon/lightbox/left-arrow-2.png', 358 - 'type' => 'png', 359 - ), 360 - '/rsrc/image/icon/lightbox/left-arrow-hover-2.png' => 361 - array( 362 - 'hash' => 'cdf05f98fff3f390cd8df0c89894a3e1', 363 - 'uri' => '/res/cdf05f98/rsrc/image/icon/lightbox/left-arrow-hover-2.png', 364 - 'disk' => '/rsrc/image/icon/lightbox/left-arrow-hover-2.png', 365 - 'type' => 'png', 366 - ), 367 - '/rsrc/image/icon/lightbox/right-arrow-2.png' => 368 - array( 369 - 'hash' => '52021038cb6995c71f62a804bc2d420d', 370 - 'uri' => '/res/52021038/rsrc/image/icon/lightbox/right-arrow-2.png', 371 - 'disk' => '/rsrc/image/icon/lightbox/right-arrow-2.png', 372 - 'type' => 'png', 373 - ), 374 - '/rsrc/image/icon/lightbox/right-arrow-hover-2.png' => 375 - array( 376 - 'hash' => '65d5756b7b9cfcdeb2eb197a9aa6bbd2', 377 - 'uri' => '/res/65d5756b/rsrc/image/icon/lightbox/right-arrow-hover-2.png', 378 - 'disk' => '/rsrc/image/icon/lightbox/right-arrow-hover-2.png', 379 - 'type' => 'png', 380 - ), 381 - '/rsrc/image/icon/subscribe.png' => 382 - array( 383 - 'hash' => '5f47a4b17de245af39a4e7a097e40623', 384 - 'uri' => '/res/5f47a4b1/rsrc/image/icon/subscribe.png', 385 - 'disk' => '/rsrc/image/icon/subscribe.png', 386 - 'type' => 'png', 387 - ), 388 - '/rsrc/image/icon/tango/attachment.png' => 389 - array( 390 - 'hash' => '776fed2de89803fd8a0ba4b9deede230', 391 - 'uri' => '/res/776fed2d/rsrc/image/icon/tango/attachment.png', 392 - 'disk' => '/rsrc/image/icon/tango/attachment.png', 393 - 'type' => 'png', 394 - ), 395 - '/rsrc/image/icon/tango/edit.png' => 396 - array( 397 - 'hash' => 'c0028d99dcf4e9559bbf3c88ce2d8a8d', 398 - 'uri' => '/res/c0028d99/rsrc/image/icon/tango/edit.png', 399 - 'disk' => '/rsrc/image/icon/tango/edit.png', 400 - 'type' => 'png', 401 - ), 402 - '/rsrc/image/icon/tango/go-down.png' => 403 - array( 404 - 'hash' => '96862812cbb0445573c264dc057b8300', 405 - 'uri' => '/res/96862812/rsrc/image/icon/tango/go-down.png', 406 - 'disk' => '/rsrc/image/icon/tango/go-down.png', 407 - 'type' => 'png', 408 - ), 409 - '/rsrc/image/icon/tango/log.png' => 410 - array( 411 - 'hash' => 'a6f72499bef279ff6807a7dbc5148f1e', 412 - 'uri' => '/res/a6f72499/rsrc/image/icon/tango/log.png', 413 - 'disk' => '/rsrc/image/icon/tango/log.png', 414 - 'type' => 'png', 415 - ), 416 - '/rsrc/image/icon/tango/upload.png' => 417 - array( 418 - 'hash' => '8c11b63d6d99db3d7159c5d9a94e3062', 419 - 'uri' => '/res/8c11b63d/rsrc/image/icon/tango/upload.png', 420 - 'disk' => '/rsrc/image/icon/tango/upload.png', 421 - 'type' => 'png', 422 - ), 423 - '/rsrc/image/icon/unsubscribe.png' => 424 - array( 425 - 'hash' => '29429ad65aa3af50b072b32087057361', 426 - 'uri' => '/res/29429ad6/rsrc/image/icon/unsubscribe.png', 427 - 'disk' => '/rsrc/image/icon/unsubscribe.png', 428 - 'type' => 'png', 429 - ), 430 - '/rsrc/image/loading.gif' => 431 - array( 432 - 'hash' => '664297671941142f37d8c89e717ff2ce', 433 - 'uri' => '/res/66429767/rsrc/image/loading.gif', 434 - 'disk' => '/rsrc/image/loading.gif', 435 - 'type' => 'gif', 436 - ), 437 - '/rsrc/image/loading/boating_24.gif' => 438 - array( 439 - 'hash' => '2cd349ded48d698ebe886ba97b2db0f7', 440 - 'uri' => '/res/2cd349de/rsrc/image/loading/boating_24.gif', 441 - 'disk' => '/rsrc/image/loading/boating_24.gif', 442 - 'type' => 'gif', 443 - ), 444 - '/rsrc/image/loading/compass_24.gif' => 445 - array( 446 - 'hash' => '726c1ed4bf23446e044d6b9d28250a07', 447 - 'uri' => '/res/726c1ed4/rsrc/image/loading/compass_24.gif', 448 - 'disk' => '/rsrc/image/loading/compass_24.gif', 449 - 'type' => 'gif', 450 - ), 451 - '/rsrc/image/loading/loading_24.gif' => 452 - array( 453 - 'hash' => 'd6dcc5e6111a44fb9a160fc27b19d85c', 454 - 'uri' => '/res/d6dcc5e6/rsrc/image/loading/loading_24.gif', 455 - 'disk' => '/rsrc/image/loading/loading_24.gif', 456 - 'type' => 'gif', 457 - ), 458 - '/rsrc/image/loading/loading_48.gif' => 459 - array( 460 - 'hash' => 'cb6fc6eb9c0a0efaf589978029080c58', 461 - 'uri' => '/res/cb6fc6eb/rsrc/image/loading/loading_48.gif', 462 - 'disk' => '/rsrc/image/loading/loading_48.gif', 463 - 'type' => 'gif', 464 - ), 465 - '/rsrc/image/loading/loading_d48.gif' => 466 - array( 467 - 'hash' => 'c5181f5e0ac8125ad9beda73fdf18e91', 468 - 'uri' => '/res/c5181f5e/rsrc/image/loading/loading_d48.gif', 469 - 'disk' => '/rsrc/image/loading/loading_d48.gif', 470 - 'type' => 'gif', 471 - ), 472 - '/rsrc/image/loading/loading_w24.gif' => 473 - array( 474 - 'hash' => '231857d68736e9bdda6bdbaaf924b8da', 475 - 'uri' => '/res/231857d6/rsrc/image/loading/loading_w24.gif', 476 - 'disk' => '/rsrc/image/loading/loading_w24.gif', 477 - 'type' => 'gif', 478 - ), 479 - '/rsrc/image/main_texture.png' => 480 - array( 481 - 'hash' => 'e34d8143384721be73ec9b7532a977ab', 482 - 'uri' => '/res/e34d8143/rsrc/image/main_texture.png', 483 - 'disk' => '/rsrc/image/main_texture.png', 484 - 'type' => 'png', 485 - ), 486 - '/rsrc/image/menu_texture.png' => 487 - array( 488 - 'hash' => 'ad020b1529b3a3b3480ca9de1d5f1e40', 489 - 'uri' => '/res/ad020b15/rsrc/image/menu_texture.png', 490 - 'disk' => '/rsrc/image/menu_texture.png', 491 - 'type' => 'png', 492 - ), 493 - '/rsrc/image/people/harding.png' => 494 - array( 495 - 'hash' => '818b035ace2c480aa8df7b7f11cef58b', 496 - 'uri' => '/res/818b035a/rsrc/image/people/harding.png', 497 - 'disk' => '/rsrc/image/people/harding.png', 498 - 'type' => 'png', 499 - ), 500 - '/rsrc/image/people/jefferson.png' => 501 - array( 502 - 'hash' => '55fe807ff02f9320e595fb59442e2038', 503 - 'uri' => '/res/55fe807f/rsrc/image/people/jefferson.png', 504 - 'disk' => '/rsrc/image/people/jefferson.png', 505 - 'type' => 'png', 506 - ), 507 - '/rsrc/image/people/lincoln.png' => 508 - array( 509 - 'hash' => '2363337947ab52fd5fda79e4a004e930', 510 - 'uri' => '/res/23633379/rsrc/image/people/lincoln.png', 511 - 'disk' => '/rsrc/image/people/lincoln.png', 512 - 'type' => 'png', 513 - ), 514 - '/rsrc/image/people/mckinley.png' => 515 - array( 516 - 'hash' => '0b7b05dd47c49a0874670e5e8200bba8', 517 - 'uri' => '/res/0b7b05dd/rsrc/image/people/mckinley.png', 518 - 'disk' => '/rsrc/image/people/mckinley.png', 519 - 'type' => 'png', 520 - ), 521 - '/rsrc/image/people/taft.png' => 522 - array( 523 - 'hash' => 'f3e47d45b59b0b009fd536dabae9a151', 524 - 'uri' => '/res/f3e47d45/rsrc/image/people/taft.png', 525 - 'disk' => '/rsrc/image/people/taft.png', 526 - 'type' => 'png', 527 - ), 528 - '/rsrc/image/people/washington.png' => 529 - array( 530 - 'hash' => '01412761cab769f7993d69eba986d949', 531 - 'uri' => '/res/01412761/rsrc/image/people/washington.png', 532 - 'disk' => '/rsrc/image/people/washington.png', 533 - 'type' => 'png', 534 - ), 535 - '/rsrc/image/phrequent_active.png' => 536 - array( 537 - 'hash' => '716cddc08630eaa33934b2008723cac0', 538 - 'uri' => '/res/716cddc0/rsrc/image/phrequent_active.png', 539 - 'disk' => '/rsrc/image/phrequent_active.png', 540 - 'type' => 'png', 541 - ), 542 - '/rsrc/image/phrequent_inactive.png' => 543 - array( 544 - 'hash' => 'f9099683873c01c5de1dc6650bd668fe', 545 - 'uri' => '/res/f9099683/rsrc/image/phrequent_inactive.png', 546 - 'disk' => '/rsrc/image/phrequent_inactive.png', 547 - 'type' => 'png', 548 - ), 549 - '/rsrc/image/search-white.png' => 550 - array( 551 - 'hash' => '5d5236170c4097fa7e7cbb32e737c9d8', 552 - 'uri' => '/res/5d523617/rsrc/image/search-white.png', 553 - 'disk' => '/rsrc/image/search-white.png', 554 - 'type' => 'png', 555 - ), 556 - '/rsrc/image/search.png' => 557 - array( 558 - 'hash' => 'ff7da044e6f923b8f569dec11f97e5e5', 559 - 'uri' => '/res/ff7da044/rsrc/image/search.png', 560 - 'disk' => '/rsrc/image/search.png', 561 - 'type' => 'png', 562 - ), 563 - '/rsrc/image/sprite-actions-X2.png' => 564 - array( 565 - 'hash' => '06962a5e8bea98ba7418d1d6cabcd7dc', 566 - 'uri' => '/res/06962a5e/rsrc/image/sprite-actions-X2.png', 567 - 'disk' => '/rsrc/image/sprite-actions-X2.png', 568 - 'type' => 'png', 569 - ), 570 - '/rsrc/image/sprite-actions.png' => 571 - array( 572 - 'hash' => 'd5dda5fab1e61b00538c9a4fa1ee94c8', 573 - 'uri' => '/res/d5dda5fa/rsrc/image/sprite-actions.png', 574 - 'disk' => '/rsrc/image/sprite-actions.png', 575 - 'type' => 'png', 576 - ), 577 - '/rsrc/image/sprite-apps-X2.png' => 578 - array( 579 - 'hash' => '0a299d77ed3fb3d3f90e2fe3c25c58a0', 580 - 'uri' => '/res/0a299d77/rsrc/image/sprite-apps-X2.png', 581 - 'disk' => '/rsrc/image/sprite-apps-X2.png', 582 - 'type' => 'png', 583 - ), 584 - '/rsrc/image/sprite-apps-large-X2.png' => 585 - array( 586 - 'hash' => '61edbd06b2a11b37052b9096055fff3a', 587 - 'uri' => '/res/61edbd06/rsrc/image/sprite-apps-large-X2.png', 588 - 'disk' => '/rsrc/image/sprite-apps-large-X2.png', 589 - 'type' => 'png', 590 - ), 591 - '/rsrc/image/sprite-apps-large.png' => 592 - array( 593 - 'hash' => '3ede2ddcdda59df6efa3498d8eabaf6a', 594 - 'uri' => '/res/3ede2ddc/rsrc/image/sprite-apps-large.png', 595 - 'disk' => '/rsrc/image/sprite-apps-large.png', 596 - 'type' => 'png', 597 - ), 598 - '/rsrc/image/sprite-apps-xlarge.png' => 599 - array( 600 - 'hash' => '992d2c278b6a22c0fa874d457a252fbd', 601 - 'uri' => '/res/992d2c27/rsrc/image/sprite-apps-xlarge.png', 602 - 'disk' => '/rsrc/image/sprite-apps-xlarge.png', 603 - 'type' => 'png', 604 - ), 605 - '/rsrc/image/sprite-apps.png' => 606 - array( 607 - 'hash' => '7cb14c52366d4055691e81de83765889', 608 - 'uri' => '/res/7cb14c52/rsrc/image/sprite-apps.png', 609 - 'disk' => '/rsrc/image/sprite-apps.png', 610 - 'type' => 'png', 611 - ), 612 - '/rsrc/image/sprite-conpherence-X2.png' => 613 - array( 614 - 'hash' => '5e47868b00933a9afb6c844e464e6b23', 615 - 'uri' => '/res/5e47868b/rsrc/image/sprite-conpherence-X2.png', 616 - 'disk' => '/rsrc/image/sprite-conpherence-X2.png', 617 - 'type' => 'png', 618 - ), 619 - '/rsrc/image/sprite-conpherence.png' => 620 - array( 621 - 'hash' => 'ca51f1be25213262d68e626e4cab7f0f', 622 - 'uri' => '/res/ca51f1be/rsrc/image/sprite-conpherence.png', 623 - 'disk' => '/rsrc/image/sprite-conpherence.png', 624 - 'type' => 'png', 625 - ), 626 - '/rsrc/image/sprite-docs-X2.png' => 627 - array( 628 - 'hash' => '57d3286ce88133f3ec9240e35f6bb897', 629 - 'uri' => '/res/57d3286c/rsrc/image/sprite-docs-X2.png', 630 - 'disk' => '/rsrc/image/sprite-docs-X2.png', 631 - 'type' => 'png', 632 - ), 633 - '/rsrc/image/sprite-docs.png' => 634 - array( 635 - 'hash' => 'b2b089072d6eddd831402a77c02b5736', 636 - 'uri' => '/res/b2b08907/rsrc/image/sprite-docs.png', 637 - 'disk' => '/rsrc/image/sprite-docs.png', 638 - 'type' => 'png', 639 - ), 640 - '/rsrc/image/sprite-gradient.png' => 641 - array( 642 - 'hash' => '1f0306b0ca281b1e5b96de0096269f1d', 643 - 'uri' => '/res/1f0306b0/rsrc/image/sprite-gradient.png', 644 - 'disk' => '/rsrc/image/sprite-gradient.png', 645 - 'type' => 'png', 646 - ), 647 - '/rsrc/image/sprite-icons-X2.png' => 648 - array( 649 - 'hash' => 'b43b8421da536c9bdf089a9e4872b0f6', 650 - 'uri' => '/res/b43b8421/rsrc/image/sprite-icons-X2.png', 651 - 'disk' => '/rsrc/image/sprite-icons-X2.png', 652 - 'type' => 'png', 653 - ), 654 - '/rsrc/image/sprite-icons.png' => 655 - array( 656 - 'hash' => '8e55fd0b070802003dc566feaa4828a1', 657 - 'uri' => '/res/8e55fd0b/rsrc/image/sprite-icons.png', 658 - 'disk' => '/rsrc/image/sprite-icons.png', 659 - 'type' => 'png', 660 - ), 661 - '/rsrc/image/sprite-login-X2.png' => 662 - array( 663 - 'hash' => '7176335e4e1604f94eacdb1790660560', 664 - 'uri' => '/res/7176335e/rsrc/image/sprite-login-X2.png', 665 - 'disk' => '/rsrc/image/sprite-login-X2.png', 666 - 'type' => 'png', 667 - ), 668 - '/rsrc/image/sprite-login.png' => 669 - array( 670 - 'hash' => '7d3eee260ee0beb90c12e26fbc48fd9c', 671 - 'uri' => '/res/7d3eee26/rsrc/image/sprite-login.png', 672 - 'disk' => '/rsrc/image/sprite-login.png', 673 - 'type' => 'png', 674 - ), 675 - '/rsrc/image/sprite-main-header.png' => 676 - array( 677 - 'hash' => 'a00aa3b33178899d6bd7979b475ae559', 678 - 'uri' => '/res/a00aa3b3/rsrc/image/sprite-main-header.png', 679 - 'disk' => '/rsrc/image/sprite-main-header.png', 680 - 'type' => 'png', 681 - ), 682 - '/rsrc/image/sprite-menu-X2.png' => 683 - array( 684 - 'hash' => '63b649a6ccba7bf76bc9456dc5dfb12b', 685 - 'uri' => '/res/63b649a6/rsrc/image/sprite-menu-X2.png', 686 - 'disk' => '/rsrc/image/sprite-menu-X2.png', 687 - 'type' => 'png', 688 - ), 689 - '/rsrc/image/sprite-menu.png' => 690 - array( 691 - 'hash' => 'e0e16618691d2cffe64e9c57843828ff', 692 - 'uri' => '/res/e0e16618/rsrc/image/sprite-menu.png', 693 - 'disk' => '/rsrc/image/sprite-menu.png', 694 - 'type' => 'png', 695 - ), 696 - '/rsrc/image/sprite-minicons-X2.png' => 697 - array( 698 - 'hash' => 'c420c6462f7e50ca9941ccc5dd9e3dec', 699 - 'uri' => '/res/c420c646/rsrc/image/sprite-minicons-X2.png', 700 - 'disk' => '/rsrc/image/sprite-minicons-X2.png', 701 - 'type' => 'png', 702 - ), 703 - '/rsrc/image/sprite-minicons.png' => 704 - array( 705 - 'hash' => '168bb875933624b3080a1cc134e5b4ed', 706 - 'uri' => '/res/168bb875/rsrc/image/sprite-minicons.png', 707 - 'disk' => '/rsrc/image/sprite-minicons.png', 708 - 'type' => 'png', 709 - ), 710 - '/rsrc/image/sprite-payments.png' => 711 - array( 712 - 'hash' => '5ce73fb580609e7cda16832e3577b147', 713 - 'uri' => '/res/5ce73fb5/rsrc/image/sprite-payments.png', 714 - 'disk' => '/rsrc/image/sprite-payments.png', 715 - 'type' => 'png', 716 - ), 717 - '/rsrc/image/sprite-projects-X2.png' => 718 - array( 719 - 'hash' => '3bd29905e197068a75ace63880a2b6eb', 720 - 'uri' => '/res/3bd29905/rsrc/image/sprite-projects-X2.png', 721 - 'disk' => '/rsrc/image/sprite-projects-X2.png', 722 - 'type' => 'png', 723 - ), 724 - '/rsrc/image/sprite-projects.png' => 725 - array( 726 - 'hash' => 'd9ec3fa470e6523520726ef75b011a03', 727 - 'uri' => '/res/d9ec3fa4/rsrc/image/sprite-projects.png', 728 - 'disk' => '/rsrc/image/sprite-projects.png', 729 - 'type' => 'png', 730 - ), 731 - '/rsrc/image/sprite-status-X2.png' => 732 - array( 733 - 'hash' => 'f197d134b8f851d7d0d29b1a2f82c13e', 734 - 'uri' => '/res/f197d134/rsrc/image/sprite-status-X2.png', 735 - 'disk' => '/rsrc/image/sprite-status-X2.png', 736 - 'type' => 'png', 737 - ), 738 - '/rsrc/image/sprite-status.png' => 739 - array( 740 - 'hash' => '9246600e0ee7860a5c65b3cc1f66961d', 741 - 'uri' => '/res/9246600e/rsrc/image/sprite-status.png', 742 - 'disk' => '/rsrc/image/sprite-status.png', 743 - 'type' => 'png', 744 - ), 745 - '/rsrc/image/sprite-tokens-X2.png' => 746 - array( 747 - 'hash' => '8b822687e6b1088cbb5ea89cf6d351a4', 748 - 'uri' => '/res/8b822687/rsrc/image/sprite-tokens-X2.png', 749 - 'disk' => '/rsrc/image/sprite-tokens-X2.png', 750 - 'type' => 'png', 751 - ), 752 - '/rsrc/image/sprite-tokens.png' => 753 - array( 754 - 'hash' => '67c46fd75c885b76ecbfe46e71a476cc', 755 - 'uri' => '/res/67c46fd7/rsrc/image/sprite-tokens.png', 756 - 'disk' => '/rsrc/image/sprite-tokens.png', 757 - 'type' => 'png', 758 - ), 759 - '/rsrc/image/texture/card-gradient.png' => 760 - array( 761 - 'hash' => '268b7fdd758d4bf99db8de6770aae8af', 762 - 'uri' => '/res/268b7fdd/rsrc/image/texture/card-gradient.png', 763 - 'disk' => '/rsrc/image/texture/card-gradient.png', 764 - 'type' => 'png', 765 - ), 766 - '/rsrc/image/texture/dark-menu-hover.png' => 767 - array( 768 - 'hash' => 'a214a732644be34872e895b338b5d639', 769 - 'uri' => '/res/a214a732/rsrc/image/texture/dark-menu-hover.png', 770 - 'disk' => '/rsrc/image/texture/dark-menu-hover.png', 771 - 'type' => 'png', 772 - ), 773 - '/rsrc/image/texture/dark-menu.png' => 774 - array( 775 - 'hash' => '41ee673a762cec48a154b456ad5ac204', 776 - 'uri' => '/res/41ee673a/rsrc/image/texture/dark-menu.png', 777 - 'disk' => '/rsrc/image/texture/dark-menu.png', 778 - 'type' => 'png', 779 - ), 780 - '/rsrc/image/texture/grip.png' => 781 - array( 782 - 'hash' => 'f11bc231d241f1335cfca2933ad234e0', 783 - 'uri' => '/res/f11bc231/rsrc/image/texture/grip.png', 784 - 'disk' => '/rsrc/image/texture/grip.png', 785 - 'type' => 'png', 786 - ), 787 - '/rsrc/image/texture/panel-header-gradient.png' => 788 - array( 789 - 'hash' => 'ad9204dd3ef5b12b645d80677d8ccead', 790 - 'uri' => '/res/ad9204dd/rsrc/image/texture/panel-header-gradient.png', 791 - 'disk' => '/rsrc/image/texture/panel-header-gradient.png', 792 - 'type' => 'png', 793 - ), 794 - '/rsrc/image/texture/phlnx-bg.png' => 795 - array( 796 - 'hash' => 'a55a694da8b3874ca7a3105b7818f3a0', 797 - 'uri' => '/res/a55a694d/rsrc/image/texture/phlnx-bg.png', 798 - 'disk' => '/rsrc/image/texture/phlnx-bg.png', 799 - 'type' => 'png', 800 - ), 801 - '/rsrc/image/texture/pholio-background.gif' => 802 - array( 803 - 'hash' => 'cf4561af116edf393dc583e5119fb412', 804 - 'uri' => '/res/cf4561af/rsrc/image/texture/pholio-background.gif', 805 - 'disk' => '/rsrc/image/texture/pholio-background.gif', 806 - 'type' => 'gif', 807 - ), 808 - '/rsrc/image/texture/table_header.png' => 809 - array( 810 - 'hash' => '4ed3f56a30d3749e8f62052b9735a316', 811 - 'uri' => '/res/4ed3f56a/rsrc/image/texture/table_header.png', 812 - 'disk' => '/rsrc/image/texture/table_header.png', 813 - 'type' => 'png', 814 - ), 815 - '/rsrc/image/texture/table_header_hover.png' => 816 - array( 817 - 'hash' => 'ea1f71a604e9b4859de1e25751540437', 818 - 'uri' => '/res/ea1f71a6/rsrc/image/texture/table_header_hover.png', 819 - 'disk' => '/rsrc/image/texture/table_header_hover.png', 820 - 'type' => 'png', 821 - ), 822 - '/rsrc/image/texture/table_header_tall.png' => 823 - array( 824 - 'hash' => 'b05525601f78d759f1c5e47fd9c1a8aa', 825 - 'uri' => '/res/b0552560/rsrc/image/texture/table_header_tall.png', 826 - 'disk' => '/rsrc/image/texture/table_header_tall.png', 827 - 'type' => 'png', 828 - ), 829 - '/rsrc/swf/aphlict.swf' => 830 - array( 831 - 'hash' => '4b9a9d83bebaf254f3790e87b45c1f92', 832 - 'uri' => '/res/4b9a9d83/rsrc/swf/aphlict.swf', 833 - 'disk' => '/rsrc/swf/aphlict.swf', 834 - 'type' => 'swf', 835 - ), 836 - 'aphront-bars' => 837 - array( 838 - 'uri' => '/res/dc8fd846/rsrc/css/aphront/aphront-bars.css', 839 - 'type' => 'css', 840 - 'requires' => 841 - array( 842 - ), 843 - 'disk' => '/rsrc/css/aphront/aphront-bars.css', 844 - ), 845 - 'aphront-calendar-view-css' => 846 - array( 847 - 'uri' => '/res/d5a33deb/rsrc/css/aphront/calendar-view.css', 848 - 'type' => 'css', 849 - 'requires' => 850 - array( 851 - ), 852 - 'disk' => '/rsrc/css/aphront/calendar-view.css', 853 - ), 854 - 'aphront-contextbar-view-css' => 855 - array( 856 - 'uri' => '/res/d2e04a0a/rsrc/css/aphront/context-bar.css', 857 - 'type' => 'css', 858 - 'requires' => 859 - array( 860 - ), 861 - 'disk' => '/rsrc/css/aphront/context-bar.css', 862 - ), 863 - 'aphront-dark-console-css' => 864 - array( 865 - 'uri' => '/res/5c341863/rsrc/css/aphront/dark-console.css', 866 - 'type' => 'css', 867 - 'requires' => 868 - array( 869 - ), 870 - 'disk' => '/rsrc/css/aphront/dark-console.css', 871 - ), 872 - 'aphront-dialog-view-css' => 873 - array( 874 - 'uri' => '/res/8f151d2a/rsrc/css/aphront/dialog-view.css', 875 - 'type' => 'css', 876 - 'requires' => 877 - array( 878 - ), 879 - 'disk' => '/rsrc/css/aphront/dialog-view.css', 880 - ), 881 - 'aphront-error-view-css' => 882 - array( 883 - 'uri' => '/res/cb571901/rsrc/css/aphront/error-view.css', 884 - 'type' => 'css', 885 - 'requires' => 886 - array( 887 - ), 888 - 'disk' => '/rsrc/css/aphront/error-view.css', 889 - ), 890 - 'aphront-list-filter-view-css' => 891 - array( 892 - 'uri' => '/res/b770e0da/rsrc/css/aphront/list-filter-view.css', 893 - 'type' => 'css', 894 - 'requires' => 895 - array( 896 - ), 897 - 'disk' => '/rsrc/css/aphront/list-filter-view.css', 898 - ), 899 - 'aphront-multi-column-view-css' => 900 - array( 901 - 'uri' => '/res/9d2b2374/rsrc/css/aphront/multi-column.css', 902 - 'type' => 'css', 903 - 'requires' => 904 - array( 905 - ), 906 - 'disk' => '/rsrc/css/aphront/multi-column.css', 907 - ), 908 - 'aphront-notes' => 909 - array( 910 - 'uri' => '/res/ac115367/rsrc/css/aphront/aphront-notes.css', 911 - 'type' => 'css', 912 - 'requires' => 913 - array( 914 - ), 915 - 'disk' => '/rsrc/css/aphront/aphront-notes.css', 916 - ), 917 - 'aphront-pager-view-css' => 918 - array( 919 - 'uri' => '/res/67e2fb75/rsrc/css/aphront/pager-view.css', 920 - 'type' => 'css', 921 - 'requires' => 922 - array( 923 - ), 924 - 'disk' => '/rsrc/css/aphront/pager-view.css', 925 - ), 926 - 'aphront-panel-view-css' => 927 - array( 928 - 'uri' => '/res/70d7011b/rsrc/css/aphront/panel-view.css', 929 - 'type' => 'css', 930 - 'requires' => 931 - array( 932 - ), 933 - 'disk' => '/rsrc/css/aphront/panel-view.css', 934 - ), 935 - 'aphront-request-failure-view-css' => 936 - array( 937 - 'uri' => '/res/c9a43002/rsrc/css/aphront/request-failure-view.css', 938 - 'type' => 'css', 939 - 'requires' => 940 - array( 941 - ), 942 - 'disk' => '/rsrc/css/aphront/request-failure-view.css', 943 - ), 944 - 'aphront-table-view-css' => 945 - array( 946 - 'uri' => '/res/24f51f0b/rsrc/css/aphront/table-view.css', 947 - 'type' => 'css', 948 - 'requires' => 949 - array( 950 - ), 951 - 'disk' => '/rsrc/css/aphront/table-view.css', 952 - ), 953 - 'aphront-tokenizer-control-css' => 954 - array( 955 - 'uri' => '/res/36192cf2/rsrc/css/aphront/tokenizer.css', 956 - 'type' => 'css', 957 - 'requires' => 958 - array( 959 - 0 => 'aphront-typeahead-control-css', 960 - ), 961 - 'disk' => '/rsrc/css/aphront/tokenizer.css', 962 - ), 963 - 'aphront-tooltip-css' => 964 - array( 965 - 'uri' => '/res/3a7d8e07/rsrc/css/aphront/tooltip.css', 966 - 'type' => 'css', 967 - 'requires' => 968 - array( 969 - ), 970 - 'disk' => '/rsrc/css/aphront/tooltip.css', 971 - ), 972 - 'aphront-two-column-view-css' => 973 - array( 974 - 'uri' => '/res/4263aa98/rsrc/css/aphront/two-column.css', 975 - 'type' => 'css', 976 - 'requires' => 977 - array( 978 - ), 979 - 'disk' => '/rsrc/css/aphront/two-column.css', 980 - ), 981 - 'aphront-typeahead-control-css' => 982 - array( 983 - 'uri' => '/res/c6ad64bb/rsrc/css/aphront/typeahead.css', 984 - 'type' => 'css', 985 - 'requires' => 986 - array( 987 - ), 988 - 'disk' => '/rsrc/css/aphront/typeahead.css', 989 - ), 990 - 'auth-css' => 991 - array( 992 - 'uri' => '/res/a55f96ce/rsrc/css/application/auth/auth.css', 993 - 'type' => 'css', 994 - 'requires' => 995 - array( 996 - ), 997 - 'disk' => '/rsrc/css/application/auth/auth.css', 998 - ), 999 - 'config-options-css' => 1000 - array( 1001 - 'uri' => '/res/4b5b6779/rsrc/css/application/config/config-options.css', 1002 - 'type' => 'css', 1003 - 'requires' => 1004 - array( 1005 - ), 1006 - 'disk' => '/rsrc/css/application/config/config-options.css', 1007 - ), 1008 - 'conpherence-menu-css' => 1009 - array( 1010 - 'uri' => '/res/cd61e53d/rsrc/css/application/conpherence/menu.css', 1011 - 'type' => 'css', 1012 - 'requires' => 1013 - array( 1014 - ), 1015 - 'disk' => '/rsrc/css/application/conpherence/menu.css', 1016 - ), 1017 - 'conpherence-message-pane-css' => 1018 - array( 1019 - 'uri' => '/res/d3ccc391/rsrc/css/application/conpherence/message-pane.css', 1020 - 'type' => 'css', 1021 - 'requires' => 1022 - array( 1023 - ), 1024 - 'disk' => '/rsrc/css/application/conpherence/message-pane.css', 1025 - ), 1026 - 'conpherence-notification-css' => 1027 - array( 1028 - 'uri' => '/res/232c8cdb/rsrc/css/application/conpherence/notification.css', 1029 - 'type' => 'css', 1030 - 'requires' => 1031 - array( 1032 - ), 1033 - 'disk' => '/rsrc/css/application/conpherence/notification.css', 1034 - ), 1035 - 'conpherence-update-css' => 1036 - array( 1037 - 'uri' => '/res/92094ed7/rsrc/css/application/conpherence/update.css', 1038 - 'type' => 'css', 1039 - 'requires' => 1040 - array( 1041 - ), 1042 - 'disk' => '/rsrc/css/application/conpherence/update.css', 1043 - ), 1044 - 'conpherence-widget-pane-css' => 1045 - array( 1046 - 'uri' => '/res/a1ebb7cc/rsrc/css/application/conpherence/widget-pane.css', 1047 - 'type' => 'css', 1048 - 'requires' => 1049 - array( 1050 - ), 1051 - 'disk' => '/rsrc/css/application/conpherence/widget-pane.css', 1052 - ), 1053 - 'differential-changeset-view-css' => 1054 - array( 1055 - 'uri' => '/res/3f6270fc/rsrc/css/application/differential/changeset-view.css', 1056 - 'type' => 'css', 1057 - 'requires' => 1058 - array( 1059 - ), 1060 - 'disk' => '/rsrc/css/application/differential/changeset-view.css', 1061 - ), 1062 - 'differential-core-view-css' => 1063 - array( 1064 - 'uri' => '/res/18563185/rsrc/css/application/differential/core.css', 1065 - 'type' => 'css', 1066 - 'requires' => 1067 - array( 1068 - ), 1069 - 'disk' => '/rsrc/css/application/differential/core.css', 1070 - ), 1071 - 'differential-inline-comment-editor' => 1072 - array( 1073 - 'uri' => '/res/e952d210/rsrc/js/application/differential/DifferentialInlineCommentEditor.js', 1074 - 'type' => 'js', 1075 - 'requires' => 1076 - array( 1077 - 0 => 'javelin-dom', 1078 - 1 => 'javelin-util', 1079 - 2 => 'javelin-stratcom', 1080 - 3 => 'javelin-install', 1081 - 4 => 'javelin-request', 1082 - 5 => 'javelin-workflow', 1083 - ), 1084 - 'disk' => '/rsrc/js/application/differential/DifferentialInlineCommentEditor.js', 1085 - ), 1086 - 'differential-local-commits-view-css' => 1087 - array( 1088 - 'uri' => '/res/c6e9db42/rsrc/css/application/differential/local-commits-view.css', 1089 - 'type' => 'css', 1090 - 'requires' => 1091 - array( 1092 - ), 1093 - 'disk' => '/rsrc/css/application/differential/local-commits-view.css', 1094 - ), 1095 - 'differential-results-table-css' => 1096 - array( 1097 - 'uri' => '/res/5e37cf75/rsrc/css/application/differential/results-table.css', 1098 - 'type' => 'css', 1099 - 'requires' => 1100 - array( 1101 - ), 1102 - 'disk' => '/rsrc/css/application/differential/results-table.css', 1103 - ), 1104 - 'differential-revision-add-comment-css' => 1105 - array( 1106 - 'uri' => '/res/849748d3/rsrc/css/application/differential/add-comment.css', 1107 - 'type' => 'css', 1108 - 'requires' => 1109 - array( 1110 - ), 1111 - 'disk' => '/rsrc/css/application/differential/add-comment.css', 1112 - ), 1113 - 'differential-revision-comment-css' => 1114 - array( 1115 - 'uri' => '/res/e2dda8b5/rsrc/css/application/differential/revision-comment.css', 1116 - 'type' => 'css', 1117 - 'requires' => 1118 - array( 1119 - ), 1120 - 'disk' => '/rsrc/css/application/differential/revision-comment.css', 1121 - ), 1122 - 'differential-revision-comment-list-css' => 1123 - array( 1124 - 'uri' => '/res/6cc4ca9b/rsrc/css/application/differential/revision-comment-list.css', 1125 - 'type' => 'css', 1126 - 'requires' => 1127 - array( 1128 - ), 1129 - 'disk' => '/rsrc/css/application/differential/revision-comment-list.css', 1130 - ), 1131 - 'differential-revision-history-css' => 1132 - array( 1133 - 'uri' => '/res/13b4c17b/rsrc/css/application/differential/revision-history.css', 1134 - 'type' => 'css', 1135 - 'requires' => 1136 - array( 1137 - ), 1138 - 'disk' => '/rsrc/css/application/differential/revision-history.css', 1139 - ), 1140 - 'differential-revision-list-css' => 1141 - array( 1142 - 'uri' => '/res/fe6c4721/rsrc/css/application/differential/revision-list.css', 1143 - 'type' => 'css', 1144 - 'requires' => 1145 - array( 1146 - ), 1147 - 'disk' => '/rsrc/css/application/differential/revision-list.css', 1148 - ), 1149 - 'differential-table-of-contents-css' => 1150 - array( 1151 - 'uri' => '/res/3bb8c01f/rsrc/css/application/differential/table-of-contents.css', 1152 - 'type' => 'css', 1153 - 'requires' => 1154 - array( 1155 - ), 1156 - 'disk' => '/rsrc/css/application/differential/table-of-contents.css', 1157 - ), 1158 - 'diffusion-commit-view-css' => 1159 - array( 1160 - 'uri' => '/res/a48ea65a/rsrc/css/application/diffusion/commit-view.css', 1161 - 'type' => 'css', 1162 - 'requires' => 1163 - array( 1164 - ), 1165 - 'disk' => '/rsrc/css/application/diffusion/commit-view.css', 1166 - ), 1167 - 'diffusion-icons-css' => 1168 - array( 1169 - 'uri' => '/res/82e77537/rsrc/css/application/diffusion/diffusion-icons.css', 1170 - 'type' => 'css', 1171 - 'requires' => 1172 - array( 1173 - ), 1174 - 'disk' => '/rsrc/css/application/diffusion/diffusion-icons.css', 1175 - ), 1176 - 'diffusion-source-css' => 1177 - array( 1178 - 'uri' => '/res/5076c269/rsrc/css/application/diffusion/diffusion-source.css', 1179 - 'type' => 'css', 1180 - 'requires' => 1181 - array( 1182 - ), 1183 - 'disk' => '/rsrc/css/application/diffusion/diffusion-source.css', 1184 - ), 1185 - 'diviner-shared-css' => 1186 - array( 1187 - 'uri' => '/res/2e831eea/rsrc/css/diviner/diviner-shared.css', 1188 - 'type' => 'css', 1189 - 'requires' => 1190 - array( 1191 - ), 1192 - 'disk' => '/rsrc/css/diviner/diviner-shared.css', 1193 - ), 1194 - 'global-drag-and-drop-css' => 1195 - array( 1196 - 'uri' => '/res/4e24cb65/rsrc/css/application/files/global-drag-and-drop.css', 1197 - 'type' => 'css', 1198 - 'requires' => 1199 - array( 1200 - ), 1201 - 'disk' => '/rsrc/css/application/files/global-drag-and-drop.css', 1202 - ), 1203 - 'herald-css' => 1204 - array( 1205 - 'uri' => '/res/2150a55d/rsrc/css/application/herald/herald.css', 1206 - 'type' => 'css', 1207 - 'requires' => 1208 - array( 1209 - ), 1210 - 'disk' => '/rsrc/css/application/herald/herald.css', 1211 - ), 1212 - 'herald-rule-editor' => 1213 - array( 1214 - 'uri' => '/res/92c05b75/rsrc/js/application/herald/HeraldRuleEditor.js', 1215 - 'type' => 'js', 1216 - 'requires' => 1217 - array( 1218 - 0 => 'multirow-row-manager', 1219 - 1 => 'javelin-install', 1220 - 2 => 'javelin-typeahead', 1221 - 3 => 'javelin-util', 1222 - 4 => 'javelin-dom', 1223 - 5 => 'javelin-tokenizer', 1224 - 6 => 'javelin-typeahead-preloaded-source', 1225 - 7 => 'javelin-stratcom', 1226 - 8 => 'javelin-json', 1227 - 9 => 'phabricator-prefab', 1228 - ), 1229 - 'disk' => '/rsrc/js/application/herald/HeraldRuleEditor.js', 1230 - ), 1231 - 'herald-test-css' => 1232 - array( 1233 - 'uri' => '/res/51199954/rsrc/css/application/herald/herald-test.css', 1234 - 'type' => 'css', 1235 - 'requires' => 1236 - array( 1237 - ), 1238 - 'disk' => '/rsrc/css/application/herald/herald-test.css', 1239 - ), 1240 - 'inline-comment-summary-css' => 1241 - array( 1242 - 'uri' => '/res/3cf1f7a7/rsrc/css/application/diff/inline-comment-summary.css', 1243 - 'type' => 'css', 1244 - 'requires' => 1245 - array( 1246 - ), 1247 - 'disk' => '/rsrc/css/application/diff/inline-comment-summary.css', 1248 - ), 1249 - 'javelin-aphlict' => 1250 - array( 1251 - 'uri' => '/res/c0b9e53f/rsrc/js/application/aphlict/Aphlict.js', 1252 - 'type' => 'js', 1253 - 'requires' => 1254 - array( 1255 - 0 => 'javelin-install', 1256 - 1 => 'javelin-util', 1257 - ), 1258 - 'disk' => '/rsrc/js/application/aphlict/Aphlict.js', 1259 - ), 1260 - 'javelin-behavior' => 1261 - array( 1262 - 'uri' => '/res/15482715/rsrc/externals/javelin/lib/behavior.js', 1263 - 'type' => 'js', 1264 - 'requires' => 1265 - array( 1266 - 0 => 'javelin-magical-init', 1267 - 1 => 'javelin-util', 1268 - ), 1269 - 'disk' => '/rsrc/externals/javelin/lib/behavior.js', 1270 - ), 1271 - 'javelin-behavior-aphlict-dropdown' => 1272 - array( 1273 - 'uri' => '/res/3ff0c90a/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js', 1274 - 'type' => 'js', 1275 - 'requires' => 1276 - array( 1277 - 0 => 'javelin-behavior', 1278 - 1 => 'javelin-request', 1279 - 2 => 'javelin-stratcom', 1280 - 3 => 'javelin-vector', 1281 - 4 => 'javelin-dom', 1282 - 5 => 'javelin-uri', 1283 - ), 1284 - 'disk' => '/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js', 1285 - ), 1286 - 'javelin-behavior-aphlict-listen' => 1287 - array( 1288 - 'uri' => '/res/7487f207/rsrc/js/application/aphlict/behavior-aphlict-listen.js', 1289 - 'type' => 'js', 1290 - 'requires' => 1291 - array( 1292 - 0 => 'javelin-behavior', 1293 - 1 => 'javelin-aphlict', 1294 - 2 => 'javelin-stratcom', 1295 - 3 => 'javelin-request', 1296 - 4 => 'javelin-uri', 1297 - 5 => 'javelin-dom', 1298 - 6 => 'javelin-json', 1299 - 7 => 'phabricator-notification', 1300 - ), 1301 - 'disk' => '/rsrc/js/application/aphlict/behavior-aphlict-listen.js', 1302 - ), 1303 - 'javelin-behavior-aphront-basic-tokenizer' => 1304 - array( 1305 - 'uri' => '/res/c7fd9a7b/rsrc/js/core/behavior-tokenizer.js', 1306 - 'type' => 'js', 1307 - 'requires' => 1308 - array( 1309 - 0 => 'javelin-behavior', 1310 - 1 => 'phabricator-prefab', 1311 - ), 1312 - 'disk' => '/rsrc/js/core/behavior-tokenizer.js', 1313 - ), 1314 - 'javelin-behavior-aphront-crop' => 1315 - array( 1316 - 'uri' => '/res/8c800f36/rsrc/js/core/behavior-crop.js', 1317 - 'type' => 'js', 1318 - 'requires' => 1319 - array( 1320 - 0 => 'javelin-behavior', 1321 - 1 => 'javelin-dom', 1322 - 2 => 'javelin-vector', 1323 - 3 => 'javelin-magical-init', 1324 - ), 1325 - 'disk' => '/rsrc/js/core/behavior-crop.js', 1326 - ), 1327 - 'javelin-behavior-aphront-drag-and-drop-textarea' => 1328 - array( 1329 - 'uri' => '/res/a261f6e6/rsrc/js/core/behavior-drag-and-drop-textarea.js', 1330 - 'type' => 'js', 1331 - 'requires' => 1332 - array( 1333 - 0 => 'javelin-behavior', 1334 - 1 => 'javelin-dom', 1335 - 2 => 'phabricator-drag-and-drop-file-upload', 1336 - 3 => 'phabricator-textareautils', 1337 - ), 1338 - 'disk' => '/rsrc/js/core/behavior-drag-and-drop-textarea.js', 1339 - ), 1340 - 'javelin-behavior-aphront-form-disable-on-submit' => 1341 - array( 1342 - 'uri' => '/res/a4a4ff07/rsrc/js/core/behavior-form.js', 1343 - 'type' => 'js', 1344 - 'requires' => 1345 - array( 1346 - 0 => 'javelin-behavior', 1347 - 1 => 'javelin-stratcom', 1348 - 2 => 'javelin-dom', 1349 - ), 1350 - 'disk' => '/rsrc/js/core/behavior-form.js', 1351 - ), 1352 - 'javelin-behavior-aphront-more' => 1353 - array( 1354 - 'uri' => '/res/fae13324/rsrc/js/core/behavior-more.js', 1355 - 'type' => 'js', 1356 - 'requires' => 1357 - array( 1358 - 0 => 'javelin-behavior', 1359 - 1 => 'javelin-stratcom', 1360 - 2 => 'javelin-dom', 1361 - ), 1362 - 'disk' => '/rsrc/js/core/behavior-more.js', 1363 - ), 1364 - 'javelin-behavior-audio-source' => 1365 - array( 1366 - 'uri' => '/res/21831141/rsrc/js/core/behavior-audio-source.js', 1367 - 'type' => 'js', 1368 - 'requires' => 1369 - array( 1370 - 0 => 'javelin-behavior', 1371 - 1 => 'javelin-stratcom', 1372 - 2 => 'javelin-vector', 1373 - 3 => 'javelin-dom', 1374 - ), 1375 - 'disk' => '/rsrc/js/core/behavior-audio-source.js', 1376 - ), 1377 - 'javelin-behavior-audit-preview' => 1378 - array( 1379 - 'uri' => '/res/d8f31e46/rsrc/js/application/diffusion/behavior-audit-preview.js', 1380 - 'type' => 'js', 1381 - 'requires' => 1382 - array( 1383 - 0 => 'javelin-behavior', 1384 - 1 => 'javelin-dom', 1385 - 2 => 'javelin-util', 1386 - 3 => 'phabricator-shaped-request', 1387 - ), 1388 - 'disk' => '/rsrc/js/application/diffusion/behavior-audit-preview.js', 1389 - ), 1390 - 'javelin-behavior-balanced-payment-form' => 1391 - array( 1392 - 'uri' => '/res/6876492d/rsrc/js/application/phortune/behavior-balanced-payment-form.js', 1393 - 'type' => 'js', 1394 - 'requires' => 1395 - array( 1396 - 0 => 'javelin-behavior', 1397 - 1 => 'javelin-dom', 1398 - 2 => 'phortune-credit-card-form', 1399 - ), 1400 - 'disk' => '/rsrc/js/application/phortune/behavior-balanced-payment-form.js', 1401 - ), 1402 - 'javelin-behavior-config-reorder-fields' => 1403 - array( 1404 - 'uri' => '/res/691c5c8c/rsrc/js/application/config/behavior-reorder-fields.js', 1405 - 'type' => 'js', 1406 - 'requires' => 1407 - array( 1408 - 0 => 'javelin-behavior', 1409 - 1 => 'javelin-stratcom', 1410 - 2 => 'javelin-dom', 1411 - 3 => 'javelin-json', 1412 - 4 => 'phabricator-draggable-list', 1413 - ), 1414 - 'disk' => '/rsrc/js/application/config/behavior-reorder-fields.js', 1415 - ), 1416 - 'javelin-behavior-conpherence-menu' => 1417 - array( 1418 - 'uri' => '/res/f27205d4/rsrc/js/application/conpherence/behavior-menu.js', 1419 - 'type' => 'js', 1420 - 'requires' => 1421 - array( 1422 - 0 => 'javelin-behavior', 1423 - 1 => 'javelin-dom', 1424 - 2 => 'javelin-util', 1425 - 3 => 'javelin-stratcom', 1426 - 4 => 'javelin-workflow', 1427 - 5 => 'javelin-behavior-device', 1428 - 6 => 'javelin-history', 1429 - 7 => 'javelin-vector', 1430 - ), 1431 - 'disk' => '/rsrc/js/application/conpherence/behavior-menu.js', 1432 - ), 1433 - 'javelin-behavior-conpherence-pontificate' => 1434 - array( 1435 - 'uri' => '/res/19cb581b/rsrc/js/application/conpherence/behavior-pontificate.js', 1436 - 'type' => 'js', 1437 - 'requires' => 1438 - array( 1439 - 0 => 'javelin-behavior', 1440 - 1 => 'javelin-dom', 1441 - 2 => 'javelin-util', 1442 - 3 => 'javelin-workflow', 1443 - 4 => 'javelin-stratcom', 1444 - ), 1445 - 'disk' => '/rsrc/js/application/conpherence/behavior-pontificate.js', 1446 - ), 1447 - 'javelin-behavior-conpherence-widget-pane' => 1448 - array( 1449 - 'uri' => '/res/562ca20e/rsrc/js/application/conpherence/behavior-widget-pane.js', 1450 - 'type' => 'js', 1451 - 'requires' => 1452 - array( 1453 - 0 => 'javelin-behavior', 1454 - 1 => 'javelin-dom', 1455 - 2 => 'javelin-stratcom', 1456 - 3 => 'javelin-workflow', 1457 - 4 => 'javelin-util', 1458 - 5 => 'phabricator-notification', 1459 - 6 => 'javelin-behavior-device', 1460 - 7 => 'phabricator-dropdown-menu', 1461 - 8 => 'phabricator-menu-item', 1462 - ), 1463 - 'disk' => '/rsrc/js/application/conpherence/behavior-widget-pane.js', 1464 - ), 1465 - 'javelin-behavior-countdown-timer' => 1466 - array( 1467 - 'uri' => '/res/13d40efa/rsrc/js/application/countdown/timer.js', 1468 - 'type' => 'js', 1469 - 'requires' => 1470 - array( 1471 - 0 => 'javelin-behavior', 1472 - 1 => 'javelin-dom', 1473 - ), 1474 - 'disk' => '/rsrc/js/application/countdown/timer.js', 1475 - ), 1476 - 'javelin-behavior-dark-console' => 1477 - array( 1478 - 'uri' => '/res/1e2c7a5e/rsrc/js/core/behavior-dark-console.js', 1479 - 'type' => 'js', 1480 - 'requires' => 1481 - array( 1482 - 0 => 'javelin-behavior', 1483 - 1 => 'javelin-stratcom', 1484 - 2 => 'javelin-util', 1485 - 3 => 'javelin-dom', 1486 - 4 => 'javelin-request', 1487 - 5 => 'phabricator-keyboard-shortcut', 1488 - ), 1489 - 'disk' => '/rsrc/js/core/behavior-dark-console.js', 1490 - ), 1491 - 'javelin-behavior-device' => 1492 - array( 1493 - 'uri' => '/res/12e43f5a/rsrc/js/core/behavior-device.js', 1494 - 'type' => 'js', 1495 - 'requires' => 1496 - array( 1497 - 0 => 'javelin-behavior', 1498 - 1 => 'javelin-stratcom', 1499 - 2 => 'javelin-dom', 1500 - 3 => 'javelin-vector', 1501 - 4 => 'javelin-install', 1502 - ), 1503 - 'disk' => '/rsrc/js/core/behavior-device.js', 1504 - ), 1505 - 'javelin-behavior-differential-accept-with-errors' => 1506 - array( 1507 - 'uri' => '/res/8fea67b3/rsrc/js/application/differential/behavior-accept-with-errors.js', 1508 - 'type' => 'js', 1509 - 'requires' => 1510 - array( 1511 - 0 => 'javelin-behavior', 1512 - 1 => 'javelin-dom', 1513 - ), 1514 - 'disk' => '/rsrc/js/application/differential/behavior-accept-with-errors.js', 1515 - ), 1516 - 'javelin-behavior-differential-add-reviewers-and-ccs' => 1517 - array( 1518 - 'uri' => '/res/fd9f2c1c/rsrc/js/application/differential/behavior-add-reviewers-and-ccs.js', 1519 - 'type' => 'js', 1520 - 'requires' => 1521 - array( 1522 - 0 => 'javelin-behavior', 1523 - 1 => 'javelin-dom', 1524 - 2 => 'phabricator-prefab', 1525 - ), 1526 - 'disk' => '/rsrc/js/application/differential/behavior-add-reviewers-and-ccs.js', 1527 - ), 1528 - 'javelin-behavior-differential-comment-jump' => 1529 - array( 1530 - 'uri' => '/res/8ffb4222/rsrc/js/application/differential/behavior-comment-jump.js', 1531 - 'type' => 'js', 1532 - 'requires' => 1533 - array( 1534 - 0 => 'javelin-behavior', 1535 - 1 => 'javelin-stratcom', 1536 - 2 => 'javelin-dom', 1537 - ), 1538 - 'disk' => '/rsrc/js/application/differential/behavior-comment-jump.js', 1539 - ), 1540 - 'javelin-behavior-differential-diff-radios' => 1541 - array( 1542 - 'uri' => '/res/004cb66f/rsrc/js/application/differential/behavior-diff-radios.js', 1543 - 'type' => 'js', 1544 - 'requires' => 1545 - array( 1546 - 0 => 'javelin-behavior', 1547 - 1 => 'javelin-stratcom', 1548 - 2 => 'javelin-dom', 1549 - ), 1550 - 'disk' => '/rsrc/js/application/differential/behavior-diff-radios.js', 1551 - ), 1552 - 'javelin-behavior-differential-dropdown-menus' => 1553 - array( 1554 - 'uri' => '/res/722c679c/rsrc/js/application/differential/behavior-dropdown-menus.js', 1555 - 'type' => 'js', 1556 - 'requires' => 1557 - array( 1558 - 0 => 'javelin-behavior', 1559 - 1 => 'javelin-dom', 1560 - 2 => 'javelin-util', 1561 - 3 => 'javelin-stratcom', 1562 - 4 => 'phabricator-dropdown-menu', 1563 - 5 => 'phabricator-menu-item', 1564 - 6 => 'phabricator-phtize', 1565 - ), 1566 - 'disk' => '/rsrc/js/application/differential/behavior-dropdown-menus.js', 1567 - ), 1568 - 'javelin-behavior-differential-edit-inline-comments' => 1569 - array( 1570 - 'uri' => '/res/935d4012/rsrc/js/application/differential/behavior-edit-inline-comments.js', 1571 - 'type' => 'js', 1572 - 'requires' => 1573 - array( 1574 - 0 => 'javelin-behavior', 1575 - 1 => 'javelin-stratcom', 1576 - 2 => 'javelin-dom', 1577 - 3 => 'javelin-util', 1578 - 4 => 'javelin-vector', 1579 - 5 => 'differential-inline-comment-editor', 1580 - ), 1581 - 'disk' => '/rsrc/js/application/differential/behavior-edit-inline-comments.js', 1582 - ), 1583 - 'javelin-behavior-differential-feedback-preview' => 1584 - array( 1585 - 'uri' => '/res/4421fac6/rsrc/js/application/differential/behavior-comment-preview.js', 1586 - 'type' => 'js', 1587 - 'requires' => 1588 - array( 1589 - 0 => 'javelin-behavior', 1590 - 1 => 'javelin-stratcom', 1591 - 2 => 'javelin-dom', 1592 - 3 => 'javelin-request', 1593 - 4 => 'javelin-util', 1594 - 5 => 'phabricator-shaped-request', 1595 - ), 1596 - 'disk' => '/rsrc/js/application/differential/behavior-comment-preview.js', 1597 - ), 1598 - 'javelin-behavior-differential-keyboard-navigation' => 1599 - array( 1600 - 'uri' => '/res/22ed93ba/rsrc/js/application/differential/behavior-keyboard-nav.js', 1601 - 'type' => 'js', 1602 - 'requires' => 1603 - array( 1604 - 0 => 'javelin-behavior', 1605 - 1 => 'javelin-dom', 1606 - 2 => 'javelin-stratcom', 1607 - 3 => 'phabricator-keyboard-shortcut', 1608 - ), 1609 - 'disk' => '/rsrc/js/application/differential/behavior-keyboard-nav.js', 1610 - ), 1611 - 'javelin-behavior-differential-populate' => 1612 - array( 1613 - 'uri' => '/res/bb9a29f4/rsrc/js/application/differential/behavior-populate.js', 1614 - 'type' => 'js', 1615 - 'requires' => 1616 - array( 1617 - 0 => 'javelin-behavior', 1618 - 1 => 'javelin-workflow', 1619 - 2 => 'javelin-util', 1620 - 3 => 'javelin-dom', 1621 - 4 => 'javelin-stratcom', 1622 - 5 => 'javelin-behavior-device', 1623 - 6 => 'javelin-vector', 1624 - 7 => 'phabricator-tooltip', 1625 - ), 1626 - 'disk' => '/rsrc/js/application/differential/behavior-populate.js', 1627 - ), 1628 - 'javelin-behavior-differential-show-all-comments' => 1629 - array( 1630 - 'uri' => '/res/8801848d/rsrc/js/application/differential/behavior-show-all-comments.js', 1631 - 'type' => 'js', 1632 - 'requires' => 1633 - array( 1634 - 0 => 'javelin-behavior', 1635 - 1 => 'javelin-stratcom', 1636 - 2 => 'javelin-dom', 1637 - ), 1638 - 'disk' => '/rsrc/js/application/differential/behavior-show-all-comments.js', 1639 - ), 1640 - 'javelin-behavior-differential-show-field-details' => 1641 - array( 1642 - 'uri' => '/res/8d57f459/rsrc/js/application/differential/behavior-show-field-details.js', 1643 - 'type' => 'js', 1644 - 'requires' => 1645 - array( 1646 - 0 => 'javelin-behavior', 1647 - 1 => 'javelin-stratcom', 1648 - 2 => 'javelin-dom', 1649 - ), 1650 - 'disk' => '/rsrc/js/application/differential/behavior-show-field-details.js', 1651 - ), 1652 - 'javelin-behavior-differential-show-more' => 1653 - array( 1654 - 'uri' => '/res/03b7bc9e/rsrc/js/application/differential/behavior-show-more.js', 1655 - 'type' => 'js', 1656 - 'requires' => 1657 - array( 1658 - 0 => 'javelin-behavior', 1659 - 1 => 'javelin-dom', 1660 - 2 => 'javelin-workflow', 1661 - 3 => 'javelin-util', 1662 - 4 => 'javelin-stratcom', 1663 - ), 1664 - 'disk' => '/rsrc/js/application/differential/behavior-show-more.js', 1665 - ), 1666 - 'javelin-behavior-differential-toggle-files' => 1667 - array( 1668 - 'uri' => '/res/beb89813/rsrc/js/application/differential/behavior-toggle-files.js', 1669 - 'type' => 'js', 1670 - 'requires' => 1671 - array( 1672 - 0 => 'javelin-behavior', 1673 - 1 => 'javelin-dom', 1674 - 2 => 'javelin-stratcom', 1675 - 3 => 'phabricator-phtize', 1676 - ), 1677 - 'disk' => '/rsrc/js/application/differential/behavior-toggle-files.js', 1678 - ), 1679 - 'javelin-behavior-differential-user-select' => 1680 - array( 1681 - 'uri' => '/res/23c51a5d/rsrc/js/application/differential/behavior-user-select.js', 1682 - 'type' => 'js', 1683 - 'requires' => 1684 - array( 1685 - 0 => 'javelin-behavior', 1686 - 1 => 'javelin-dom', 1687 - 2 => 'javelin-stratcom', 1688 - ), 1689 - 'disk' => '/rsrc/js/application/differential/behavior-user-select.js', 1690 - ), 1691 - 'javelin-behavior-diffusion-commit-branches' => 1692 - array( 1693 - 'uri' => '/res/1ede335a/rsrc/js/application/diffusion/behavior-commit-branches.js', 1694 - 'type' => 'js', 1695 - 'requires' => 1696 - array( 1697 - 0 => 'javelin-behavior', 1698 - 1 => 'javelin-dom', 1699 - 2 => 'javelin-util', 1700 - 3 => 'javelin-request', 1701 - ), 1702 - 'disk' => '/rsrc/js/application/diffusion/behavior-commit-branches.js', 1703 - ), 1704 - 'javelin-behavior-diffusion-commit-graph' => 1705 - array( 1706 - 'uri' => '/res/536b8483/rsrc/js/application/diffusion/behavior-commit-graph.js', 1707 - 'type' => 'js', 1708 - 'requires' => 1709 - array( 1710 - 0 => 'javelin-behavior', 1711 - 1 => 'javelin-dom', 1712 - 2 => 'javelin-stratcom', 1713 - ), 1714 - 'disk' => '/rsrc/js/application/diffusion/behavior-commit-graph.js', 1715 - ), 1716 - 'javelin-behavior-diffusion-jump-to' => 1717 - array( 1718 - 'uri' => '/res/bade44bd/rsrc/js/application/diffusion/behavior-jump-to.js', 1719 - 'type' => 'js', 1720 - 'requires' => 1721 - array( 1722 - 0 => 'javelin-behavior', 1723 - 1 => 'javelin-vector', 1724 - 2 => 'javelin-dom', 1725 - ), 1726 - 'disk' => '/rsrc/js/application/diffusion/behavior-jump-to.js', 1727 - ), 1728 - 'javelin-behavior-diffusion-pull-lastmodified' => 1729 - array( 1730 - 'uri' => '/res/29fe2790/rsrc/js/application/diffusion/behavior-pull-lastmodified.js', 1731 - 'type' => 'js', 1732 - 'requires' => 1733 - array( 1734 - 0 => 'javelin-behavior', 1735 - 1 => 'javelin-dom', 1736 - 2 => 'javelin-util', 1737 - 3 => 'javelin-request', 1738 - ), 1739 - 'disk' => '/rsrc/js/application/diffusion/behavior-pull-lastmodified.js', 1740 - ), 1741 - 'javelin-behavior-doorkeeper-tag' => 1742 - array( 1743 - 'uri' => '/res/59480572/rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js', 1744 - 'type' => 'js', 1745 - 'requires' => 1746 - array( 1747 - 0 => 'javelin-behavior', 1748 - 1 => 'javelin-dom', 1749 - 2 => 'javelin-json', 1750 - 3 => 'javelin-workflow', 1751 - 4 => 'javelin-magical-init', 1752 - ), 1753 - 'disk' => '/rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js', 1754 - ), 1755 - 'javelin-behavior-error-log' => 1756 - array( 1757 - 'uri' => '/res/acefdea7/rsrc/js/core/behavior-error-log.js', 1758 - 'type' => 'js', 1759 - 'requires' => 1760 - array( 1761 - 0 => 'javelin-dom', 1762 - ), 1763 - 'disk' => '/rsrc/js/core/behavior-error-log.js', 1764 - ), 1765 - 'javelin-behavior-fancy-datepicker' => 1766 - array( 1767 - 'uri' => '/res/dcd7c2ca/rsrc/js/core/behavior-fancy-datepicker.js', 1768 - 'type' => 'js', 1769 - 'requires' => 1770 - array( 1771 - 0 => 'javelin-behavior', 1772 - 1 => 'javelin-util', 1773 - 2 => 'javelin-dom', 1774 - 3 => 'javelin-stratcom', 1775 - 4 => 'javelin-vector', 1776 - ), 1777 - 'disk' => '/rsrc/js/core/behavior-fancy-datepicker.js', 1778 - ), 1779 - 'javelin-behavior-global-drag-and-drop' => 1780 - array( 1781 - 'uri' => '/res/ee8e9c39/rsrc/js/core/behavior-global-drag-and-drop.js', 1782 - 'type' => 'js', 1783 - 'requires' => 1784 - array( 1785 - 0 => 'javelin-behavior', 1786 - 1 => 'javelin-dom', 1787 - 2 => 'javelin-uri', 1788 - 3 => 'javelin-mask', 1789 - 4 => 'phabricator-drag-and-drop-file-upload', 1790 - ), 1791 - 'disk' => '/rsrc/js/core/behavior-global-drag-and-drop.js', 1792 - ), 1793 - 'javelin-behavior-harbormaster-reorder-steps' => 1794 - array( 1795 - 'uri' => '/res/035fe63d/rsrc/js/application/harbormaster/behavior-reorder-steps.js', 1796 - 'type' => 'js', 1797 - 'requires' => 1798 - array( 1799 - 0 => 'javelin-behavior', 1800 - 1 => 'javelin-stratcom', 1801 - 2 => 'javelin-workflow', 1802 - 3 => 'javelin-dom', 1803 - 4 => 'phabricator-draggable-list', 1804 - ), 1805 - 'disk' => '/rsrc/js/application/harbormaster/behavior-reorder-steps.js', 1806 - ), 1807 - 'javelin-behavior-herald-rule-editor' => 1808 - array( 1809 - 'uri' => '/res/77a0c945/rsrc/js/application/herald/herald-rule-editor.js', 1810 - 'type' => 'js', 1811 - 'requires' => 1812 - array( 1813 - 0 => 'herald-rule-editor', 1814 - 1 => 'javelin-behavior', 1815 - ), 1816 - 'disk' => '/rsrc/js/application/herald/herald-rule-editor.js', 1817 - ), 1818 - 'javelin-behavior-history-install' => 1819 - array( 1820 - 'uri' => '/res/9099a161/rsrc/js/core/behavior-history-install.js', 1821 - 'type' => 'js', 1822 - 'requires' => 1823 - array( 1824 - 0 => 'javelin-behavior', 1825 - 1 => 'javelin-history', 1826 - ), 1827 - 'disk' => '/rsrc/js/core/behavior-history-install.js', 1828 - ), 1829 - 'javelin-behavior-icon-composer' => 1830 - array( 1831 - 'uri' => '/res/0be5c462/rsrc/js/application/files/behavior-icon-composer.js', 1832 - 'type' => 'js', 1833 - 'requires' => 1834 - array( 1835 - 0 => 'javelin-behavior', 1836 - 1 => 'javelin-dom', 1837 - 2 => 'javelin-stratcom', 1838 - ), 1839 - 'disk' => '/rsrc/js/application/files/behavior-icon-composer.js', 1840 - ), 1841 - 'javelin-behavior-konami' => 1842 - array( 1843 - 'uri' => '/res/b7bb7c24/rsrc/js/core/behavior-konami.js', 1844 - 'type' => 'js', 1845 - 'requires' => 1846 - array( 1847 - 0 => 'javelin-behavior', 1848 - 1 => 'javelin-stratcom', 1849 - ), 1850 - 'disk' => '/rsrc/js/core/behavior-konami.js', 1851 - ), 1852 - 'javelin-behavior-launch-icon-composer' => 1853 - array( 1854 - 'uri' => '/res/202488ac/rsrc/js/application/files/behavior-launch-icon-composer.js', 1855 - 'type' => 'js', 1856 - 'requires' => 1857 - array( 1858 - 0 => 'javelin-behavior', 1859 - 1 => 'javelin-dom', 1860 - 2 => 'javelin-workflow', 1861 - ), 1862 - 'disk' => '/rsrc/js/application/files/behavior-launch-icon-composer.js', 1863 - ), 1864 - 'javelin-behavior-lightbox-attachments' => 1865 - array( 1866 - 'uri' => '/res/72b4d3a8/rsrc/js/core/behavior-lightbox-attachments.js', 1867 - 'type' => 'js', 1868 - 'requires' => 1869 - array( 1870 - 0 => 'javelin-behavior', 1871 - 1 => 'javelin-stratcom', 1872 - 2 => 'javelin-dom', 1873 - 3 => 'javelin-mask', 1874 - 4 => 'javelin-util', 1875 - 5 => 'phabricator-busy', 1876 - ), 1877 - 'disk' => '/rsrc/js/core/behavior-lightbox-attachments.js', 1878 - ), 1879 - 'javelin-behavior-line-chart' => 1880 - array( 1881 - 'uri' => '/res/1aa5ac88/rsrc/js/application/maniphest/behavior-line-chart.js', 1882 - 'type' => 'js', 1883 - 'requires' => 1884 - array( 1885 - 0 => 'javelin-behavior', 1886 - 1 => 'javelin-dom', 1887 - 2 => 'javelin-vector', 1888 - ), 1889 - 'disk' => '/rsrc/js/application/maniphest/behavior-line-chart.js', 1890 - ), 1891 - 'javelin-behavior-load-blame' => 1892 - array( 1893 - 'uri' => '/res/138e2961/rsrc/js/application/diffusion/behavior-load-blame.js', 1894 - 'type' => 'js', 1895 - 'requires' => 1896 - array( 1897 - 0 => 'javelin-behavior', 1898 - 1 => 'javelin-dom', 1899 - 2 => 'javelin-request', 1900 - ), 1901 - 'disk' => '/rsrc/js/application/diffusion/behavior-load-blame.js', 1902 - ), 1903 - 'javelin-behavior-maniphest-batch-editor' => 1904 - array( 1905 - 'uri' => '/res/81b2b86f/rsrc/js/application/maniphest/behavior-batch-editor.js', 1906 - 'type' => 'js', 1907 - 'requires' => 1908 - array( 1909 - 0 => 'javelin-behavior', 1910 - 1 => 'javelin-dom', 1911 - 2 => 'javelin-util', 1912 - 3 => 'phabricator-prefab', 1913 - 4 => 'multirow-row-manager', 1914 - 5 => 'javelin-json', 1915 - ), 1916 - 'disk' => '/rsrc/js/application/maniphest/behavior-batch-editor.js', 1917 - ), 1918 - 'javelin-behavior-maniphest-batch-selector' => 1919 - array( 1920 - 'uri' => '/res/a82658b3/rsrc/js/application/maniphest/behavior-batch-selector.js', 1921 - 'type' => 'js', 1922 - 'requires' => 1923 - array( 1924 - 0 => 'javelin-behavior', 1925 - 1 => 'javelin-dom', 1926 - 2 => 'javelin-stratcom', 1927 - 3 => 'javelin-util', 1928 - ), 1929 - 'disk' => '/rsrc/js/application/maniphest/behavior-batch-selector.js', 1930 - ), 1931 - 'javelin-behavior-maniphest-list-editor' => 1932 - array( 1933 - 'uri' => '/res/a251e72f/rsrc/js/application/maniphest/behavior-list-edit.js', 1934 - 'type' => 'js', 1935 - 'requires' => 1936 - array( 1937 - 0 => 'javelin-behavior', 1938 - 1 => 'javelin-dom', 1939 - 2 => 'javelin-stratcom', 1940 - 3 => 'javelin-workflow', 1941 - 4 => 'javelin-fx', 1942 - 5 => 'javelin-util', 1943 - ), 1944 - 'disk' => '/rsrc/js/application/maniphest/behavior-list-edit.js', 1945 - ), 1946 - 'javelin-behavior-maniphest-subpriority-editor' => 1947 - array( 1948 - 'uri' => '/res/95f3d4a6/rsrc/js/application/maniphest/behavior-subpriorityeditor.js', 1949 - 'type' => 'js', 1950 - 'requires' => 1951 - array( 1952 - 0 => 'javelin-behavior', 1953 - 1 => 'javelin-dom', 1954 - 2 => 'javelin-stratcom', 1955 - 3 => 'javelin-workflow', 1956 - 4 => 'phabricator-draggable-list', 1957 - ), 1958 - 'disk' => '/rsrc/js/application/maniphest/behavior-subpriorityeditor.js', 1959 - ), 1960 - 'javelin-behavior-maniphest-transaction-controls' => 1961 - array( 1962 - 'uri' => '/res/e8498688/rsrc/js/application/maniphest/behavior-transaction-controls.js', 1963 - 'type' => 'js', 1964 - 'requires' => 1965 - array( 1966 - 0 => 'javelin-behavior', 1967 - 1 => 'javelin-dom', 1968 - 2 => 'phabricator-prefab', 1969 - ), 1970 - 'disk' => '/rsrc/js/application/maniphest/behavior-transaction-controls.js', 1971 - ), 1972 - 'javelin-behavior-maniphest-transaction-expand' => 1973 - array( 1974 - 'uri' => '/res/966410de/rsrc/js/application/maniphest/behavior-transaction-expand.js', 1975 - 'type' => 'js', 1976 - 'requires' => 1977 - array( 1978 - 0 => 'javelin-behavior', 1979 - 1 => 'javelin-dom', 1980 - 2 => 'javelin-workflow', 1981 - 3 => 'javelin-stratcom', 1982 - ), 1983 - 'disk' => '/rsrc/js/application/maniphest/behavior-transaction-expand.js', 1984 - ), 1985 - 'javelin-behavior-maniphest-transaction-preview' => 1986 - array( 1987 - 'uri' => '/res/9447a3f9/rsrc/js/application/maniphest/behavior-transaction-preview.js', 1988 - 'type' => 'js', 1989 - 'requires' => 1990 - array( 1991 - 0 => 'javelin-behavior', 1992 - 1 => 'javelin-dom', 1993 - 2 => 'javelin-util', 1994 - 3 => 'javelin-json', 1995 - 4 => 'javelin-stratcom', 1996 - 5 => 'phabricator-shaped-request', 1997 - ), 1998 - 'disk' => '/rsrc/js/application/maniphest/behavior-transaction-preview.js', 1999 - ), 2000 - 'javelin-behavior-owners-path-editor' => 2001 - array( 2002 - 'uri' => '/res/9cf78ffc/rsrc/js/application/owners/owners-path-editor.js', 2003 - 'type' => 'js', 2004 - 'requires' => 2005 - array( 2006 - 0 => 'owners-path-editor', 2007 - 1 => 'javelin-behavior', 2008 - ), 2009 - 'disk' => '/rsrc/js/application/owners/owners-path-editor.js', 2010 - ), 2011 - 'javelin-behavior-passphrase-credential-control' => 2012 - array( 2013 - 'uri' => '/res/70823662/rsrc/js/application/passphrase/phame-credential-control.js', 2014 - 'type' => 'js', 2015 - 'requires' => 2016 - array( 2017 - 0 => 'javelin-behavior', 2018 - 1 => 'javelin-dom', 2019 - 2 => 'javelin-stratcom', 2020 - 3 => 'javelin-workflow', 2021 - 4 => 'javelin-util', 2022 - 5 => 'javelin-uri', 2023 - ), 2024 - 'disk' => '/rsrc/js/application/passphrase/phame-credential-control.js', 2025 - ), 2026 - 'javelin-behavior-persona-login' => 2027 - array( 2028 - 'uri' => '/res/128fdf56/rsrc/js/application/auth/behavior-persona-login.js', 2029 - 'type' => 'js', 2030 - 'requires' => 2031 - array( 2032 - 0 => 'javelin-behavior', 2033 - 1 => 'javelin-resource', 2034 - 2 => 'javelin-stratcom', 2035 - 3 => 'javelin-workflow', 2036 - 4 => 'javelin-util', 2037 - ), 2038 - 'disk' => '/rsrc/js/application/auth/behavior-persona-login.js', 2039 - ), 2040 - 'javelin-behavior-phabricator-active-nav' => 2041 - array( 2042 - 'uri' => '/res/9c8d3df8/rsrc/js/core/behavior-active-nav.js', 2043 - 'type' => 'js', 2044 - 'requires' => 2045 - array( 2046 - 0 => 'javelin-behavior', 2047 - 1 => 'javelin-stratcom', 2048 - 2 => 'javelin-vector', 2049 - 3 => 'javelin-dom', 2050 - 4 => 'javelin-uri', 2051 - ), 2052 - 'disk' => '/rsrc/js/core/behavior-active-nav.js', 2053 - ), 2054 - 'javelin-behavior-phabricator-autofocus' => 2055 - array( 2056 - 'uri' => '/res/bf92b8d6/rsrc/js/core/behavior-autofocus.js', 2057 - 'type' => 'js', 2058 - 'requires' => 2059 - array( 2060 - 0 => 'javelin-behavior', 2061 - 1 => 'javelin-dom', 2062 - ), 2063 - 'disk' => '/rsrc/js/core/behavior-autofocus.js', 2064 - ), 2065 - 'javelin-behavior-phabricator-busy-example' => 2066 - array( 2067 - 'uri' => '/res/dbe12f2f/rsrc/js/application/uiexample/busy-example.js', 2068 - 'type' => 'js', 2069 - 'requires' => 2070 - array( 2071 - 0 => 'phabricator-busy', 2072 - 1 => 'javelin-behavior', 2073 - ), 2074 - 'disk' => '/rsrc/js/application/uiexample/busy-example.js', 2075 - ), 2076 - 'javelin-behavior-phabricator-file-tree' => 2077 - array( 2078 - 'uri' => '/res/e5bf93df/rsrc/js/core/behavior-file-tree.js', 2079 - 'type' => 'js', 2080 - 'requires' => 2081 - array( 2082 - 0 => 'javelin-behavior', 2083 - 1 => 'phabricator-keyboard-shortcut', 2084 - 2 => 'javelin-stratcom', 2085 - ), 2086 - 'disk' => '/rsrc/js/core/behavior-file-tree.js', 2087 - ), 2088 - 'javelin-behavior-phabricator-gesture' => 2089 - array( 2090 - 'uri' => '/res/16e1e77c/rsrc/js/core/behavior-gesture.js', 2091 - 'type' => 'js', 2092 - 'requires' => 2093 - array( 2094 - 0 => 'javelin-behavior', 2095 - 1 => 'javelin-behavior-device', 2096 - 2 => 'javelin-stratcom', 2097 - 3 => 'javelin-vector', 2098 - 4 => 'javelin-dom', 2099 - 5 => 'javelin-magical-init', 2100 - ), 2101 - 'disk' => '/rsrc/js/core/behavior-gesture.js', 2102 - ), 2103 - 'javelin-behavior-phabricator-gesture-example' => 2104 - array( 2105 - 'uri' => '/res/91d1e7f2/rsrc/js/application/uiexample/gesture-example.js', 2106 - 'type' => 'js', 2107 - 'requires' => 2108 - array( 2109 - 0 => 'javelin-stratcom', 2110 - 1 => 'javelin-behavior', 2111 - 2 => 'javelin-vector', 2112 - 3 => 'javelin-dom', 2113 - ), 2114 - 'disk' => '/rsrc/js/application/uiexample/gesture-example.js', 2115 - ), 2116 - 'javelin-behavior-phabricator-hovercards' => 2117 - array( 2118 - 'uri' => '/res/4fe6b436/rsrc/js/core/behavior-hovercard.js', 2119 - 'type' => 'js', 2120 - 'requires' => 2121 - array( 2122 - 0 => 'javelin-behavior', 2123 - 1 => 'javelin-behavior-device', 2124 - 2 => 'javelin-stratcom', 2125 - 3 => 'javelin-vector', 2126 - 4 => 'phabricator-hovercard', 2127 - ), 2128 - 'disk' => '/rsrc/js/core/behavior-hovercard.js', 2129 - ), 2130 - 'javelin-behavior-phabricator-keyboard-pager' => 2131 - array( 2132 - 'uri' => '/res/6a5445b8/rsrc/js/core/behavior-keyboard-pager.js', 2133 - 'type' => 'js', 2134 - 'requires' => 2135 - array( 2136 - 0 => 'javelin-behavior', 2137 - 1 => 'javelin-uri', 2138 - 2 => 'phabricator-keyboard-shortcut', 2139 - ), 2140 - 'disk' => '/rsrc/js/core/behavior-keyboard-pager.js', 2141 - ), 2142 - 'javelin-behavior-phabricator-keyboard-shortcuts' => 2143 - array( 2144 - 'uri' => '/res/b971e713/rsrc/js/core/behavior-keyboard-shortcuts.js', 2145 - 'type' => 'js', 2146 - 'requires' => 2147 - array( 2148 - 0 => 'javelin-behavior', 2149 - 1 => 'javelin-workflow', 2150 - 2 => 'javelin-json', 2151 - 3 => 'javelin-dom', 2152 - 4 => 'phabricator-keyboard-shortcut', 2153 - ), 2154 - 'disk' => '/rsrc/js/core/behavior-keyboard-shortcuts.js', 2155 - ), 2156 - 'javelin-behavior-phabricator-line-linker' => 2157 - array( 2158 - 'uri' => '/res/1cefdb6a/rsrc/js/core/behavior-line-linker.js', 2159 - 'type' => 'js', 2160 - 'requires' => 2161 - array( 2162 - 0 => 'javelin-behavior', 2163 - 1 => 'javelin-stratcom', 2164 - 2 => 'javelin-dom', 2165 - 3 => 'javelin-history', 2166 - ), 2167 - 'disk' => '/rsrc/js/core/behavior-line-linker.js', 2168 - ), 2169 - 'javelin-behavior-phabricator-nav' => 2170 - array( 2171 - 'uri' => '/res/afabcf16/rsrc/js/core/behavior-phabricator-nav.js', 2172 - 'type' => 'js', 2173 - 'requires' => 2174 - array( 2175 - 0 => 'javelin-behavior', 2176 - 1 => 'javelin-behavior-device', 2177 - 2 => 'javelin-stratcom', 2178 - 3 => 'javelin-dom', 2179 - 4 => 'javelin-magical-init', 2180 - 5 => 'javelin-vector', 2181 - 6 => 'javelin-request', 2182 - 7 => 'javelin-util', 2183 - ), 2184 - 'disk' => '/rsrc/js/core/behavior-phabricator-nav.js', 2185 - ), 2186 - 'javelin-behavior-phabricator-notification-example' => 2187 - array( 2188 - 'uri' => '/res/7c50cefd/rsrc/js/application/uiexample/notification-example.js', 2189 - 'type' => 'js', 2190 - 'requires' => 2191 - array( 2192 - 0 => 'phabricator-notification', 2193 - 1 => 'javelin-stratcom', 2194 - 2 => 'javelin-behavior', 2195 - ), 2196 - 'disk' => '/rsrc/js/application/uiexample/notification-example.js', 2197 - ), 2198 - 'javelin-behavior-phabricator-object-selector' => 2199 - array( 2200 - 'uri' => '/res/613ed910/rsrc/js/core/behavior-object-selector.js', 2201 - 'type' => 'js', 2202 - 'requires' => 2203 - array( 2204 - 0 => 'javelin-behavior', 2205 - 1 => 'javelin-dom', 2206 - 2 => 'javelin-request', 2207 - 3 => 'javelin-util', 2208 - ), 2209 - 'disk' => '/rsrc/js/core/behavior-object-selector.js', 2210 - ), 2211 - 'javelin-behavior-phabricator-oncopy' => 2212 - array( 2213 - 'uri' => '/res/cd3a9345/rsrc/js/core/behavior-oncopy.js', 2214 - 'type' => 'js', 2215 - 'requires' => 2216 - array( 2217 - 0 => 'javelin-behavior', 2218 - 1 => 'javelin-dom', 2219 - ), 2220 - 'disk' => '/rsrc/js/core/behavior-oncopy.js', 2221 - ), 2222 - 'javelin-behavior-phabricator-remarkup-assist' => 2223 - array( 2224 - 'uri' => '/res/4153e95f/rsrc/js/core/behavior-phabricator-remarkup-assist.js', 2225 - 'type' => 'js', 2226 - 'requires' => 2227 - array( 2228 - 0 => 'javelin-behavior', 2229 - 1 => 'javelin-stratcom', 2230 - 2 => 'javelin-dom', 2231 - 3 => 'phabricator-phtize', 2232 - 4 => 'phabricator-textareautils', 2233 - 5 => 'javelin-workflow', 2234 - 6 => 'javelin-vector', 2235 - ), 2236 - 'disk' => '/rsrc/js/core/behavior-phabricator-remarkup-assist.js', 2237 - ), 2238 - 'javelin-behavior-phabricator-reveal-content' => 2239 - array( 2240 - 'uri' => '/res/fef525ef/rsrc/js/core/behavior-reveal-content.js', 2241 - 'type' => 'js', 2242 - 'requires' => 2243 - array( 2244 - 0 => 'javelin-behavior', 2245 - 1 => 'javelin-stratcom', 2246 - 2 => 'javelin-dom', 2247 - ), 2248 - 'disk' => '/rsrc/js/core/behavior-reveal-content.js', 2249 - ), 2250 - 'javelin-behavior-phabricator-search-typeahead' => 2251 - array( 2252 - 'uri' => '/res/409d9567/rsrc/js/core/behavior-search-typeahead.js', 2253 - 'type' => 'js', 2254 - 'requires' => 2255 - array( 2256 - 0 => 'javelin-behavior', 2257 - 1 => 'javelin-typeahead-ondemand-source', 2258 - 2 => 'javelin-typeahead', 2259 - 3 => 'javelin-dom', 2260 - 4 => 'javelin-uri', 2261 - 5 => 'javelin-util', 2262 - 6 => 'javelin-stratcom', 2263 - ), 2264 - 'disk' => '/rsrc/js/core/behavior-search-typeahead.js', 2265 - ), 2266 - 'javelin-behavior-phabricator-tooltips' => 2267 - array( 2268 - 'uri' => '/res/a0ac5320/rsrc/js/core/behavior-tooltip.js', 2269 - 'type' => 'js', 2270 - 'requires' => 2271 - array( 2272 - 0 => 'javelin-behavior', 2273 - 1 => 'javelin-behavior-device', 2274 - 2 => 'javelin-stratcom', 2275 - 3 => 'phabricator-tooltip', 2276 - ), 2277 - 'disk' => '/rsrc/js/core/behavior-tooltip.js', 2278 - ), 2279 - 'javelin-behavior-phabricator-transaction-comment-form' => 2280 - array( 2281 - 'uri' => '/res/3c8d3c10/rsrc/js/application/transactions/behavior-transaction-comment-form.js', 2282 - 'type' => 'js', 2283 - 'requires' => 2284 - array( 2285 - 0 => 'javelin-behavior', 2286 - 1 => 'javelin-dom', 2287 - 2 => 'javelin-util', 2288 - 3 => 'javelin-fx', 2289 - 4 => 'javelin-request', 2290 - 5 => 'phabricator-shaped-request', 2291 - ), 2292 - 'disk' => '/rsrc/js/application/transactions/behavior-transaction-comment-form.js', 2293 - ), 2294 - 'javelin-behavior-phabricator-transaction-list' => 2295 - array( 2296 - 'uri' => '/res/f05b3c6b/rsrc/js/application/transactions/behavior-transaction-list.js', 2297 - 'type' => 'js', 2298 - 'requires' => 2299 - array( 2300 - 0 => 'javelin-behavior', 2301 - 1 => 'javelin-stratcom', 2302 - 2 => 'javelin-workflow', 2303 - 3 => 'javelin-dom', 2304 - 4 => 'javelin-fx', 2305 - ), 2306 - 'disk' => '/rsrc/js/application/transactions/behavior-transaction-list.js', 2307 - ), 2308 - 'javelin-behavior-phabricator-watch-anchor' => 2309 - array( 2310 - 'uri' => '/res/69a90817/rsrc/js/core/behavior-watch-anchor.js', 2311 - 'type' => 'js', 2312 - 'requires' => 2313 - array( 2314 - 0 => 'javelin-behavior', 2315 - 1 => 'javelin-stratcom', 2316 - 2 => 'javelin-dom', 2317 - 3 => 'javelin-vector', 2318 - ), 2319 - 'disk' => '/rsrc/js/core/behavior-watch-anchor.js', 2320 - ), 2321 - 'javelin-behavior-phame-post-preview' => 2322 - array( 2323 - 'uri' => '/res/181d1cbe/rsrc/js/application/phame/phame-post-preview.js', 2324 - 'type' => 'js', 2325 - 'requires' => 2326 - array( 2327 - 0 => 'javelin-behavior', 2328 - 1 => 'javelin-dom', 2329 - 2 => 'javelin-util', 2330 - 3 => 'phabricator-shaped-request', 2331 - ), 2332 - 'disk' => '/rsrc/js/application/phame/phame-post-preview.js', 2333 - ), 2334 - 'javelin-behavior-pholio-mock-edit' => 2335 - array( 2336 - 'uri' => '/res/1fd14497/rsrc/js/application/pholio/behavior-pholio-mock-edit.js', 2337 - 'type' => 'js', 2338 - 'requires' => 2339 - array( 2340 - 0 => 'javelin-behavior', 2341 - 1 => 'javelin-stratcom', 2342 - 2 => 'javelin-dom', 2343 - 3 => 'javelin-workflow', 2344 - 4 => 'phabricator-phtize', 2345 - 5 => 'phabricator-drag-and-drop-file-upload', 2346 - 6 => 'phabricator-draggable-list', 2347 - ), 2348 - 'disk' => '/rsrc/js/application/pholio/behavior-pholio-mock-edit.js', 2349 - ), 2350 - 'javelin-behavior-pholio-mock-view' => 2351 - array( 2352 - 'uri' => '/res/f9588dcf/rsrc/js/application/pholio/behavior-pholio-mock-view.js', 2353 - 'type' => 'js', 2354 - 'requires' => 2355 - array( 2356 - 0 => 'javelin-behavior', 2357 - 1 => 'javelin-util', 2358 - 2 => 'javelin-stratcom', 2359 - 3 => 'javelin-dom', 2360 - 4 => 'javelin-vector', 2361 - 5 => 'javelin-magical-init', 2362 - 6 => 'javelin-request', 2363 - 7 => 'javelin-history', 2364 - 8 => 'javelin-workflow', 2365 - 9 => 'javelin-mask', 2366 - 10 => 'javelin-behavior-device', 2367 - 11 => 'phabricator-keyboard-shortcut', 2368 - ), 2369 - 'disk' => '/rsrc/js/application/pholio/behavior-pholio-mock-view.js', 2370 - ), 2371 - 'javelin-behavior-phui-object-box-tabs' => 2372 - array( 2373 - 'uri' => '/res/c2318be8/rsrc/js/phui/behavior-phui-object-box-tabs.js', 2374 - 'type' => 'js', 2375 - 'requires' => 2376 - array( 2377 - 0 => 'javelin-behavior', 2378 - 1 => 'javelin-stratcom', 2379 - 2 => 'javelin-dom', 2380 - ), 2381 - 'disk' => '/rsrc/js/phui/behavior-phui-object-box-tabs.js', 2382 - ), 2383 - 'javelin-behavior-policy-control' => 2384 - array( 2385 - 'uri' => '/res/ce9f54c8/rsrc/js/application/policy/behavior-policy-control.js', 2386 - 'type' => 'js', 2387 - 'requires' => 2388 - array( 2389 - 0 => 'javelin-behavior', 2390 - 1 => 'javelin-dom', 2391 - 2 => 'javelin-util', 2392 - 3 => 'phabricator-dropdown-menu', 2393 - 4 => 'phabricator-menu-item', 2394 - 5 => 'javelin-workflow', 2395 - ), 2396 - 'disk' => '/rsrc/js/application/policy/behavior-policy-control.js', 2397 - ), 2398 - 'javelin-behavior-policy-rule-editor' => 2399 - array( 2400 - 'uri' => '/res/4665236c/rsrc/js/application/policy/behavior-policy-rule-editor.js', 2401 - 'type' => 'js', 2402 - 'requires' => 2403 - array( 2404 - 0 => 'javelin-behavior', 2405 - 1 => 'multirow-row-manager', 2406 - 2 => 'javelin-dom', 2407 - 3 => 'javelin-util', 2408 - 4 => 'phabricator-prefab', 2409 - 5 => 'javelin-tokenizer', 2410 - 6 => 'javelin-typeahead', 2411 - 7 => 'javelin-typeahead-preloaded-source', 2412 - 8 => 'javelin-json', 2413 - ), 2414 - 'disk' => '/rsrc/js/application/policy/behavior-policy-rule-editor.js', 2415 - ), 2416 - 'javelin-behavior-ponder-votebox' => 2417 - array( 2418 - 'uri' => '/res/c28daa12/rsrc/js/application/ponder/behavior-votebox.js', 2419 - 'type' => 'js', 2420 - 'requires' => 2421 - array( 2422 - 0 => 'javelin-behavior', 2423 - 1 => 'javelin-dom', 2424 - 2 => 'javelin-util', 2425 - 3 => 'javelin-stratcom', 2426 - 4 => 'javelin-request', 2427 - ), 2428 - 'disk' => '/rsrc/js/application/ponder/behavior-votebox.js', 2429 - ), 2430 - 'javelin-behavior-project-create' => 2431 - array( 2432 - 'uri' => '/res/e91f3f8f/rsrc/js/application/projects/behavior-project-create.js', 2433 - 'type' => 'js', 2434 - 'requires' => 2435 - array( 2436 - 0 => 'javelin-behavior', 2437 - 1 => 'javelin-dom', 2438 - 2 => 'javelin-stratcom', 2439 - 3 => 'javelin-workflow', 2440 - ), 2441 - 'disk' => '/rsrc/js/application/projects/behavior-project-create.js', 2442 - ), 2443 - 'javelin-behavior-refresh-csrf' => 2444 - array( 2445 - 'uri' => '/res/6c54100f/rsrc/js/core/behavior-refresh-csrf.js', 2446 - 'type' => 'js', 2447 - 'requires' => 2448 - array( 2449 - 0 => 'javelin-request', 2450 - 1 => 'javelin-behavior', 2451 - 2 => 'javelin-dom', 2452 - 3 => 'phabricator-busy', 2453 - ), 2454 - 'disk' => '/rsrc/js/core/behavior-refresh-csrf.js', 2455 - ), 2456 - 'javelin-behavior-releeph-preview-branch' => 2457 - array( 2458 - 'uri' => '/res/f694854d/rsrc/js/application/releeph/releeph-preview-branch.js', 2459 - 'type' => 'js', 2460 - 'requires' => 2461 - array( 2462 - 0 => 'javelin-behavior', 2463 - 1 => 'javelin-dom', 2464 - 2 => 'javelin-uri', 2465 - 3 => 'javelin-request', 2466 - ), 2467 - 'disk' => '/rsrc/js/application/releeph/releeph-preview-branch.js', 2468 - ), 2469 - 'javelin-behavior-releeph-request-state-change' => 2470 - array( 2471 - 'uri' => '/res/07ecde0c/rsrc/js/application/releeph/releeph-request-state-change.js', 2472 - 'type' => 'js', 2473 - 'requires' => 2474 - array( 2475 - 0 => 'javelin-behavior', 2476 - 1 => 'javelin-dom', 2477 - 2 => 'javelin-stratcom', 2478 - 3 => 'javelin-request', 2479 - 4 => 'phabricator-keyboard-shortcut', 2480 - 5 => 'phabricator-notification', 2481 - ), 2482 - 'disk' => '/rsrc/js/application/releeph/releeph-request-state-change.js', 2483 - ), 2484 - 'javelin-behavior-releeph-request-typeahead' => 2485 - array( 2486 - 'uri' => '/res/2c2350a0/rsrc/js/application/releeph/releeph-request-typeahead.js', 2487 - 'type' => 'js', 2488 - 'requires' => 2489 - array( 2490 - 0 => 'javelin-behavior', 2491 - 1 => 'javelin-dom', 2492 - 2 => 'javelin-typeahead', 2493 - 3 => 'javelin-typeahead-ondemand-source', 2494 - 4 => 'javelin-dom', 2495 - ), 2496 - 'disk' => '/rsrc/js/application/releeph/releeph-request-typeahead.js', 2497 - ), 2498 - 'javelin-behavior-remarkup-preview' => 2499 - array( 2500 - 'uri' => '/res/6ec98508/rsrc/js/core/behavior-remarkup-preview.js', 2501 - 'type' => 'js', 2502 - 'requires' => 2503 - array( 2504 - 0 => 'javelin-behavior', 2505 - 1 => 'javelin-dom', 2506 - 2 => 'javelin-util', 2507 - 3 => 'phabricator-shaped-request', 2508 - ), 2509 - 'disk' => '/rsrc/js/core/behavior-remarkup-preview.js', 2510 - ), 2511 - 'javelin-behavior-repository-crossreference' => 2512 - array( 2513 - 'uri' => '/res/d3f9d50b/rsrc/js/application/repository/repository-crossreference.js', 2514 - 'type' => 'js', 2515 - 'requires' => 2516 - array( 2517 - 0 => 'javelin-behavior', 2518 - 1 => 'javelin-dom', 2519 - 2 => 'javelin-stratcom', 2520 - 3 => 'javelin-uri', 2521 - ), 2522 - 'disk' => '/rsrc/js/application/repository/repository-crossreference.js', 2523 - ), 2524 - 'javelin-behavior-search-reorder-queries' => 2525 - array( 2526 - 'uri' => '/res/9864b481/rsrc/js/application/search/behavior-reorder-queries.js', 2527 - 'type' => 'js', 2528 - 'requires' => 2529 - array( 2530 - 0 => 'javelin-behavior', 2531 - 1 => 'javelin-stratcom', 2532 - 2 => 'javelin-workflow', 2533 - 3 => 'javelin-dom', 2534 - 4 => 'phabricator-draggable-list', 2535 - ), 2536 - 'disk' => '/rsrc/js/application/search/behavior-reorder-queries.js', 2537 - ), 2538 - 'javelin-behavior-select-on-click' => 2539 - array( 2540 - 'uri' => '/res/f021b754/rsrc/js/core/behavior-select-on-click.js', 2541 - 'type' => 'js', 2542 - 'requires' => 2543 - array( 2544 - 0 => 'javelin-behavior', 2545 - 1 => 'javelin-stratcom', 2546 - 2 => 'javelin-dom', 2547 - ), 2548 - 'disk' => '/rsrc/js/core/behavior-select-on-click.js', 2549 - ), 2550 - 'javelin-behavior-slowvote-embed' => 2551 - array( 2552 - 'uri' => '/res/8e85e20d/rsrc/js/application/slowvote/behavior-slowvote-embed.js', 2553 - 'type' => 'js', 2554 - 'requires' => 2555 - array( 2556 - 0 => 'javelin-behavior', 2557 - 1 => 'javelin-request', 2558 - 2 => 'javelin-stratcom', 2559 - 3 => 'javelin-dom', 2560 - ), 2561 - 'disk' => '/rsrc/js/application/slowvote/behavior-slowvote-embed.js', 2562 - ), 2563 - 'javelin-behavior-stripe-payment-form' => 2564 - array( 2565 - 'uri' => '/res/c1a12d77/rsrc/js/application/phortune/behavior-stripe-payment-form.js', 2566 - 'type' => 'js', 2567 - 'requires' => 2568 - array( 2569 - 0 => 'javelin-behavior', 2570 - 1 => 'javelin-dom', 2571 - 2 => 'phortune-credit-card-form', 2572 - ), 2573 - 'disk' => '/rsrc/js/application/phortune/behavior-stripe-payment-form.js', 2574 - ), 2575 - 'javelin-behavior-test-payment-form' => 2576 - array( 2577 - 'uri' => '/res/a8fe8616/rsrc/js/application/phortune/behavior-test-payment-form.js', 2578 - 'type' => 'js', 2579 - 'requires' => 2580 - array( 2581 - 0 => 'javelin-behavior', 2582 - 1 => 'javelin-dom', 2583 - 2 => 'phortune-credit-card-form', 2584 - ), 2585 - 'disk' => '/rsrc/js/application/phortune/behavior-test-payment-form.js', 2586 - ), 2587 - 'javelin-behavior-toggle-class' => 2588 - array( 2589 - 'uri' => '/res/79921b7f/rsrc/js/core/behavior-toggle-class.js', 2590 - 'type' => 'js', 2591 - 'requires' => 2592 - array( 2593 - 0 => 'javelin-behavior', 2594 - 1 => 'javelin-stratcom', 2595 - 2 => 'javelin-dom', 2596 - ), 2597 - 'disk' => '/rsrc/js/core/behavior-toggle-class.js', 2598 - ), 2599 - 'javelin-behavior-view-placeholder' => 2600 - array( 2601 - 'uri' => '/res/6abdb85b/rsrc/externals/javelin/ext/view/ViewPlaceholder.js', 2602 - 'type' => 'js', 2603 - 'requires' => 2604 - array( 2605 - 0 => 'javelin-behavior', 2606 - 1 => 'javelin-dom', 2607 - 2 => 'javelin-view-renderer', 2608 - 3 => 'javelin-install', 2609 - ), 2610 - 'disk' => '/rsrc/externals/javelin/ext/view/ViewPlaceholder.js', 2611 - ), 2612 - 'javelin-behavior-workflow' => 2613 - array( 2614 - 'uri' => '/res/144d3196/rsrc/js/core/behavior-workflow.js', 2615 - 'type' => 'js', 2616 - 'requires' => 2617 - array( 2618 - 0 => 'javelin-behavior', 2619 - 1 => 'javelin-stratcom', 2620 - 2 => 'javelin-workflow', 2621 - 3 => 'javelin-dom', 2622 - ), 2623 - 'disk' => '/rsrc/js/core/behavior-workflow.js', 2624 - ), 2625 - 'javelin-color' => 2626 - array( 2627 - 'uri' => '/res/f17034de/rsrc/externals/javelin/ext/fx/Color.js', 2628 - 'type' => 'js', 2629 - 'requires' => 2630 - array( 2631 - 0 => 'javelin-install', 2632 - ), 2633 - 'disk' => '/rsrc/externals/javelin/ext/fx/Color.js', 2634 - ), 2635 - 'javelin-cookie' => 2636 - array( 2637 - 'uri' => '/res/ee0d399f/rsrc/externals/javelin/lib/Cookie.js', 2638 - 'type' => 'js', 2639 - 'requires' => 2640 - array( 2641 - 0 => 'javelin-install', 2642 - 1 => 'javelin-util', 2643 - ), 2644 - 'disk' => '/rsrc/externals/javelin/lib/Cookie.js', 2645 - ), 2646 - 'javelin-dom' => 2647 - array( 2648 - 'uri' => '/res/580c0aeb/rsrc/externals/javelin/lib/DOM.js', 2649 - 'type' => 'js', 2650 - 'requires' => 2651 - array( 2652 - 0 => 'javelin-magical-init', 2653 - 1 => 'javelin-install', 2654 - 2 => 'javelin-util', 2655 - 3 => 'javelin-vector', 2656 - 4 => 'javelin-stratcom', 2657 - ), 2658 - 'disk' => '/rsrc/externals/javelin/lib/DOM.js', 2659 - ), 2660 - 'javelin-dynval' => 2661 - array( 2662 - 'uri' => '/res/ea6f2a9d/rsrc/externals/javelin/ext/reactor/core/DynVal.js', 2663 - 'type' => 'js', 2664 - 'requires' => 2665 - array( 2666 - 0 => 'javelin-install', 2667 - 1 => 'javelin-reactornode', 2668 - 2 => 'javelin-util', 2669 - 3 => 'javelin-reactor', 2670 - ), 2671 - 'disk' => '/rsrc/externals/javelin/ext/reactor/core/DynVal.js', 2672 - ), 2673 - 'javelin-event' => 2674 - array( 2675 - 'uri' => '/res/5f70f4d0/rsrc/externals/javelin/core/Event.js', 2676 - 'type' => 'js', 2677 - 'requires' => 2678 - array( 2679 - 0 => 'javelin-install', 2680 - ), 2681 - 'disk' => '/rsrc/externals/javelin/core/Event.js', 2682 - ), 2683 - 'javelin-fx' => 2684 - array( 2685 - 'uri' => '/res/23fb3d44/rsrc/externals/javelin/ext/fx/FX.js', 2686 - 'type' => 'js', 2687 - 'requires' => 2688 - array( 2689 - 0 => 'javelin-color', 2690 - 1 => 'javelin-install', 2691 - 2 => 'javelin-util', 2692 - ), 2693 - 'disk' => '/rsrc/externals/javelin/ext/fx/FX.js', 2694 - ), 2695 - 'javelin-history' => 2696 - array( 2697 - 'uri' => '/res/6c084b09/rsrc/externals/javelin/lib/History.js', 2698 - 'type' => 'js', 2699 - 'requires' => 2700 - array( 2701 - 0 => 'javelin-stratcom', 2702 - 1 => 'javelin-install', 2703 - 2 => 'javelin-uri', 2704 - 3 => 'javelin-util', 2705 - ), 2706 - 'disk' => '/rsrc/externals/javelin/lib/History.js', 2707 - ), 2708 - 'javelin-install' => 2709 - array( 2710 - 'uri' => '/res/904356c0/rsrc/externals/javelin/core/install.js', 2711 - 'type' => 'js', 2712 - 'requires' => 2713 - array( 2714 - 0 => 'javelin-util', 2715 - 1 => 'javelin-magical-init', 2716 - ), 2717 - 'disk' => '/rsrc/externals/javelin/core/install.js', 2718 - ), 2719 - 'javelin-json' => 2720 - array( 2721 - 'uri' => '/res/cf83e72c/rsrc/externals/javelin/lib/JSON.js', 2722 - 'type' => 'js', 2723 - 'requires' => 2724 - array( 2725 - 0 => 'javelin-install', 2726 - ), 2727 - 'disk' => '/rsrc/externals/javelin/lib/JSON.js', 2728 - ), 2729 - 'javelin-magical-init' => 2730 - array( 2731 - 'uri' => '/res/374d1f02/rsrc/externals/javelin/core/init.js', 2732 - 'type' => 'js', 2733 - 'requires' => 2734 - array( 2735 - ), 2736 - 'disk' => '/rsrc/externals/javelin/core/init.js', 2737 - ), 2738 - 'javelin-mask' => 2739 - array( 2740 - 'uri' => '/res/465cf513/rsrc/externals/javelin/lib/Mask.js', 2741 - 'type' => 'js', 2742 - 'requires' => 2743 - array( 2744 - 0 => 'javelin-install', 2745 - 1 => 'javelin-dom', 2746 - ), 2747 - 'disk' => '/rsrc/externals/javelin/lib/Mask.js', 2748 - ), 2749 - 'javelin-reactor' => 2750 - array( 2751 - 'uri' => '/res/c05f2658/rsrc/externals/javelin/ext/reactor/core/Reactor.js', 2752 - 'type' => 'js', 2753 - 'requires' => 2754 - array( 2755 - 0 => 'javelin-install', 2756 - 1 => 'javelin-util', 2757 - ), 2758 - 'disk' => '/rsrc/externals/javelin/ext/reactor/core/Reactor.js', 2759 - ), 2760 - 'javelin-reactor-dom' => 2761 - array( 2762 - 'uri' => '/res/5e03117e/rsrc/externals/javelin/ext/reactor/dom/RDOM.js', 2763 - 'type' => 'js', 2764 - 'requires' => 2765 - array( 2766 - 0 => 'javelin-dom', 2767 - 1 => 'javelin-dynval', 2768 - 2 => 'javelin-reactor', 2769 - 3 => 'javelin-reactornode', 2770 - 4 => 'javelin-install', 2771 - 5 => 'javelin-util', 2772 - ), 2773 - 'disk' => '/rsrc/externals/javelin/ext/reactor/dom/RDOM.js', 2774 - ), 2775 - 'javelin-reactor-node-calmer' => 2776 - array( 2777 - 'uri' => '/res/a93dd6b6/rsrc/externals/javelin/ext/reactor/core/ReactorNodeCalmer.js', 2778 - 'type' => 'js', 2779 - 'requires' => 2780 - array( 2781 - 0 => 'javelin-install', 2782 - 1 => 'javelin-reactor', 2783 - 2 => 'javelin-util', 2784 - ), 2785 - 'disk' => '/rsrc/externals/javelin/ext/reactor/core/ReactorNodeCalmer.js', 2786 - ), 2787 - 'javelin-reactornode' => 2788 - array( 2789 - 'uri' => '/res/4eac475b/rsrc/externals/javelin/ext/reactor/core/ReactorNode.js', 2790 - 'type' => 'js', 2791 - 'requires' => 2792 - array( 2793 - 0 => 'javelin-install', 2794 - 1 => 'javelin-reactor', 2795 - 2 => 'javelin-util', 2796 - 3 => 'javelin-reactor-node-calmer', 2797 - ), 2798 - 'disk' => '/rsrc/externals/javelin/ext/reactor/core/ReactorNode.js', 2799 - ), 2800 - 'javelin-request' => 2801 - array( 2802 - 'uri' => '/res/687bdcfc/rsrc/externals/javelin/lib/Request.js', 2803 - 'type' => 'js', 2804 - 'requires' => 2805 - array( 2806 - 0 => 'javelin-install', 2807 - 1 => 'javelin-stratcom', 2808 - 2 => 'javelin-util', 2809 - 3 => 'javelin-behavior', 2810 - 4 => 'javelin-json', 2811 - 5 => 'javelin-dom', 2812 - 6 => 'javelin-resource', 2813 - ), 2814 - 'disk' => '/rsrc/externals/javelin/lib/Request.js', 2815 - ), 2816 - 'javelin-resource' => 2817 - array( 2818 - 'uri' => '/res/33a3bb57/rsrc/externals/javelin/lib/Resource.js', 2819 - 'type' => 'js', 2820 - 'requires' => 2821 - array( 2822 - 0 => 'javelin-util', 2823 - 1 => 'javelin-uri', 2824 - 2 => 'javelin-install', 2825 - ), 2826 - 'disk' => '/rsrc/externals/javelin/lib/Resource.js', 2827 - ), 2828 - 'javelin-stratcom' => 2829 - array( 2830 - 'uri' => '/res/714946e7/rsrc/externals/javelin/core/Stratcom.js', 2831 - 'type' => 'js', 2832 - 'requires' => 2833 - array( 2834 - 0 => 'javelin-install', 2835 - 1 => 'javelin-event', 2836 - 2 => 'javelin-util', 2837 - 3 => 'javelin-magical-init', 2838 - ), 2839 - 'disk' => '/rsrc/externals/javelin/core/Stratcom.js', 2840 - ), 2841 - 'javelin-tokenizer' => 2842 - array( 2843 - 'uri' => '/res/cddb70f3/rsrc/externals/javelin/lib/control/tokenizer/Tokenizer.js', 2844 - 'type' => 'js', 2845 - 'requires' => 2846 - array( 2847 - 0 => 'javelin-dom', 2848 - 1 => 'javelin-util', 2849 - 2 => 'javelin-stratcom', 2850 - 3 => 'javelin-install', 2851 - ), 2852 - 'disk' => '/rsrc/externals/javelin/lib/control/tokenizer/Tokenizer.js', 2853 - ), 2854 - 'javelin-typeahead' => 2855 - array( 2856 - 'uri' => '/res/fd79f758/rsrc/externals/javelin/lib/control/typeahead/Typeahead.js', 2857 - 'type' => 'js', 2858 - 'requires' => 2859 - array( 2860 - 0 => 'javelin-install', 2861 - 1 => 'javelin-dom', 2862 - 2 => 'javelin-vector', 2863 - 3 => 'javelin-util', 2864 - ), 2865 - 'disk' => '/rsrc/externals/javelin/lib/control/typeahead/Typeahead.js', 2866 - ), 2867 - 'javelin-typeahead-composite-source' => 2868 - array( 2869 - 'uri' => '/res/487b3da2/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadCompositeSource.js', 2870 - 'type' => 'js', 2871 - 'requires' => 2872 - array( 2873 - 0 => 'javelin-install', 2874 - 1 => 'javelin-typeahead-source', 2875 - 2 => 'javelin-util', 2876 - ), 2877 - 'disk' => '/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadCompositeSource.js', 2878 - ), 2879 - 'javelin-typeahead-normalizer' => 2880 - array( 2881 - 'uri' => '/res/5a4bd979/rsrc/externals/javelin/lib/control/typeahead/normalizer/TypeaheadNormalizer.js', 2882 - 'type' => 'js', 2883 - 'requires' => 2884 - array( 2885 - 0 => 'javelin-install', 2886 - ), 2887 - 'disk' => '/rsrc/externals/javelin/lib/control/typeahead/normalizer/TypeaheadNormalizer.js', 2888 - ), 2889 - 'javelin-typeahead-ondemand-source' => 2890 - array( 2891 - 'uri' => '/res/92286a21/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadOnDemandSource.js', 2892 - 'type' => 'js', 2893 - 'requires' => 2894 - array( 2895 - 0 => 'javelin-install', 2896 - 1 => 'javelin-util', 2897 - 2 => 'javelin-request', 2898 - 3 => 'javelin-typeahead-source', 2899 - ), 2900 - 'disk' => '/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadOnDemandSource.js', 2901 - ), 2902 - 'javelin-typeahead-preloaded-source' => 2903 - array( 2904 - 'uri' => '/res/147900c7/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadPreloadedSource.js', 2905 - 'type' => 'js', 2906 - 'requires' => 2907 - array( 2908 - 0 => 'javelin-install', 2909 - 1 => 'javelin-util', 2910 - 2 => 'javelin-request', 2911 - 3 => 'javelin-typeahead-source', 2912 - ), 2913 - 'disk' => '/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadPreloadedSource.js', 2914 - ), 2915 - 'javelin-typeahead-source' => 2916 - array( 2917 - 'uri' => '/res/13289259/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadSource.js', 2918 - 'type' => 'js', 2919 - 'requires' => 2920 - array( 2921 - 0 => 'javelin-install', 2922 - 1 => 'javelin-util', 2923 - 2 => 'javelin-dom', 2924 - 3 => 'javelin-typeahead-normalizer', 2925 - ), 2926 - 'disk' => '/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadSource.js', 2927 - ), 2928 - 'javelin-typeahead-static-source' => 2929 - array( 2930 - 'uri' => '/res/bb0a5173/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js', 2931 - 'type' => 'js', 2932 - 'requires' => 2933 - array( 2934 - 0 => 'javelin-install', 2935 - 1 => 'javelin-typeahead-source', 2936 - ), 2937 - 'disk' => '/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js', 2938 - ), 2939 - 'javelin-uri' => 2940 - array( 2941 - 'uri' => '/res/75aa4597/rsrc/externals/javelin/lib/URI.js', 2942 - 'type' => 'js', 2943 - 'requires' => 2944 - array( 2945 - 0 => 'javelin-install', 2946 - 1 => 'javelin-util', 2947 - 2 => 'javelin-stratcom', 2948 - ), 2949 - 'disk' => '/rsrc/externals/javelin/lib/URI.js', 2950 - ), 2951 - 'javelin-util' => 2952 - array( 2953 - 'uri' => '/res/90222113/rsrc/externals/javelin/core/util.js', 2954 - 'type' => 'js', 2955 - 'requires' => 2956 - array( 2957 - ), 2958 - 'disk' => '/rsrc/externals/javelin/core/util.js', 2959 - ), 2960 - 'javelin-vector' => 2961 - array( 2962 - 'uri' => '/res/58ea3dd7/rsrc/externals/javelin/lib/Vector.js', 2963 - 'type' => 'js', 2964 - 'requires' => 2965 - array( 2966 - 0 => 'javelin-install', 2967 - 1 => 'javelin-event', 2968 - ), 2969 - 'disk' => '/rsrc/externals/javelin/lib/Vector.js', 2970 - ), 2971 - 'javelin-view' => 2972 - array( 2973 - 'uri' => '/res/38daaec0/rsrc/externals/javelin/ext/view/View.js', 2974 - 'type' => 'js', 2975 - 'requires' => 2976 - array( 2977 - 0 => 'javelin-install', 2978 - 1 => 'javelin-util', 2979 - ), 2980 - 'disk' => '/rsrc/externals/javelin/ext/view/View.js', 2981 - ), 2982 - 'javelin-view-html' => 2983 - array( 2984 - 'uri' => '/res/0d225e8c/rsrc/externals/javelin/ext/view/HTMLView.js', 2985 - 'type' => 'js', 2986 - 'requires' => 2987 - array( 2988 - 0 => 'javelin-install', 2989 - 1 => 'javelin-dom', 2990 - 2 => 'javelin-view-visitor', 2991 - 3 => 'javelin-util', 2992 - ), 2993 - 'disk' => '/rsrc/externals/javelin/ext/view/HTMLView.js', 2994 - ), 2995 - 'javelin-view-interpreter' => 2996 - array( 2997 - 'uri' => '/res/b0c07f96/rsrc/externals/javelin/ext/view/ViewInterpreter.js', 2998 - 'type' => 'js', 2999 - 'requires' => 3000 - array( 3001 - 0 => 'javelin-view', 3002 - 1 => 'javelin-install', 3003 - 2 => 'javelin-dom', 3004 - ), 3005 - 'disk' => '/rsrc/externals/javelin/ext/view/ViewInterpreter.js', 3006 - ), 3007 - 'javelin-view-renderer' => 3008 - array( 3009 - 'uri' => '/res/fe0d2f60/rsrc/externals/javelin/ext/view/ViewRenderer.js', 3010 - 'type' => 'js', 3011 - 'requires' => 3012 - array( 3013 - 0 => 'javelin-install', 3014 - 1 => 'javelin-util', 3015 - ), 3016 - 'disk' => '/rsrc/externals/javelin/ext/view/ViewRenderer.js', 3017 - ), 3018 - 'javelin-view-visitor' => 3019 - array( 3020 - 'uri' => '/res/b1606cec/rsrc/externals/javelin/ext/view/ViewVisitor.js', 3021 - 'type' => 'js', 3022 - 'requires' => 3023 - array( 3024 - 0 => 'javelin-install', 3025 - 1 => 'javelin-util', 3026 - ), 3027 - 'disk' => '/rsrc/externals/javelin/ext/view/ViewVisitor.js', 3028 - ), 3029 - 'javelin-workflow' => 3030 - array( 3031 - 'uri' => '/res/09a97dda/rsrc/externals/javelin/lib/Workflow.js', 3032 - 'type' => 'js', 3033 - 'requires' => 3034 - array( 3035 - 0 => 'javelin-stratcom', 3036 - 1 => 'javelin-request', 3037 - 2 => 'javelin-dom', 3038 - 3 => 'javelin-vector', 3039 - 4 => 'javelin-install', 3040 - 5 => 'javelin-util', 3041 - 6 => 'javelin-mask', 3042 - 7 => 'javelin-uri', 3043 - ), 3044 - 'disk' => '/rsrc/externals/javelin/lib/Workflow.js', 3045 - ), 3046 - 'lightbox-attachment-css' => 3047 - array( 3048 - 'uri' => '/res/4657e15d/rsrc/css/aphront/lightbox-attachment.css', 3049 - 'type' => 'css', 3050 - 'requires' => 3051 - array( 3052 - ), 3053 - 'disk' => '/rsrc/css/aphront/lightbox-attachment.css', 3054 - ), 3055 - 'maniphest-batch-editor' => 3056 - array( 3057 - 'uri' => '/res/fb15d744/rsrc/css/application/maniphest/batch-editor.css', 3058 - 'type' => 'css', 3059 - 'requires' => 3060 - array( 3061 - ), 3062 - 'disk' => '/rsrc/css/application/maniphest/batch-editor.css', 3063 - ), 3064 - 'maniphest-report-css' => 3065 - array( 3066 - 'uri' => '/res/2e633fcf/rsrc/css/application/maniphest/report.css', 3067 - 'type' => 'css', 3068 - 'requires' => 3069 - array( 3070 - ), 3071 - 'disk' => '/rsrc/css/application/maniphest/report.css', 3072 - ), 3073 - 'maniphest-task-edit-css' => 3074 - array( 3075 - 'uri' => '/res/f5926f5a/rsrc/css/application/maniphest/task-edit.css', 3076 - 'type' => 'css', 3077 - 'requires' => 3078 - array( 3079 - ), 3080 - 'disk' => '/rsrc/css/application/maniphest/task-edit.css', 3081 - ), 3082 - 'maniphest-task-summary-css' => 3083 - array( 3084 - 'uri' => '/res/5de3b188/rsrc/css/application/maniphest/task-summary.css', 3085 - 'type' => 'css', 3086 - 'requires' => 3087 - array( 3088 - ), 3089 - 'disk' => '/rsrc/css/application/maniphest/task-summary.css', 3090 - ), 3091 - 'multirow-row-manager' => 3092 - array( 3093 - 'uri' => '/res/408fae4f/rsrc/js/core/MultirowRowManager.js', 3094 - 'type' => 'js', 3095 - 'requires' => 3096 - array( 3097 - 0 => 'javelin-install', 3098 - 1 => 'javelin-stratcom', 3099 - 2 => 'javelin-dom', 3100 - 3 => 'javelin-util', 3101 - ), 3102 - 'disk' => '/rsrc/js/core/MultirowRowManager.js', 3103 - ), 3104 - 'owners-path-editor' => 3105 - array( 3106 - 'uri' => '/res/29b68354/rsrc/js/application/owners/OwnersPathEditor.js', 3107 - 'type' => 'js', 3108 - 'requires' => 3109 - array( 3110 - 0 => 'multirow-row-manager', 3111 - 1 => 'javelin-install', 3112 - 2 => 'path-typeahead', 3113 - 3 => 'javelin-dom', 3114 - 4 => 'javelin-util', 3115 - 5 => 'phabricator-prefab', 3116 - ), 3117 - 'disk' => '/rsrc/js/application/owners/OwnersPathEditor.js', 3118 - ), 3119 - 'owners-path-editor-css' => 3120 - array( 3121 - 'uri' => '/res/c91cc4a8/rsrc/css/application/owners/owners-path-editor.css', 3122 - 'type' => 'css', 3123 - 'requires' => 3124 - array( 3125 - ), 3126 - 'disk' => '/rsrc/css/application/owners/owners-path-editor.css', 3127 - ), 3128 - 'paste-css' => 3129 - array( 3130 - 'uri' => '/res/216fbfe9/rsrc/css/application/paste/paste.css', 3131 - 'type' => 'css', 3132 - 'requires' => 3133 - array( 3134 - ), 3135 - 'disk' => '/rsrc/css/application/paste/paste.css', 3136 - ), 3137 - 'path-typeahead' => 3138 - array( 3139 - 'uri' => '/res/50246fb6/rsrc/js/application/herald/PathTypeahead.js', 3140 - 'type' => 'js', 3141 - 'requires' => 3142 - array( 3143 - 0 => 'javelin-install', 3144 - 1 => 'javelin-typeahead', 3145 - 2 => 'javelin-dom', 3146 - 3 => 'javelin-request', 3147 - 4 => 'javelin-typeahead-ondemand-source', 3148 - 5 => 'javelin-util', 3149 - ), 3150 - 'disk' => '/rsrc/js/application/herald/PathTypeahead.js', 3151 - ), 3152 - 'people-profile-css' => 3153 - array( 3154 - 'uri' => '/res/f1da102e/rsrc/css/application/people/people-profile.css', 3155 - 'type' => 'css', 3156 - 'requires' => 3157 - array( 3158 - ), 3159 - 'disk' => '/rsrc/css/application/people/people-profile.css', 3160 - ), 3161 - 'phabricator-action-header-view-css' => 3162 - array( 3163 - 'uri' => '/res/cd8b4a61/rsrc/css/layout/phabricator-action-header-view.css', 3164 - 'type' => 'css', 3165 - 'requires' => 3166 - array( 3167 - ), 3168 - 'disk' => '/rsrc/css/layout/phabricator-action-header-view.css', 3169 - ), 3170 - 'phabricator-action-list-view-css' => 3171 - array( 3172 - 'uri' => '/res/2dce4556/rsrc/css/layout/phabricator-action-list-view.css', 3173 - 'type' => 'css', 3174 - 'requires' => 3175 - array( 3176 - ), 3177 - 'disk' => '/rsrc/css/layout/phabricator-action-list-view.css', 3178 - ), 3179 - 'phabricator-application-launch-view-css' => 3180 - array( 3181 - 'uri' => '/res/21a67228/rsrc/css/application/base/phabricator-application-launch-view.css', 3182 - 'type' => 'css', 3183 - 'requires' => 3184 - array( 3185 - ), 3186 - 'disk' => '/rsrc/css/application/base/phabricator-application-launch-view.css', 3187 - ), 3188 - 'phabricator-busy' => 3189 - array( 3190 - 'uri' => '/res/083c11d2/rsrc/js/core/Busy.js', 3191 - 'type' => 'js', 3192 - 'requires' => 3193 - array( 3194 - 0 => 'javelin-install', 3195 - 1 => 'javelin-dom', 3196 - 2 => 'javelin-fx', 3197 - ), 3198 - 'disk' => '/rsrc/js/core/Busy.js', 3199 - ), 3200 - 'phabricator-chatlog-css' => 3201 - array( 3202 - 'uri' => '/res/cf9b0aa7/rsrc/css/application/chatlog/chatlog.css', 3203 - 'type' => 'css', 3204 - 'requires' => 3205 - array( 3206 - ), 3207 - 'disk' => '/rsrc/css/application/chatlog/chatlog.css', 3208 - ), 3209 - 'phabricator-content-source-view-css' => 3210 - array( 3211 - 'uri' => '/res/f15a9527/rsrc/css/application/contentsource/content-source-view.css', 3212 - 'type' => 'css', 3213 - 'requires' => 3214 - array( 3215 - ), 3216 - 'disk' => '/rsrc/css/application/contentsource/content-source-view.css', 3217 - ), 3218 - 'phabricator-core-css' => 3219 - array( 3220 - 'uri' => '/res/9e767fb1/rsrc/css/core/core.css', 3221 - 'type' => 'css', 3222 - 'requires' => 3223 - array( 3224 - ), 3225 - 'disk' => '/rsrc/css/core/core.css', 3226 - ), 3227 - 'phabricator-countdown-css' => 3228 - array( 3229 - 'uri' => '/res/d85bdfd5/rsrc/css/application/countdown/timer.css', 3230 - 'type' => 'css', 3231 - 'requires' => 3232 - array( 3233 - ), 3234 - 'disk' => '/rsrc/css/application/countdown/timer.css', 3235 - ), 3236 - 'phabricator-crumbs-view-css' => 3237 - array( 3238 - 'uri' => '/res/f3c7068b/rsrc/css/layout/phabricator-crumbs-view.css', 3239 - 'type' => 'css', 3240 - 'requires' => 3241 - array( 3242 - ), 3243 - 'disk' => '/rsrc/css/layout/phabricator-crumbs-view.css', 3244 - ), 3245 - 'phabricator-drag-and-drop-file-upload' => 3246 - array( 3247 - 'uri' => '/res/396d3b3b/rsrc/js/core/DragAndDropFileUpload.js', 3248 - 'type' => 'js', 3249 - 'requires' => 3250 - array( 3251 - 0 => 'javelin-install', 3252 - 1 => 'javelin-util', 3253 - 2 => 'javelin-request', 3254 - 3 => 'javelin-dom', 3255 - 4 => 'javelin-uri', 3256 - 5 => 'phabricator-file-upload', 3257 - ), 3258 - 'disk' => '/rsrc/js/core/DragAndDropFileUpload.js', 3259 - ), 3260 - 'phabricator-draggable-list' => 3261 - array( 3262 - 'uri' => '/res/75c556db/rsrc/js/core/DraggableList.js', 3263 - 'type' => 'js', 3264 - 'requires' => 3265 - array( 3266 - 0 => 'javelin-install', 3267 - 1 => 'javelin-dom', 3268 - 2 => 'javelin-stratcom', 3269 - 3 => 'javelin-util', 3270 - 4 => 'javelin-vector', 3271 - 5 => 'javelin-magical-init', 3272 - ), 3273 - 'disk' => '/rsrc/js/core/DraggableList.js', 3274 - ), 3275 - 'phabricator-dropdown-menu' => 3276 - array( 3277 - 'uri' => '/res/147ca011/rsrc/js/core/DropdownMenu.js', 3278 - 'type' => 'js', 3279 - 'requires' => 3280 - array( 3281 - 0 => 'javelin-install', 3282 - 1 => 'javelin-util', 3283 - 2 => 'javelin-dom', 3284 - 3 => 'javelin-vector', 3285 - 4 => 'javelin-stratcom', 3286 - 5 => 'phabricator-menu-item', 3287 - ), 3288 - 'disk' => '/rsrc/js/core/DropdownMenu.js', 3289 - ), 3290 - 'phabricator-fatal-config-template-css' => 3291 - array( 3292 - 'uri' => '/res/6e1a8d22/rsrc/css/application/config/config-template.css', 3293 - 'type' => 'css', 3294 - 'requires' => 3295 - array( 3296 - ), 3297 - 'disk' => '/rsrc/css/application/config/config-template.css', 3298 - ), 3299 - 'phabricator-feed-css' => 3300 - array( 3301 - 'uri' => '/res/e19633ed/rsrc/css/application/feed/feed.css', 3302 - 'type' => 'css', 3303 - 'requires' => 3304 - array( 3305 - ), 3306 - 'disk' => '/rsrc/css/application/feed/feed.css', 3307 - ), 3308 - 'phabricator-file-upload' => 3309 - array( 3310 - 'uri' => '/res/c9605008/rsrc/js/core/FileUpload.js', 3311 - 'type' => 'js', 3312 - 'requires' => 3313 - array( 3314 - 0 => 'javelin-install', 3315 - 1 => 'javelin-dom', 3316 - 2 => 'phabricator-notification', 3317 - ), 3318 - 'disk' => '/rsrc/js/core/FileUpload.js', 3319 - ), 3320 - 'phabricator-filetree-view-css' => 3321 - array( 3322 - 'uri' => '/res/c912ed91/rsrc/css/layout/phabricator-filetree-view.css', 3323 - 'type' => 'css', 3324 - 'requires' => 3325 - array( 3326 - ), 3327 - 'disk' => '/rsrc/css/layout/phabricator-filetree-view.css', 3328 - ), 3329 - 'phabricator-flag-css' => 3330 - array( 3331 - 'uri' => '/res/cdb5cb1b/rsrc/css/application/flag/flag.css', 3332 - 'type' => 'css', 3333 - 'requires' => 3334 - array( 3335 - ), 3336 - 'disk' => '/rsrc/css/application/flag/flag.css', 3337 - ), 3338 - 'phabricator-hovercard' => 3339 - array( 3340 - 'uri' => '/res/7fb94260/rsrc/js/core/Hovercard.js', 3341 - 'type' => 'js', 3342 - 'requires' => 3343 - array( 3344 - 0 => 'javelin-install', 3345 - 1 => 'javelin-dom', 3346 - 2 => 'javelin-vector', 3347 - 3 => 'javelin-request', 3348 - 4 => 'javelin-uri', 3349 - ), 3350 - 'disk' => '/rsrc/js/core/Hovercard.js', 3351 - ), 3352 - 'phabricator-hovercard-view-css' => 3353 - array( 3354 - 'uri' => '/res/79c61f0e/rsrc/css/layout/phabricator-hovercard-view.css', 3355 - 'type' => 'css', 3356 - 'requires' => 3357 - array( 3358 - ), 3359 - 'disk' => '/rsrc/css/layout/phabricator-hovercard-view.css', 3360 - ), 3361 - 'phabricator-jump-nav' => 3362 - array( 3363 - 'uri' => '/res/7db8cead/rsrc/css/application/directory/phabricator-jump-nav.css', 3364 - 'type' => 'css', 3365 - 'requires' => 3366 - array( 3367 - ), 3368 - 'disk' => '/rsrc/css/application/directory/phabricator-jump-nav.css', 3369 - ), 3370 - 'phabricator-keyboard-shortcut' => 3371 - array( 3372 - 'uri' => '/res/44747afd/rsrc/js/core/KeyboardShortcut.js', 3373 - 'type' => 'js', 3374 - 'requires' => 3375 - array( 3376 - 0 => 'javelin-install', 3377 - 1 => 'javelin-util', 3378 - 2 => 'phabricator-keyboard-shortcut-manager', 3379 - ), 3380 - 'disk' => '/rsrc/js/core/KeyboardShortcut.js', 3381 - ), 3382 - 'phabricator-keyboard-shortcut-manager' => 3383 - array( 3384 - 'uri' => '/res/bf9bc02a/rsrc/js/core/KeyboardShortcutManager.js', 3385 - 'type' => 'js', 3386 - 'requires' => 3387 - array( 3388 - 0 => 'javelin-install', 3389 - 1 => 'javelin-util', 3390 - 2 => 'javelin-stratcom', 3391 - 3 => 'javelin-dom', 3392 - 4 => 'javelin-vector', 3393 - ), 3394 - 'disk' => '/rsrc/js/core/KeyboardShortcutManager.js', 3395 - ), 3396 - 'phabricator-main-menu-view' => 3397 - array( 3398 - 'uri' => '/res/44456bed/rsrc/css/application/base/main-menu-view.css', 3399 - 'type' => 'css', 3400 - 'requires' => 3401 - array( 3402 - ), 3403 - 'disk' => '/rsrc/css/application/base/main-menu-view.css', 3404 - ), 3405 - 'phabricator-menu-item' => 3406 - array( 3407 - 'uri' => '/res/e810b0a1/rsrc/js/core/DropdownMenuItem.js', 3408 - 'type' => 'js', 3409 - 'requires' => 3410 - array( 3411 - 0 => 'javelin-install', 3412 - 1 => 'javelin-dom', 3413 - ), 3414 - 'disk' => '/rsrc/js/core/DropdownMenuItem.js', 3415 - ), 3416 - 'phabricator-nav-view-css' => 3417 - array( 3418 - 'uri' => '/res/37955b6a/rsrc/css/aphront/phabricator-nav-view.css', 3419 - 'type' => 'css', 3420 - 'requires' => 3421 - array( 3422 - ), 3423 - 'disk' => '/rsrc/css/aphront/phabricator-nav-view.css', 3424 - ), 3425 - 'phabricator-notification' => 3426 - array( 3427 - 'uri' => '/res/0764da14/rsrc/js/core/Notification.js', 3428 - 'type' => 'js', 3429 - 'requires' => 3430 - array( 3431 - 0 => 'javelin-install', 3432 - 1 => 'javelin-dom', 3433 - 2 => 'javelin-stratcom', 3434 - 3 => 'javelin-util', 3435 - 4 => 'phabricator-notification-css', 3436 - ), 3437 - 'disk' => '/rsrc/js/core/Notification.js', 3438 - ), 3439 - 'phabricator-notification-css' => 3440 - array( 3441 - 'uri' => '/res/2b9cdac0/rsrc/css/aphront/notification.css', 3442 - 'type' => 'css', 3443 - 'requires' => 3444 - array( 3445 - ), 3446 - 'disk' => '/rsrc/css/aphront/notification.css', 3447 - ), 3448 - 'phabricator-notification-menu-css' => 3449 - array( 3450 - 'uri' => '/res/48b02e64/rsrc/css/application/base/notification-menu.css', 3451 - 'type' => 'css', 3452 - 'requires' => 3453 - array( 3454 - ), 3455 - 'disk' => '/rsrc/css/application/base/notification-menu.css', 3456 - ), 3457 - 'phabricator-object-list-view-css' => 3458 - array( 3459 - 'uri' => '/res/4f183668/rsrc/css/application/projects/phabricator-object-list-view.css', 3460 - 'type' => 'css', 3461 - 'requires' => 3462 - array( 3463 - ), 3464 - 'disk' => '/rsrc/css/application/projects/phabricator-object-list-view.css', 3465 - ), 3466 - 'phabricator-object-selector-css' => 3467 - array( 3468 - 'uri' => '/res/575e4958/rsrc/css/application/objectselector/object-selector.css', 3469 - 'type' => 'css', 3470 - 'requires' => 3471 - array( 3472 - 0 => 'aphront-dialog-view-css', 3473 - ), 3474 - 'disk' => '/rsrc/css/application/objectselector/object-selector.css', 3475 - ), 3476 - 'phabricator-phtize' => 3477 - array( 3478 - 'uri' => '/res/dc655a81/rsrc/js/core/phtize.js', 3479 - 'type' => 'js', 3480 - 'requires' => 3481 - array( 3482 - 0 => 'javelin-util', 3483 - ), 3484 - 'disk' => '/rsrc/js/core/phtize.js', 3485 - ), 3486 - 'phabricator-prefab' => 3487 - array( 3488 - 'uri' => '/res/511859ca/rsrc/js/core/Prefab.js', 3489 - 'type' => 'js', 3490 - 'requires' => 3491 - array( 3492 - 0 => 'javelin-install', 3493 - 1 => 'javelin-util', 3494 - 2 => 'javelin-dom', 3495 - 3 => 'javelin-typeahead', 3496 - 4 => 'javelin-tokenizer', 3497 - 5 => 'javelin-typeahead-preloaded-source', 3498 - 6 => 'javelin-typeahead-ondemand-source', 3499 - 7 => 'javelin-dom', 3500 - 8 => 'javelin-stratcom', 3501 - 9 => 'javelin-util', 3502 - ), 3503 - 'disk' => '/rsrc/js/core/Prefab.js', 3504 - ), 3505 - 'phabricator-profile-css' => 3506 - array( 3507 - 'uri' => '/res/ad614d5f/rsrc/css/application/profile/profile-view.css', 3508 - 'type' => 'css', 3509 - 'requires' => 3510 - array( 3511 - ), 3512 - 'disk' => '/rsrc/css/application/profile/profile-view.css', 3513 - ), 3514 - 'phabricator-project-tag-css' => 3515 - array( 3516 - 'uri' => '/res/535b8b7a/rsrc/css/application/projects/project-tag.css', 3517 - 'type' => 'css', 3518 - 'requires' => 3519 - array( 3520 - ), 3521 - 'disk' => '/rsrc/css/application/projects/project-tag.css', 3522 - ), 3523 - 'phabricator-remarkup-css' => 3524 - array( 3525 - 'uri' => '/res/4c313572/rsrc/css/core/remarkup.css', 3526 - 'type' => 'css', 3527 - 'requires' => 3528 - array( 3529 - ), 3530 - 'disk' => '/rsrc/css/core/remarkup.css', 3531 - ), 3532 - 'phabricator-search-results-css' => 3533 - array( 3534 - 'uri' => '/res/5407f3ea/rsrc/css/application/search/search-results.css', 3535 - 'type' => 'css', 3536 - 'requires' => 3537 - array( 3538 - ), 3539 - 'disk' => '/rsrc/css/application/search/search-results.css', 3540 - ), 3541 - 'phabricator-settings-css' => 3542 - array( 3543 - 'uri' => '/res/fb9d017f/rsrc/css/application/settings/settings.css', 3544 - 'type' => 'css', 3545 - 'requires' => 3546 - array( 3547 - ), 3548 - 'disk' => '/rsrc/css/application/settings/settings.css', 3549 - ), 3550 - 'phabricator-shaped-request' => 3551 - array( 3552 - 'uri' => '/res/d173af85/rsrc/js/core/ShapedRequest.js', 3553 - 'type' => 'js', 3554 - 'requires' => 3555 - array( 3556 - 0 => 'javelin-install', 3557 - 1 => 'javelin-util', 3558 - 2 => 'javelin-request', 3559 - ), 3560 - 'disk' => '/rsrc/js/core/ShapedRequest.js', 3561 - ), 3562 - 'phabricator-side-menu-view-css' => 3563 - array( 3564 - 'uri' => '/res/e83fbe58/rsrc/css/layout/phabricator-side-menu-view.css', 3565 - 'type' => 'css', 3566 - 'requires' => 3567 - array( 3568 - ), 3569 - 'disk' => '/rsrc/css/layout/phabricator-side-menu-view.css', 3570 - ), 3571 - 'phabricator-slowvote-css' => 3572 - array( 3573 - 'uri' => '/res/e61a54eb/rsrc/css/application/slowvote/slowvote.css', 3574 - 'type' => 'css', 3575 - 'requires' => 3576 - array( 3577 - ), 3578 - 'disk' => '/rsrc/css/application/slowvote/slowvote.css', 3579 - ), 3580 - 'phabricator-source-code-view-css' => 3581 - array( 3582 - 'uri' => '/res/f70ef208/rsrc/css/layout/phabricator-source-code-view.css', 3583 - 'type' => 'css', 3584 - 'requires' => 3585 - array( 3586 - ), 3587 - 'disk' => '/rsrc/css/layout/phabricator-source-code-view.css', 3588 - ), 3589 - 'phabricator-standard-page-view' => 3590 - array( 3591 - 'uri' => '/res/eebd59cd/rsrc/css/application/base/standard-page-view.css', 3592 - 'type' => 'css', 3593 - 'requires' => 3594 - array( 3595 - ), 3596 - 'disk' => '/rsrc/css/application/base/standard-page-view.css', 3597 - ), 3598 - 'phabricator-tag-view-css' => 3599 - array( 3600 - 'uri' => '/res/65ad2dc3/rsrc/css/layout/phabricator-tag-view.css', 3601 - 'type' => 'css', 3602 - 'requires' => 3603 - array( 3604 - ), 3605 - 'disk' => '/rsrc/css/layout/phabricator-tag-view.css', 3606 - ), 3607 - 'phabricator-textareautils' => 3608 - array( 3609 - 'uri' => '/res/03c03e8b/rsrc/js/core/TextAreaUtils.js', 3610 - 'type' => 'js', 3611 - 'requires' => 3612 - array( 3613 - 0 => 'javelin-install', 3614 - ), 3615 - 'disk' => '/rsrc/js/core/TextAreaUtils.js', 3616 - ), 3617 - 'phabricator-timeline-view-css' => 3618 - array( 3619 - 'uri' => '/res/d139291d/rsrc/css/layout/phabricator-timeline-view.css', 3620 - 'type' => 'css', 3621 - 'requires' => 3622 - array( 3623 - ), 3624 - 'disk' => '/rsrc/css/layout/phabricator-timeline-view.css', 3625 - ), 3626 - 'phabricator-tooltip' => 3627 - array( 3628 - 'uri' => '/res/a23bc887/rsrc/js/core/ToolTip.js', 3629 - 'type' => 'js', 3630 - 'requires' => 3631 - array( 3632 - 0 => 'javelin-install', 3633 - 1 => 'javelin-util', 3634 - 2 => 'javelin-dom', 3635 - 3 => 'javelin-vector', 3636 - ), 3637 - 'disk' => '/rsrc/js/core/ToolTip.js', 3638 - ), 3639 - 'phabricator-transaction-view-css' => 3640 - array( 3641 - 'uri' => '/res/5e6237c6/rsrc/css/aphront/transaction.css', 3642 - 'type' => 'css', 3643 - 'requires' => 3644 - array( 3645 - ), 3646 - 'disk' => '/rsrc/css/aphront/transaction.css', 3647 - ), 3648 - 'phabricator-ui-example-css' => 3649 - array( 3650 - 'uri' => '/res/376ab671/rsrc/css/application/uiexample/example.css', 3651 - 'type' => 'css', 3652 - 'requires' => 3653 - array( 3654 - ), 3655 - 'disk' => '/rsrc/css/application/uiexample/example.css', 3656 - ), 3657 - 'phabricator-uiexample-javelin-view' => 3658 - array( 3659 - 'uri' => '/res/d42834b6/rsrc/js/application/uiexample/JavelinViewExample.js', 3660 - 'type' => 'js', 3661 - 'requires' => 3662 - array( 3663 - 0 => 'javelin-install', 3664 - 1 => 'javelin-dom', 3665 - 2 => 'javelin-view', 3666 - ), 3667 - 'disk' => '/rsrc/js/application/uiexample/JavelinViewExample.js', 3668 - ), 3669 - 'phabricator-uiexample-reactor-button' => 3670 - array( 3671 - 'uri' => '/res/6bfe4f05/rsrc/js/application/uiexample/ReactorButtonExample.js', 3672 - 'type' => 'js', 3673 - 'requires' => 3674 - array( 3675 - 0 => 'javelin-install', 3676 - 1 => 'javelin-dom', 3677 - 2 => 'javelin-util', 3678 - 3 => 'javelin-dynval', 3679 - 4 => 'javelin-reactor-dom', 3680 - ), 3681 - 'disk' => '/rsrc/js/application/uiexample/ReactorButtonExample.js', 3682 - ), 3683 - 'phabricator-uiexample-reactor-checkbox' => 3684 - array( 3685 - 'uri' => '/res/3e8b30ac/rsrc/js/application/uiexample/ReactorCheckboxExample.js', 3686 - 'type' => 'js', 3687 - 'requires' => 3688 - array( 3689 - 0 => 'javelin-install', 3690 - 1 => 'javelin-dom', 3691 - 2 => 'javelin-reactor-dom', 3692 - ), 3693 - 'disk' => '/rsrc/js/application/uiexample/ReactorCheckboxExample.js', 3694 - ), 3695 - 'phabricator-uiexample-reactor-focus' => 3696 - array( 3697 - 'uri' => '/res/d8f3b56e/rsrc/js/application/uiexample/ReactorFocusExample.js', 3698 - 'type' => 'js', 3699 - 'requires' => 3700 - array( 3701 - 0 => 'javelin-install', 3702 - 1 => 'javelin-dom', 3703 - 2 => 'javelin-reactor-dom', 3704 - ), 3705 - 'disk' => '/rsrc/js/application/uiexample/ReactorFocusExample.js', 3706 - ), 3707 - 'phabricator-uiexample-reactor-input' => 3708 - array( 3709 - 'uri' => '/res/936352d9/rsrc/js/application/uiexample/ReactorInputExample.js', 3710 - 'type' => 'js', 3711 - 'requires' => 3712 - array( 3713 - 0 => 'javelin-install', 3714 - 1 => 'javelin-reactor-dom', 3715 - 2 => 'javelin-view-html', 3716 - 3 => 'javelin-view-interpreter', 3717 - 4 => 'javelin-view-renderer', 3718 - ), 3719 - 'disk' => '/rsrc/js/application/uiexample/ReactorInputExample.js', 3720 - ), 3721 - 'phabricator-uiexample-reactor-mouseover' => 3722 - array( 3723 - 'uri' => '/res/031a9f4f/rsrc/js/application/uiexample/ReactorMouseoverExample.js', 3724 - 'type' => 'js', 3725 - 'requires' => 3726 - array( 3727 - 0 => 'javelin-install', 3728 - 1 => 'javelin-dom', 3729 - 2 => 'javelin-reactor-dom', 3730 - ), 3731 - 'disk' => '/rsrc/js/application/uiexample/ReactorMouseoverExample.js', 3732 - ), 3733 - 'phabricator-uiexample-reactor-radio' => 3734 - array( 3735 - 'uri' => '/res/208c58e3/rsrc/js/application/uiexample/ReactorRadioExample.js', 3736 - 'type' => 'js', 3737 - 'requires' => 3738 - array( 3739 - 0 => 'javelin-install', 3740 - 1 => 'javelin-dom', 3741 - 2 => 'javelin-reactor-dom', 3742 - ), 3743 - 'disk' => '/rsrc/js/application/uiexample/ReactorRadioExample.js', 3744 - ), 3745 - 'phabricator-uiexample-reactor-select' => 3746 - array( 3747 - 'uri' => '/res/1b68a6db/rsrc/js/application/uiexample/ReactorSelectExample.js', 3748 - 'type' => 'js', 3749 - 'requires' => 3750 - array( 3751 - 0 => 'javelin-install', 3752 - 1 => 'javelin-dom', 3753 - 2 => 'javelin-reactor-dom', 3754 - ), 3755 - 'disk' => '/rsrc/js/application/uiexample/ReactorSelectExample.js', 3756 - ), 3757 - 'phabricator-uiexample-reactor-sendclass' => 3758 - array( 3759 - 'uri' => '/res/00cb3131/rsrc/js/application/uiexample/ReactorSendClassExample.js', 3760 - 'type' => 'js', 3761 - 'requires' => 3762 - array( 3763 - 0 => 'javelin-install', 3764 - 1 => 'javelin-dom', 3765 - 2 => 'javelin-reactor-dom', 3766 - ), 3767 - 'disk' => '/rsrc/js/application/uiexample/ReactorSendClassExample.js', 3768 - ), 3769 - 'phabricator-uiexample-reactor-sendproperties' => 3770 - array( 3771 - 'uri' => '/res/392f1e02/rsrc/js/application/uiexample/ReactorSendPropertiesExample.js', 3772 - 'type' => 'js', 3773 - 'requires' => 3774 - array( 3775 - 0 => 'javelin-install', 3776 - 1 => 'javelin-dom', 3777 - 2 => 'javelin-reactor-dom', 3778 - ), 3779 - 'disk' => '/rsrc/js/application/uiexample/ReactorSendPropertiesExample.js', 3780 - ), 3781 - 'phabricator-zindex-css' => 3782 - array( 3783 - 'uri' => '/res/b443d508/rsrc/css/core/z-index.css', 3784 - 'type' => 'css', 3785 - 'requires' => 3786 - array( 3787 - ), 3788 - 'disk' => '/rsrc/css/core/z-index.css', 3789 - ), 3790 - 'phame-css' => 3791 - array( 3792 - 'uri' => '/res/405e77b8/rsrc/css/application/phame/phame.css', 3793 - 'type' => 'css', 3794 - 'requires' => 3795 - array( 3796 - ), 3797 - 'disk' => '/rsrc/css/application/phame/phame.css', 3798 - ), 3799 - 'pholio-css' => 3800 - array( 3801 - 'uri' => '/res/e64264c9/rsrc/css/application/pholio/pholio.css', 3802 - 'type' => 'css', 3803 - 'requires' => 3804 - array( 3805 - ), 3806 - 'disk' => '/rsrc/css/application/pholio/pholio.css', 3807 - ), 3808 - 'pholio-edit-css' => 3809 - array( 3810 - 'uri' => '/res/04013652/rsrc/css/application/pholio/pholio-edit.css', 3811 - 'type' => 'css', 3812 - 'requires' => 3813 - array( 3814 - ), 3815 - 'disk' => '/rsrc/css/application/pholio/pholio-edit.css', 3816 - ), 3817 - 'pholio-inline-comments-css' => 3818 - array( 3819 - 'uri' => '/res/67e2f18c/rsrc/css/application/pholio/pholio-inline-comments.css', 3820 - 'type' => 'css', 3821 - 'requires' => 3822 - array( 3823 - ), 3824 - 'disk' => '/rsrc/css/application/pholio/pholio-inline-comments.css', 3825 - ), 3826 - 'phortune-credit-card-form' => 3827 - array( 3828 - 'uri' => '/res/bc948778/rsrc/js/application/phortune/phortune-credit-card-form.js', 3829 - 'type' => 'js', 3830 - 'requires' => 3831 - array( 3832 - 0 => 'javelin-install', 3833 - 1 => 'javelin-dom', 3834 - 2 => 'javelin-json', 3835 - 3 => 'javelin-workflow', 3836 - 4 => 'javelin-util', 3837 - ), 3838 - 'disk' => '/rsrc/js/application/phortune/phortune-credit-card-form.js', 3839 - ), 3840 - 'phortune-credit-card-form-css' => 3841 - array( 3842 - 'uri' => '/res/563c8c6d/rsrc/css/application/phortune/phortune-credit-card-form.css', 3843 - 'type' => 'css', 3844 - 'requires' => 3845 - array( 3846 - ), 3847 - 'disk' => '/rsrc/css/application/phortune/phortune-credit-card-form.css', 3848 - ), 3849 - 'phrequent-css' => 3850 - array( 3851 - 'uri' => '/res/e2f09149/rsrc/css/application/phrequent/phrequent.css', 3852 - 'type' => 'css', 3853 - 'requires' => 3854 - array( 3855 - ), 3856 - 'disk' => '/rsrc/css/application/phrequent/phrequent.css', 3857 - ), 3858 - 'phriction-document-css' => 3859 - array( 3860 - 'uri' => '/res/97cbd7c6/rsrc/css/application/phriction/phriction-document-css.css', 3861 - 'type' => 'css', 3862 - 'requires' => 3863 - array( 3864 - ), 3865 - 'disk' => '/rsrc/css/application/phriction/phriction-document-css.css', 3866 - ), 3867 - 'phui-box-css' => 3868 - array( 3869 - 'uri' => '/res/cd1b04cf/rsrc/css/phui/phui-box.css', 3870 - 'type' => 'css', 3871 - 'requires' => 3872 - array( 3873 - ), 3874 - 'disk' => '/rsrc/css/phui/phui-box.css', 3875 - ), 3876 - 'phui-button-css' => 3877 - array( 3878 - 'uri' => '/res/5d0a3cec/rsrc/css/phui/phui-button.css', 3879 - 'type' => 'css', 3880 - 'requires' => 3881 - array( 3882 - ), 3883 - 'disk' => '/rsrc/css/phui/phui-button.css', 3884 - ), 3885 - 'phui-document-view-css' => 3886 - array( 3887 - 'uri' => '/res/cac7a825/rsrc/css/phui/phui-document.css', 3888 - 'type' => 'css', 3889 - 'requires' => 3890 - array( 3891 - ), 3892 - 'disk' => '/rsrc/css/phui/phui-document.css', 3893 - ), 3894 - 'phui-feed-story-css' => 3895 - array( 3896 - 'uri' => '/res/8f28c686/rsrc/css/phui/phui-feed-story.css', 3897 - 'type' => 'css', 3898 - 'requires' => 3899 - array( 3900 - ), 3901 - 'disk' => '/rsrc/css/phui/phui-feed-story.css', 3902 - ), 3903 - 'phui-form-css' => 3904 - array( 3905 - 'uri' => '/res/29b48d06/rsrc/css/phui/phui-form.css', 3906 - 'type' => 'css', 3907 - 'requires' => 3908 - array( 3909 - ), 3910 - 'disk' => '/rsrc/css/phui/phui-form.css', 3911 - ), 3912 - 'phui-form-view-css' => 3913 - array( 3914 - 'uri' => '/res/c77cb7c8/rsrc/css/phui/phui-form-view.css', 3915 - 'type' => 'css', 3916 - 'requires' => 3917 - array( 3918 - ), 3919 - 'disk' => '/rsrc/css/phui/phui-form-view.css', 3920 - ), 3921 - 'phui-header-view-css' => 3922 - array( 3923 - 'uri' => '/res/d282803f/rsrc/css/phui/phui-header-view.css', 3924 - 'type' => 'css', 3925 - 'requires' => 3926 - array( 3927 - ), 3928 - 'disk' => '/rsrc/css/phui/phui-header-view.css', 3929 - ), 3930 - 'phui-icon-view-css' => 3931 - array( 3932 - 'uri' => '/res/28fb5ae5/rsrc/css/phui/phui-icon.css', 3933 - 'type' => 'css', 3934 - 'requires' => 3935 - array( 3936 - ), 3937 - 'disk' => '/rsrc/css/phui/phui-icon.css', 3938 - ), 3939 - 'phui-info-panel-css' => 3940 - array( 3941 - 'uri' => '/res/e0ba8d04/rsrc/css/phui/phui-info-panel.css', 3942 - 'type' => 'css', 3943 - 'requires' => 3944 - array( 3945 - ), 3946 - 'disk' => '/rsrc/css/phui/phui-info-panel.css', 3947 - ), 3948 - 'phui-list-view-css' => 3949 - array( 3950 - 'uri' => '/res/fbf42225/rsrc/css/phui/phui-list.css', 3951 - 'type' => 'css', 3952 - 'requires' => 3953 - array( 3954 - ), 3955 - 'disk' => '/rsrc/css/phui/phui-list.css', 3956 - ), 3957 - 'phui-object-box-css' => 3958 - array( 3959 - 'uri' => '/res/8504279f/rsrc/css/phui/phui-object-box.css', 3960 - 'type' => 'css', 3961 - 'requires' => 3962 - array( 3963 - ), 3964 - 'disk' => '/rsrc/css/phui/phui-object-box.css', 3965 - ), 3966 - 'phui-object-item-list-view-css' => 3967 - array( 3968 - 'uri' => '/res/ba048e0a/rsrc/css/phui/phui-object-item-list-view.css', 3969 - 'type' => 'css', 3970 - 'requires' => 3971 - array( 3972 - ), 3973 - 'disk' => '/rsrc/css/phui/phui-object-item-list-view.css', 3974 - ), 3975 - 'phui-pinboard-view-css' => 3976 - array( 3977 - 'uri' => '/res/f791ea99/rsrc/css/phui/phui-pinboard-view.css', 3978 - 'type' => 'css', 3979 - 'requires' => 3980 - array( 3981 - ), 3982 - 'disk' => '/rsrc/css/phui/phui-pinboard-view.css', 3983 - ), 3984 - 'phui-property-list-view-css' => 3985 - array( 3986 - 'uri' => '/res/e1e6674b/rsrc/css/phui/phui-property-list-view.css', 3987 - 'type' => 'css', 3988 - 'requires' => 3989 - array( 3990 - ), 3991 - 'disk' => '/rsrc/css/phui/phui-property-list-view.css', 3992 - ), 3993 - 'phui-remarkup-preview-css' => 3994 - array( 3995 - 'uri' => '/res/50fa4178/rsrc/css/phui/phui-remarkup-preview.css', 3996 - 'type' => 'css', 3997 - 'requires' => 3998 - array( 3999 - ), 4000 - 'disk' => '/rsrc/css/phui/phui-remarkup-preview.css', 4001 - ), 4002 - 'phui-spacing-css' => 4003 - array( 4004 - 'uri' => '/res/28891fd3/rsrc/css/phui/phui-spacing.css', 4005 - 'type' => 'css', 4006 - 'requires' => 4007 - array( 4008 - ), 4009 - 'disk' => '/rsrc/css/phui/phui-spacing.css', 4010 - ), 4011 - 'phui-status-list-view-css' => 4012 - array( 4013 - 'uri' => '/res/868f8a95/rsrc/css/phui/phui-status.css', 4014 - 'type' => 'css', 4015 - 'requires' => 4016 - array( 4017 - ), 4018 - 'disk' => '/rsrc/css/phui/phui-status.css', 4019 - ), 4020 - 'phui-text-css' => 4021 - array( 4022 - 'uri' => '/res/63e53cac/rsrc/css/phui/phui-text.css', 4023 - 'type' => 'css', 4024 - 'requires' => 4025 - array( 4026 - ), 4027 - 'disk' => '/rsrc/css/phui/phui-text.css', 4028 - ), 4029 - 'phui-workboard-view-css' => 4030 - array( 4031 - 'uri' => '/res/908b64b3/rsrc/css/phui/phui-workboard-view.css', 4032 - 'type' => 'css', 4033 - 'requires' => 4034 - array( 4035 - ), 4036 - 'disk' => '/rsrc/css/phui/phui-workboard-view.css', 4037 - ), 4038 - 'phui-workpanel-view-css' => 4039 - array( 4040 - 'uri' => '/res/0b9a41d8/rsrc/css/phui/phui-workpanel-view.css', 4041 - 'type' => 'css', 4042 - 'requires' => 4043 - array( 4044 - ), 4045 - 'disk' => '/rsrc/css/phui/phui-workpanel-view.css', 4046 - ), 4047 - 'policy-css' => 4048 - array( 4049 - 'uri' => '/res/51325bff/rsrc/css/application/policy/policy.css', 4050 - 'type' => 'css', 4051 - 'requires' => 4052 - array( 4053 - ), 4054 - 'disk' => '/rsrc/css/application/policy/policy.css', 4055 - ), 4056 - 'policy-edit-css' => 4057 - array( 4058 - 'uri' => '/res/1e2a2b5e/rsrc/css/application/policy/policy-edit.css', 4059 - 'type' => 'css', 4060 - 'requires' => 4061 - array( 4062 - ), 4063 - 'disk' => '/rsrc/css/application/policy/policy-edit.css', 4064 - ), 4065 - 'ponder-comment-table-css' => 4066 - array( 4067 - 'uri' => '/res/4aa4b865/rsrc/css/application/ponder/comments.css', 4068 - 'type' => 'css', 4069 - 'requires' => 4070 - array( 4071 - ), 4072 - 'disk' => '/rsrc/css/application/ponder/comments.css', 4073 - ), 4074 - 'ponder-feed-view-css' => 4075 - array( 4076 - 'uri' => '/res/cab09075/rsrc/css/application/ponder/feed.css', 4077 - 'type' => 'css', 4078 - 'requires' => 4079 - array( 4080 - ), 4081 - 'disk' => '/rsrc/css/application/ponder/feed.css', 4082 - ), 4083 - 'ponder-post-css' => 4084 - array( 4085 - 'uri' => '/res/013b9e2c/rsrc/css/application/ponder/post.css', 4086 - 'type' => 'css', 4087 - 'requires' => 4088 - array( 4089 - ), 4090 - 'disk' => '/rsrc/css/application/ponder/post.css', 4091 - ), 4092 - 'ponder-vote-css' => 4093 - array( 4094 - 'uri' => '/res/6bbe8538/rsrc/css/application/ponder/vote.css', 4095 - 'type' => 'css', 4096 - 'requires' => 4097 - array( 4098 - ), 4099 - 'disk' => '/rsrc/css/application/ponder/vote.css', 4100 - ), 4101 - 'raphael-core' => 4102 - array( 4103 - 'uri' => '/res/5dc5e17c/rsrc/externals/raphael/raphael.js', 4104 - 'type' => 'js', 4105 - 'requires' => 4106 - array( 4107 - ), 4108 - 'disk' => '/rsrc/externals/raphael/raphael.js', 4109 - ), 4110 - 'raphael-g' => 4111 - array( 4112 - 'uri' => '/res/229b89a1/rsrc/externals/raphael/g.raphael.js', 4113 - 'type' => 'js', 4114 - 'requires' => 4115 - array( 4116 - ), 4117 - 'disk' => '/rsrc/externals/raphael/g.raphael.js', 4118 - ), 4119 - 'raphael-g-line' => 4120 - array( 4121 - 'uri' => '/res/96da30f7/rsrc/externals/raphael/g.raphael.line.js', 4122 - 'type' => 'js', 4123 - 'requires' => 4124 - array( 4125 - ), 4126 - 'disk' => '/rsrc/externals/raphael/g.raphael.line.js', 4127 - ), 4128 - 'releeph-branch' => 4129 - array( 4130 - 'uri' => '/res/6ad6420d/rsrc/css/application/releeph/releeph-branch.css', 4131 - 'type' => 'css', 4132 - 'requires' => 4133 - array( 4134 - ), 4135 - 'disk' => '/rsrc/css/application/releeph/releeph-branch.css', 4136 - ), 4137 - 'releeph-colors' => 4138 - array( 4139 - 'uri' => '/res/dff4b26a/rsrc/css/application/releeph/releeph-colors.css', 4140 - 'type' => 'css', 4141 - 'requires' => 4142 - array( 4143 - ), 4144 - 'disk' => '/rsrc/css/application/releeph/releeph-colors.css', 4145 - ), 4146 - 'releeph-core' => 4147 - array( 4148 - 'uri' => '/res/dad04eff/rsrc/css/application/releeph/releeph-core.css', 4149 - 'type' => 'css', 4150 - 'requires' => 4151 - array( 4152 - ), 4153 - 'disk' => '/rsrc/css/application/releeph/releeph-core.css', 4154 - ), 4155 - 'releeph-intents' => 4156 - array( 4157 - 'uri' => '/res/4e73e9dd/rsrc/css/application/releeph/releeph-intents.css', 4158 - 'type' => 'css', 4159 - 'requires' => 4160 - array( 4161 - ), 4162 - 'disk' => '/rsrc/css/application/releeph/releeph-intents.css', 4163 - ), 4164 - 'releeph-preview-branch' => 4165 - array( 4166 - 'uri' => '/res/65e5dece/rsrc/css/application/releeph/releeph-preview-branch.css', 4167 - 'type' => 'css', 4168 - 'requires' => 4169 - array( 4170 - ), 4171 - 'disk' => '/rsrc/css/application/releeph/releeph-preview-branch.css', 4172 - ), 4173 - 'releeph-project' => 4174 - array( 4175 - 'uri' => '/res/b9376e59/rsrc/css/application/releeph/releeph-project.css', 4176 - 'type' => 'css', 4177 - 'requires' => 4178 - array( 4179 - ), 4180 - 'disk' => '/rsrc/css/application/releeph/releeph-project.css', 4181 - ), 4182 - 'releeph-request-differential-create-dialog' => 4183 - array( 4184 - 'uri' => '/res/4df30ce1/rsrc/css/application/releeph/releeph-request-differential-create-dialog.css', 4185 - 'type' => 'css', 4186 - 'requires' => 4187 - array( 4188 - ), 4189 - 'disk' => '/rsrc/css/application/releeph/releeph-request-differential-create-dialog.css', 4190 - ), 4191 - 'releeph-request-typeahead-css' => 4192 - array( 4193 - 'uri' => '/res/9c9a1acf/rsrc/css/application/releeph/releeph-request-typeahead.css', 4194 - 'type' => 'css', 4195 - 'requires' => 4196 - array( 4197 - ), 4198 - 'disk' => '/rsrc/css/application/releeph/releeph-request-typeahead.css', 4199 - ), 4200 - 'releeph-status' => 4201 - array( 4202 - 'uri' => '/res/588529df/rsrc/css/application/releeph/releeph-status.css', 4203 - 'type' => 'css', 4204 - 'requires' => 4205 - array( 4206 - ), 4207 - 'disk' => '/rsrc/css/application/releeph/releeph-status.css', 4208 - ), 4209 - 'setup-issue-css' => 4210 - array( 4211 - 'uri' => '/res/135c19ed/rsrc/css/application/config/setup-issue.css', 4212 - 'type' => 'css', 4213 - 'requires' => 4214 - array( 4215 - ), 4216 - 'disk' => '/rsrc/css/application/config/setup-issue.css', 4217 - ), 4218 - 'sprite-actions-css' => 4219 - array( 4220 - 'uri' => '/res/bd43efa8/rsrc/css/sprite-actions.css', 4221 - 'type' => 'css', 4222 - 'requires' => 4223 - array( 4224 - ), 4225 - 'disk' => '/rsrc/css/sprite-actions.css', 4226 - ), 4227 - 'sprite-apps-css' => 4228 - array( 4229 - 'uri' => '/res/c514a2dc/rsrc/css/sprite-apps.css', 4230 - 'type' => 'css', 4231 - 'requires' => 4232 - array( 4233 - ), 4234 - 'disk' => '/rsrc/css/sprite-apps.css', 4235 - ), 4236 - 'sprite-apps-large-css' => 4237 - array( 4238 - 'uri' => '/res/9d25c719/rsrc/css/sprite-apps-large.css', 4239 - 'type' => 'css', 4240 - 'requires' => 4241 - array( 4242 - ), 4243 - 'disk' => '/rsrc/css/sprite-apps-large.css', 4244 - ), 4245 - 'sprite-apps-xlarge-css' => 4246 - array( 4247 - 'uri' => '/res/33a8e644/rsrc/css/sprite-apps-xlarge.css', 4248 - 'type' => 'css', 4249 - 'requires' => 4250 - array( 4251 - ), 4252 - 'disk' => '/rsrc/css/sprite-apps-xlarge.css', 4253 - ), 4254 - 'sprite-conpherence-css' => 4255 - array( 4256 - 'uri' => '/res/f6793453/rsrc/css/sprite-conpherence.css', 4257 - 'type' => 'css', 4258 - 'requires' => 4259 - array( 4260 - ), 4261 - 'disk' => '/rsrc/css/sprite-conpherence.css', 4262 - ), 4263 - 'sprite-docs-css' => 4264 - array( 4265 - 'uri' => '/res/b32f93bc/rsrc/css/sprite-docs.css', 4266 - 'type' => 'css', 4267 - 'requires' => 4268 - array( 4269 - ), 4270 - 'disk' => '/rsrc/css/sprite-docs.css', 4271 - ), 4272 - 'sprite-gradient-css' => 4273 - array( 4274 - 'uri' => '/res/e31d9063/rsrc/css/sprite-gradient.css', 4275 - 'type' => 'css', 4276 - 'requires' => 4277 - array( 4278 - ), 4279 - 'disk' => '/rsrc/css/sprite-gradient.css', 4280 - ), 4281 - 'sprite-icons-css' => 4282 - array( 4283 - 'uri' => '/res/1418d812/rsrc/css/sprite-icons.css', 4284 - 'type' => 'css', 4285 - 'requires' => 4286 - array( 4287 - ), 4288 - 'disk' => '/rsrc/css/sprite-icons.css', 4289 - ), 4290 - 'sprite-login-css' => 4291 - array( 4292 - 'uri' => '/res/48dc427d/rsrc/css/sprite-login.css', 4293 - 'type' => 'css', 4294 - 'requires' => 4295 - array( 4296 - ), 4297 - 'disk' => '/rsrc/css/sprite-login.css', 4298 - ), 4299 - 'sprite-main-header-css' => 4300 - array( 4301 - 'uri' => '/res/b788fd75/rsrc/css/sprite-main-header.css', 4302 - 'type' => 'css', 4303 - 'requires' => 4304 - array( 4305 - ), 4306 - 'disk' => '/rsrc/css/sprite-main-header.css', 4307 - ), 4308 - 'sprite-menu-css' => 4309 - array( 4310 - 'uri' => '/res/764ab039/rsrc/css/sprite-menu.css', 4311 - 'type' => 'css', 4312 - 'requires' => 4313 - array( 4314 - ), 4315 - 'disk' => '/rsrc/css/sprite-menu.css', 4316 - ), 4317 - 'sprite-minicons-css' => 4318 - array( 4319 - 'uri' => '/res/2dba70cd/rsrc/css/sprite-minicons.css', 4320 - 'type' => 'css', 4321 - 'requires' => 4322 - array( 4323 - ), 4324 - 'disk' => '/rsrc/css/sprite-minicons.css', 4325 - ), 4326 - 'sprite-payments-css' => 4327 - array( 4328 - 'uri' => '/res/876697b6/rsrc/css/sprite-payments.css', 4329 - 'type' => 'css', 4330 - 'requires' => 4331 - array( 4332 - ), 4333 - 'disk' => '/rsrc/css/sprite-payments.css', 4334 - ), 4335 - 'sprite-projects-css' => 4336 - array( 4337 - 'uri' => '/res/40eacbfb/rsrc/css/sprite-projects.css', 4338 - 'type' => 'css', 4339 - 'requires' => 4340 - array( 4341 - ), 4342 - 'disk' => '/rsrc/css/sprite-projects.css', 4343 - ), 4344 - 'sprite-status-css' => 4345 - array( 4346 - 'uri' => '/res/a7f117c7/rsrc/css/sprite-status.css', 4347 - 'type' => 'css', 4348 - 'requires' => 4349 - array( 4350 - ), 4351 - 'disk' => '/rsrc/css/sprite-status.css', 4352 - ), 4353 - 'sprite-tokens-css' => 4354 - array( 4355 - 'uri' => '/res/eeca7cf1/rsrc/css/sprite-tokens.css', 4356 - 'type' => 'css', 4357 - 'requires' => 4358 - array( 4359 - ), 4360 - 'disk' => '/rsrc/css/sprite-tokens.css', 4361 - ), 4362 - 'syntax-highlighting-css' => 4363 - array( 4364 - 'uri' => '/res/db7c0e13/rsrc/css/core/syntax.css', 4365 - 'type' => 'css', 4366 - 'requires' => 4367 - array( 4368 - ), 4369 - 'disk' => '/rsrc/css/core/syntax.css', 4370 - ), 4371 - 'tokens-css' => 4372 - array( 4373 - 'uri' => '/res/bbddf548/rsrc/css/application/tokens/tokens.css', 4374 - 'type' => 'css', 4375 - 'requires' => 4376 - array( 4377 - ), 4378 - 'disk' => '/rsrc/css/application/tokens/tokens.css', 4379 - ), 4380 - ), array( 4381 - 'packages' => 4382 - array( 4383 - '8d147927' => 4384 - array( 4385 - 'name' => 'core.pkg.css', 4386 - 'symbols' => 4387 - array( 4388 - 0 => 'phabricator-core-css', 4389 - 1 => 'phabricator-zindex-css', 4390 - 2 => 'phui-button-css', 4391 - 3 => 'phabricator-standard-page-view', 4392 - 4 => 'aphront-dialog-view-css', 4393 - 5 => 'phui-form-view-css', 4394 - 6 => 'aphront-panel-view-css', 4395 - 7 => 'aphront-table-view-css', 4396 - 8 => 'aphront-tokenizer-control-css', 4397 - 9 => 'aphront-typeahead-control-css', 4398 - 10 => 'aphront-list-filter-view-css', 4399 - 11 => 'phabricator-jump-nav', 4400 - 12 => 'phabricator-remarkup-css', 4401 - 13 => 'syntax-highlighting-css', 4402 - 14 => 'aphront-pager-view-css', 4403 - 15 => 'phabricator-transaction-view-css', 4404 - 16 => 'aphront-tooltip-css', 4405 - 17 => 'phabricator-flag-css', 4406 - 18 => 'aphront-error-view-css', 4407 - 19 => 'sprite-icons-css', 4408 - 20 => 'sprite-gradient-css', 4409 - 21 => 'sprite-menu-css', 4410 - 22 => 'sprite-apps-large-css', 4411 - 23 => 'sprite-status-css', 4412 - 24 => 'phabricator-main-menu-view', 4413 - 25 => 'phabricator-notification-css', 4414 - 26 => 'phabricator-notification-menu-css', 4415 - 27 => 'lightbox-attachment-css', 4416 - 28 => 'phui-header-view-css', 4417 - 29 => 'phabricator-filetree-view-css', 4418 - 30 => 'phabricator-nav-view-css', 4419 - 31 => 'phabricator-side-menu-view-css', 4420 - 32 => 'phabricator-crumbs-view-css', 4421 - 33 => 'phui-object-item-list-view-css', 4422 - 34 => 'global-drag-and-drop-css', 4423 - 35 => 'phui-spacing-css', 4424 - 36 => 'phui-form-css', 4425 - 37 => 'phui-icon-view-css', 4426 - 38 => 'phabricator-application-launch-view-css', 4427 - 39 => 'phabricator-action-list-view-css', 4428 - 40 => 'phui-property-list-view-css', 4429 - 41 => 'phabricator-tag-view-css', 4430 - 42 => 'phui-list-view-css', 4431 - ), 4432 - 'uri' => '/res/pkg/8d147927/core.pkg.css', 4433 - 'type' => 'css', 4434 - ), 4435 - '2c1dba03' => 4436 - array( 4437 - 'name' => 'core.pkg.js', 4438 - 'symbols' => 4439 - array( 4440 - 0 => 'javelin-behavior-aphront-basic-tokenizer', 4441 - 1 => 'javelin-behavior-workflow', 4442 - 2 => 'javelin-behavior-aphront-form-disable-on-submit', 4443 - 3 => 'phabricator-keyboard-shortcut-manager', 4444 - 4 => 'phabricator-keyboard-shortcut', 4445 - 5 => 'javelin-behavior-phabricator-keyboard-shortcuts', 4446 - 6 => 'javelin-behavior-refresh-csrf', 4447 - 7 => 'javelin-behavior-phabricator-watch-anchor', 4448 - 8 => 'javelin-behavior-phabricator-autofocus', 4449 - 9 => 'phabricator-menu-item', 4450 - 10 => 'phabricator-dropdown-menu', 4451 - 11 => 'phabricator-phtize', 4452 - 12 => 'javelin-behavior-phabricator-oncopy', 4453 - 13 => 'phabricator-tooltip', 4454 - 14 => 'javelin-behavior-phabricator-tooltips', 4455 - 15 => 'phabricator-prefab', 4456 - 16 => 'javelin-behavior-device', 4457 - 17 => 'javelin-behavior-toggle-class', 4458 - 18 => 'javelin-behavior-lightbox-attachments', 4459 - 19 => 'phabricator-busy', 4460 - 20 => 'javelin-aphlict', 4461 - 21 => 'phabricator-notification', 4462 - 22 => 'javelin-behavior-aphlict-listen', 4463 - 23 => 'javelin-behavior-phabricator-search-typeahead', 4464 - 24 => 'javelin-behavior-konami', 4465 - 25 => 'javelin-behavior-aphlict-dropdown', 4466 - 26 => 'javelin-behavior-history-install', 4467 - 27 => 'javelin-behavior-phabricator-gesture', 4468 - 28 => 'javelin-behavior-phabricator-active-nav', 4469 - 29 => 'javelin-behavior-phabricator-nav', 4470 - 30 => 'javelin-behavior-phabricator-remarkup-assist', 4471 - 31 => 'phabricator-textareautils', 4472 - 32 => 'phabricator-file-upload', 4473 - 33 => 'javelin-behavior-global-drag-and-drop', 4474 - 34 => 'javelin-behavior-phabricator-reveal-content', 4475 - 35 => 'phabricator-hovercard', 4476 - 36 => 'javelin-behavior-phabricator-hovercards', 4477 - 37 => 'javelin-color', 4478 - 38 => 'javelin-fx', 4479 - ), 4480 - 'uri' => '/res/pkg/2c1dba03/core.pkg.js', 4481 - 'type' => 'js', 4482 - ), 4483 - '4ccfeb47' => 4484 - array( 4485 - 'name' => 'darkconsole.pkg.js', 4486 - 'symbols' => 4487 - array( 4488 - 0 => 'javelin-behavior-dark-console', 4489 - 1 => 'javelin-behavior-error-log', 4490 - ), 4491 - 'uri' => '/res/pkg/4ccfeb47/darkconsole.pkg.js', 4492 - 'type' => 'js', 4493 - ), 4494 - '9244273c' => 4495 - array( 4496 - 'name' => 'differential.pkg.css', 4497 - 'symbols' => 4498 - array( 4499 - 0 => 'differential-core-view-css', 4500 - 1 => 'differential-changeset-view-css', 4501 - 2 => 'differential-results-table-css', 4502 - 3 => 'differential-revision-history-css', 4503 - 4 => 'differential-revision-list-css', 4504 - 5 => 'differential-table-of-contents-css', 4505 - 6 => 'differential-revision-comment-css', 4506 - 7 => 'differential-revision-add-comment-css', 4507 - 8 => 'differential-revision-comment-list-css', 4508 - 9 => 'phabricator-object-selector-css', 4509 - 10 => 'phabricator-content-source-view-css', 4510 - 11 => 'differential-local-commits-view-css', 4511 - 12 => 'inline-comment-summary-css', 4512 - ), 4513 - 'uri' => '/res/pkg/9244273c/differential.pkg.css', 4514 - 'type' => 'css', 4515 - ), 4516 - '92f459f0' => 4517 - array( 4518 - 'name' => 'differential.pkg.js', 4519 - 'symbols' => 4520 - array( 4521 - 0 => 'phabricator-drag-and-drop-file-upload', 4522 - 1 => 'phabricator-shaped-request', 4523 - 2 => 'javelin-behavior-differential-feedback-preview', 4524 - 3 => 'javelin-behavior-differential-edit-inline-comments', 4525 - 4 => 'javelin-behavior-differential-populate', 4526 - 5 => 'javelin-behavior-differential-show-more', 4527 - 6 => 'javelin-behavior-differential-diff-radios', 4528 - 7 => 'javelin-behavior-differential-accept-with-errors', 4529 - 8 => 'javelin-behavior-differential-comment-jump', 4530 - 9 => 'javelin-behavior-differential-add-reviewers-and-ccs', 4531 - 10 => 'javelin-behavior-differential-keyboard-navigation', 4532 - 11 => 'javelin-behavior-aphront-drag-and-drop-textarea', 4533 - 12 => 'javelin-behavior-phabricator-object-selector', 4534 - 13 => 'javelin-behavior-repository-crossreference', 4535 - 14 => 'javelin-behavior-load-blame', 4536 - 15 => 'differential-inline-comment-editor', 4537 - 16 => 'javelin-behavior-differential-dropdown-menus', 4538 - 17 => 'javelin-behavior-differential-toggle-files', 4539 - 18 => 'javelin-behavior-differential-user-select', 4540 - ), 4541 - 'uri' => '/res/pkg/92f459f0/differential.pkg.js', 4542 - 'type' => 'js', 4543 - ), 4544 - '7aa115b4' => 4545 - array( 4546 - 'name' => 'diffusion.pkg.css', 4547 - 'symbols' => 4548 - array( 4549 - 0 => 'diffusion-commit-view-css', 4550 - 1 => 'diffusion-icons-css', 4551 - ), 4552 - 'uri' => '/res/pkg/7aa115b4/diffusion.pkg.css', 4553 - 'type' => 'css', 4554 - ), 4555 - 96909266 => 4556 - array( 4557 - 'name' => 'diffusion.pkg.js', 4558 - 'symbols' => 4559 - array( 4560 - 0 => 'javelin-behavior-diffusion-pull-lastmodified', 4561 - 1 => 'javelin-behavior-diffusion-commit-graph', 4562 - 2 => 'javelin-behavior-audit-preview', 4563 - ), 4564 - 'uri' => '/res/pkg/96909266/diffusion.pkg.js', 4565 - 'type' => 'js', 4566 - ), 4567 - '3e3be199' => 4568 - array( 4569 - 'name' => 'javelin.pkg.js', 4570 - 'symbols' => 4571 - array( 4572 - 0 => 'javelin-util', 4573 - 1 => 'javelin-install', 4574 - 2 => 'javelin-event', 4575 - 3 => 'javelin-stratcom', 4576 - 4 => 'javelin-behavior', 4577 - 5 => 'javelin-resource', 4578 - 6 => 'javelin-request', 4579 - 7 => 'javelin-vector', 4580 - 8 => 'javelin-dom', 4581 - 9 => 'javelin-json', 4582 - 10 => 'javelin-uri', 4583 - 11 => 'javelin-workflow', 4584 - 12 => 'javelin-mask', 4585 - 13 => 'javelin-typeahead', 4586 - 14 => 'javelin-typeahead-normalizer', 4587 - 15 => 'javelin-typeahead-source', 4588 - 16 => 'javelin-typeahead-preloaded-source', 4589 - 17 => 'javelin-typeahead-ondemand-source', 4590 - 18 => 'javelin-tokenizer', 4591 - 19 => 'javelin-history', 4592 - ), 4593 - 'uri' => '/res/pkg/3e3be199/javelin.pkg.js', 4594 - 'type' => 'js', 4595 - ), 4596 - 49898640 => 4597 - array( 4598 - 'name' => 'maniphest.pkg.css', 4599 - 'symbols' => 4600 - array( 4601 - 0 => 'maniphest-task-summary-css', 4602 - 1 => 'phabricator-project-tag-css', 4603 - ), 4604 - 'uri' => '/res/pkg/49898640/maniphest.pkg.css', 4605 - 'type' => 'css', 4606 - ), 4607 - '0474f45c' => 4608 - array( 4609 - 'name' => 'maniphest.pkg.js', 4610 - 'symbols' => 4611 - array( 4612 - 0 => 'javelin-behavior-maniphest-batch-selector', 4613 - 1 => 'javelin-behavior-maniphest-transaction-controls', 4614 - 2 => 'javelin-behavior-maniphest-transaction-preview', 4615 - 3 => 'javelin-behavior-maniphest-transaction-expand', 4616 - 4 => 'javelin-behavior-maniphest-subpriority-editor', 4617 - ), 4618 - 'uri' => '/res/pkg/0474f45c/maniphest.pkg.js', 4619 - 'type' => 'js', 4620 - ), 4621 - ), 4622 - 'reverse' => 4623 - array( 4624 - 'aphront-dialog-view-css' => '8d147927', 4625 - 'aphront-error-view-css' => '8d147927', 4626 - 'aphront-list-filter-view-css' => '8d147927', 4627 - 'aphront-pager-view-css' => '8d147927', 4628 - 'aphront-panel-view-css' => '8d147927', 4629 - 'aphront-table-view-css' => '8d147927', 4630 - 'aphront-tokenizer-control-css' => '8d147927', 4631 - 'aphront-tooltip-css' => '8d147927', 4632 - 'aphront-typeahead-control-css' => '8d147927', 4633 - 'differential-changeset-view-css' => '9244273c', 4634 - 'differential-core-view-css' => '9244273c', 4635 - 'differential-inline-comment-editor' => '92f459f0', 4636 - 'differential-local-commits-view-css' => '9244273c', 4637 - 'differential-results-table-css' => '9244273c', 4638 - 'differential-revision-add-comment-css' => '9244273c', 4639 - 'differential-revision-comment-css' => '9244273c', 4640 - 'differential-revision-comment-list-css' => '9244273c', 4641 - 'differential-revision-history-css' => '9244273c', 4642 - 'differential-revision-list-css' => '9244273c', 4643 - 'differential-table-of-contents-css' => '9244273c', 4644 - 'diffusion-commit-view-css' => '7aa115b4', 4645 - 'diffusion-icons-css' => '7aa115b4', 4646 - 'global-drag-and-drop-css' => '8d147927', 4647 - 'inline-comment-summary-css' => '9244273c', 4648 - 'javelin-aphlict' => '2c1dba03', 4649 - 'javelin-behavior' => '3e3be199', 4650 - 'javelin-behavior-aphlict-dropdown' => '2c1dba03', 4651 - 'javelin-behavior-aphlict-listen' => '2c1dba03', 4652 - 'javelin-behavior-aphront-basic-tokenizer' => '2c1dba03', 4653 - 'javelin-behavior-aphront-drag-and-drop-textarea' => '92f459f0', 4654 - 'javelin-behavior-aphront-form-disable-on-submit' => '2c1dba03', 4655 - 'javelin-behavior-audit-preview' => '96909266', 4656 - 'javelin-behavior-dark-console' => '4ccfeb47', 4657 - 'javelin-behavior-device' => '2c1dba03', 4658 - 'javelin-behavior-differential-accept-with-errors' => '92f459f0', 4659 - 'javelin-behavior-differential-add-reviewers-and-ccs' => '92f459f0', 4660 - 'javelin-behavior-differential-comment-jump' => '92f459f0', 4661 - 'javelin-behavior-differential-diff-radios' => '92f459f0', 4662 - 'javelin-behavior-differential-dropdown-menus' => '92f459f0', 4663 - 'javelin-behavior-differential-edit-inline-comments' => '92f459f0', 4664 - 'javelin-behavior-differential-feedback-preview' => '92f459f0', 4665 - 'javelin-behavior-differential-keyboard-navigation' => '92f459f0', 4666 - 'javelin-behavior-differential-populate' => '92f459f0', 4667 - 'javelin-behavior-differential-show-more' => '92f459f0', 4668 - 'javelin-behavior-differential-toggle-files' => '92f459f0', 4669 - 'javelin-behavior-differential-user-select' => '92f459f0', 4670 - 'javelin-behavior-diffusion-commit-graph' => '96909266', 4671 - 'javelin-behavior-diffusion-pull-lastmodified' => '96909266', 4672 - 'javelin-behavior-error-log' => '4ccfeb47', 4673 - 'javelin-behavior-global-drag-and-drop' => '2c1dba03', 4674 - 'javelin-behavior-history-install' => '2c1dba03', 4675 - 'javelin-behavior-konami' => '2c1dba03', 4676 - 'javelin-behavior-lightbox-attachments' => '2c1dba03', 4677 - 'javelin-behavior-load-blame' => '92f459f0', 4678 - 'javelin-behavior-maniphest-batch-selector' => '0474f45c', 4679 - 'javelin-behavior-maniphest-subpriority-editor' => '0474f45c', 4680 - 'javelin-behavior-maniphest-transaction-controls' => '0474f45c', 4681 - 'javelin-behavior-maniphest-transaction-expand' => '0474f45c', 4682 - 'javelin-behavior-maniphest-transaction-preview' => '0474f45c', 4683 - 'javelin-behavior-phabricator-active-nav' => '2c1dba03', 4684 - 'javelin-behavior-phabricator-autofocus' => '2c1dba03', 4685 - 'javelin-behavior-phabricator-gesture' => '2c1dba03', 4686 - 'javelin-behavior-phabricator-hovercards' => '2c1dba03', 4687 - 'javelin-behavior-phabricator-keyboard-shortcuts' => '2c1dba03', 4688 - 'javelin-behavior-phabricator-nav' => '2c1dba03', 4689 - 'javelin-behavior-phabricator-object-selector' => '92f459f0', 4690 - 'javelin-behavior-phabricator-oncopy' => '2c1dba03', 4691 - 'javelin-behavior-phabricator-remarkup-assist' => '2c1dba03', 4692 - 'javelin-behavior-phabricator-reveal-content' => '2c1dba03', 4693 - 'javelin-behavior-phabricator-search-typeahead' => '2c1dba03', 4694 - 'javelin-behavior-phabricator-tooltips' => '2c1dba03', 4695 - 'javelin-behavior-phabricator-watch-anchor' => '2c1dba03', 4696 - 'javelin-behavior-refresh-csrf' => '2c1dba03', 4697 - 'javelin-behavior-repository-crossreference' => '92f459f0', 4698 - 'javelin-behavior-toggle-class' => '2c1dba03', 4699 - 'javelin-behavior-workflow' => '2c1dba03', 4700 - 'javelin-color' => '2c1dba03', 4701 - 'javelin-dom' => '3e3be199', 4702 - 'javelin-event' => '3e3be199', 4703 - 'javelin-fx' => '2c1dba03', 4704 - 'javelin-history' => '3e3be199', 4705 - 'javelin-install' => '3e3be199', 4706 - 'javelin-json' => '3e3be199', 4707 - 'javelin-mask' => '3e3be199', 4708 - 'javelin-request' => '3e3be199', 4709 - 'javelin-resource' => '3e3be199', 4710 - 'javelin-stratcom' => '3e3be199', 4711 - 'javelin-tokenizer' => '3e3be199', 4712 - 'javelin-typeahead' => '3e3be199', 4713 - 'javelin-typeahead-normalizer' => '3e3be199', 4714 - 'javelin-typeahead-ondemand-source' => '3e3be199', 4715 - 'javelin-typeahead-preloaded-source' => '3e3be199', 4716 - 'javelin-typeahead-source' => '3e3be199', 4717 - 'javelin-uri' => '3e3be199', 4718 - 'javelin-util' => '3e3be199', 4719 - 'javelin-vector' => '3e3be199', 4720 - 'javelin-workflow' => '3e3be199', 4721 - 'lightbox-attachment-css' => '8d147927', 4722 - 'maniphest-task-summary-css' => '49898640', 4723 - 'phabricator-action-list-view-css' => '8d147927', 4724 - 'phabricator-application-launch-view-css' => '8d147927', 4725 - 'phabricator-busy' => '2c1dba03', 4726 - 'phabricator-content-source-view-css' => '9244273c', 4727 - 'phabricator-core-css' => '8d147927', 4728 - 'phabricator-crumbs-view-css' => '8d147927', 4729 - 'phabricator-drag-and-drop-file-upload' => '92f459f0', 4730 - 'phabricator-dropdown-menu' => '2c1dba03', 4731 - 'phabricator-file-upload' => '2c1dba03', 4732 - 'phabricator-filetree-view-css' => '8d147927', 4733 - 'phabricator-flag-css' => '8d147927', 4734 - 'phabricator-hovercard' => '2c1dba03', 4735 - 'phabricator-jump-nav' => '8d147927', 4736 - 'phabricator-keyboard-shortcut' => '2c1dba03', 4737 - 'phabricator-keyboard-shortcut-manager' => '2c1dba03', 4738 - 'phabricator-main-menu-view' => '8d147927', 4739 - 'phabricator-menu-item' => '2c1dba03', 4740 - 'phabricator-nav-view-css' => '8d147927', 4741 - 'phabricator-notification' => '2c1dba03', 4742 - 'phabricator-notification-css' => '8d147927', 4743 - 'phabricator-notification-menu-css' => '8d147927', 4744 - 'phabricator-object-selector-css' => '9244273c', 4745 - 'phabricator-phtize' => '2c1dba03', 4746 - 'phabricator-prefab' => '2c1dba03', 4747 - 'phabricator-project-tag-css' => '49898640', 4748 - 'phabricator-remarkup-css' => '8d147927', 4749 - 'phabricator-shaped-request' => '92f459f0', 4750 - 'phabricator-side-menu-view-css' => '8d147927', 4751 - 'phabricator-standard-page-view' => '8d147927', 4752 - 'phabricator-tag-view-css' => '8d147927', 4753 - 'phabricator-textareautils' => '2c1dba03', 4754 - 'phabricator-tooltip' => '2c1dba03', 4755 - 'phabricator-transaction-view-css' => '8d147927', 4756 - 'phabricator-zindex-css' => '8d147927', 4757 - 'phui-button-css' => '8d147927', 4758 - 'phui-form-css' => '8d147927', 4759 - 'phui-form-view-css' => '8d147927', 4760 - 'phui-header-view-css' => '8d147927', 4761 - 'phui-icon-view-css' => '8d147927', 4762 - 'phui-list-view-css' => '8d147927', 4763 - 'phui-object-item-list-view-css' => '8d147927', 4764 - 'phui-property-list-view-css' => '8d147927', 4765 - 'phui-spacing-css' => '8d147927', 4766 - 'sprite-apps-large-css' => '8d147927', 4767 - 'sprite-gradient-css' => '8d147927', 4768 - 'sprite-icons-css' => '8d147927', 4769 - 'sprite-menu-css' => '8d147927', 4770 - 'sprite-status-css' => '8d147927', 4771 - 'syntax-highlighting-css' => '8d147927', 4772 - ), 4773 - ));
-1
src/__phutil_library_map__.php
··· 2408 2408 '_phabricator_time_format' => 'view/viewutils.php', 2409 2409 'celerity_generate_unique_node_id' => 'infrastructure/celerity/api.php', 2410 2410 'celerity_get_resource_uri' => 'infrastructure/celerity/api.php', 2411 - 'celerity_register_resource_map' => 'infrastructure/celerity/map.php', 2412 2411 'implode_selected_handle_links' => 'applications/phid/handle/view/render.php', 2413 2412 'javelin_tag' => 'infrastructure/javelin/markup.php', 2414 2413 'phabricator_date' => 'view/viewutils.php',
-1
src/aphront/configuration/AphrontDefaultApplicationConfiguration.php
··· 73 73 return array( 74 74 '/res/' => array( 75 75 '(?:(?P<mtime>[0-9]+)T/)?'. 76 - '(?P<package>pkg/)?'. 77 76 '(?P<hash>[a-f0-9]{8})/'. 78 77 '(?P<path>.+\.(?:css|js|jpg|png|swf|gif))' 79 78 => 'CelerityPhabricatorResourceController',
+1 -1
src/applications/phame/controller/PhameResourceController.php
··· 39 39 $spec = $skin->getSpecification(); 40 40 41 41 $this->root = $spec->getRootDirectory().DIRECTORY_SEPARATOR; 42 - return $this->serveResource($this->name, $package_hash = null); 42 + return $this->serveResource($this->name); 43 43 } 44 44 45 45 protected function buildResourceTransformer() {
+2 -4
src/docs/tech/celerity.diviner
··· 55 55 and read packaging rules. 56 56 57 57 The dependency and packaging maps are generated by 58 - ##scripts/celerity_mapper.php##, which updates 59 - ##src/__celerity_resource_map__.php##. This file is automatically included and 60 - just calls @{function:celerity_register_resource_map} with a large blob of 61 - static data to populate @{class:CelerityResourceMap}. 58 + ##bin/celerity map##, which updates 59 + ##resources/celerity/map.php##.. 62 60 63 61 @{class:CelerityStaticResourceResponse} also manages some Javelin information, 64 62 and @{function:celerity_generate_unique_node_id} uses this metadata to provide
+1 -1
src/docs/user/developer/adding_new_css_and_js.diviner
··· 58 58 don't, but they might start not working as well in the future if you skip this 59 59 step. 60 60 61 - The generated file `src/__celerity_resource_map__.php` causes merge conflicts 61 + The generated file `resources/celerity/map.php` causes merge conflicts 62 62 quite often. They can be resolved by running the Celerity mapper. You can 63 63 automate this process by running: 64 64
+1 -7
src/infrastructure/celerity/CelerityPhabricatorResourceController.php
··· 12 12 13 13 private $path; 14 14 private $hash; 15 - private $package; 16 15 17 16 protected function getRootDirectory() { 18 17 $root = dirname(phutil_get_library_root('phabricator')); ··· 22 21 public function willProcessRequest(array $data) { 23 22 $this->path = $data['path']; 24 23 $this->hash = $data['hash']; 25 - $this->package = !empty($data['package']); 26 24 } 27 25 28 26 public function processRequest() { 29 - $package_hash = null; 30 - if ($this->package) { 31 - $package_hash = $this->hash; 32 - } 33 - return $this->serveResource($this->path, $package_hash); 27 + return $this->serveResource($this->path); 34 28 } 35 29 36 30 protected function buildResourceTransformer() {
+2 -2
src/infrastructure/celerity/CelerityResourceController.php
··· 39 39 40 40 $map = CelerityResourceMap::getInstance(); 41 41 42 - if ($package_hash) { 43 - $resource_names = $map->getResourceNamesForPackageHash($package_hash); 42 + if ($map->isPackageResource($path)) { 43 + $resource_names = $map->getResourceNamesForPackageName($path); 44 44 if (!$resource_names) { 45 45 return new Aphront404Response(); 46 46 }
+99 -123
src/infrastructure/celerity/CelerityResourceMap.php
··· 5 5 * resources, resource dependencies, and packaging information. You generally do 6 6 * not need to invoke it directly; instead, you call higher-level Celerity APIs 7 7 * and it uses the resource map to satisfy your requests. 8 - * 9 - * @group celerity 10 8 */ 11 9 final class CelerityResourceMap { 12 10 13 11 private static $instance; 14 - private $resourceMap; 12 + 13 + private $resources; 14 + private $symbolMap; 15 + private $requiresMap; 15 16 private $packageMap; 16 - private $reverseMap; 17 + private $nameMap; 18 + private $hashMap; 17 19 18 - public static function getInstance() { 19 - if (empty(self::$instance)) { 20 - self::$instance = new CelerityResourceMap(); 21 - $root = phutil_get_library_root('phabricator'); 20 + public function __construct(CelerityResources $resources) { 21 + $this->resources = $resources; 22 22 23 - $path = '__celerity_resource_map__.php'; 24 - $ok = include_once $root.'/'.$path; 25 - if (!$ok) { 26 - throw new Exception( 27 - "Failed to load Celerity resource map!"); 23 + $map = $resources->loadMap(); 24 + $this->symbolMap = idx($map, 'symbols', array()); 25 + $this->requiresMap = idx($map, 'requires', array()); 26 + $this->packageMap = idx($map, 'packages', array()); 27 + $this->nameMap = idx($map, 'names', array()); 28 + 29 + // We derive these reverse maps at runtime. 30 + 31 + $this->hashMap = array_flip($this->nameMap); 32 + $this->componentMap = array(); 33 + foreach ($this->packageMap as $package_name => $symbols) { 34 + foreach ($symbols as $symbol) { 35 + $this->componentMap[$symbol] = $package_name; 28 36 } 29 37 } 30 - return self::$instance; 31 38 } 32 39 33 - public function setResourceMap($resource_map) { 34 - $this->resourceMap = $resource_map; 35 - return $this; 40 + public static function getInstance() { 41 + if (empty(self::$instance)) { 42 + $resources = new CelerityPhabricatorResources(); 43 + self::$instance = new CelerityResourceMap($resources); 44 + } 45 + return self::$instance; 36 46 } 37 47 38 48 public function getPackagedNamesForSymbols(array $symbols) { ··· 53 63 } 54 64 55 65 private function resolveResource(array &$map, $symbol) { 56 - if (empty($this->resourceMap[$symbol])) { 66 + if (empty($this->symbolMap[$symbol])) { 57 67 throw new Exception( 58 - "Attempting to resolve unknown Celerity resource, '{$symbol}'."); 68 + pht( 69 + 'Attempting to resolve unknown resource, "%s".', 70 + $symbol)); 71 + } 72 + 73 + $hash = $this->symbolMap[$symbol]; 74 + 75 + $map[$symbol] = $hash; 76 + 77 + if (isset($this->requiresMap[$hash])) { 78 + $requires = $this->requiresMap[$hash]; 79 + } else { 80 + $requires = array(); 59 81 } 60 82 61 - $info = $this->resourceMap[$symbol]; 62 - foreach ($info['requires'] as $requires) { 63 - if (!empty($map[$requires])) { 83 + foreach ($requires as $required_symbol) { 84 + if (!empty($map[$required_symbol])) { 64 85 continue; 65 86 } 66 - $this->resolveResource($map, $requires); 87 + $this->resolveResource($map, $required_symbol); 67 88 } 68 - 69 - $map[$symbol] = $info; 70 - } 71 - 72 - public function setPackageMap($package_map) { 73 - $this->packageMap = $package_map; 74 - return $this; 75 89 } 76 90 77 91 private function packageResources(array $resolved_map) { 78 92 $packaged = array(); 79 93 $handled = array(); 80 - foreach ($resolved_map as $symbol => $info) { 94 + foreach ($resolved_map as $symbol => $hash) { 81 95 if (isset($handled[$symbol])) { 82 96 continue; 83 97 } 84 - if (empty($this->packageMap['reverse'][$symbol])) { 85 - $packaged[$symbol] = $info; 98 + 99 + if (empty($this->componentMap[$symbol])) { 100 + $packaged[] = $this->hashMap[$hash]; 86 101 } else { 87 - $package = $this->packageMap['reverse'][$symbol]; 88 - $package_info = $this->packageMap['packages'][$package]; 89 - $packaged[$package_info['name']] = $package_info; 90 - foreach ($package_info['symbols'] as $packaged_symbol) { 91 - $handled[$packaged_symbol] = true; 102 + $package_name = $this->componentMap[$symbol]; 103 + $packaged[] = $package_name; 104 + 105 + $package_symbols = $this->packageMap[$package_name]; 106 + foreach ($package_symbols as $package_symbol) { 107 + $handled[$package_symbol] = true; 92 108 } 93 109 } 94 110 } 95 111 96 - $names = array(); 97 - foreach ($packaged as $key => $resource) { 98 - if (isset($resource['disk'])) { 99 - $names[] = $resource['disk']; 100 - } else { 101 - $names[] = $key; 102 - } 103 - } 104 - 105 - return $names; 112 + return $packaged; 106 113 } 107 114 108 115 public function getResourceDataForName($resource_name) { 109 - $root = phutil_get_library_root('phabricator'); 110 - $root = dirname($root).'/webroot/'; 111 - return Filesystem::readFile($root.$resource_name); 116 + return $this->resources->getResourceData($resource_name); 112 117 } 113 118 114 - public function getResourceNamesForPackageHash($package_hash) { 115 - $package = idx($this->packageMap['packages'], $package_hash); 116 - if (!$package) { 119 + public function getResourceNamesForPackageName($package_name) { 120 + $package_symbols = idx($this->packageMap, $package_name); 121 + if (!$package_symbols) { 117 122 return null; 118 123 } 119 124 120 - $paths = array(); 121 - foreach ($package['symbols'] as $symbol) { 122 - $paths[] = $this->resourceMap[$symbol]['disk']; 125 + $resource_names = array(); 126 + foreach ($package_symbols as $symbol) { 127 + $resource_names[] = $this->hashMap[$this->symbolMap[$symbol]]; 123 128 } 124 129 125 - return $paths; 126 - } 127 - 128 - private function lookupSymbolInformation($symbol) { 129 - return idx($this->resourceMap, $symbol); 130 - } 131 - 132 - private function lookupFileInformation($path) { 133 - if (empty($this->reverseMap)) { 134 - $this->reverseMap = array(); 135 - foreach ($this->resourceMap as $symbol => $data) { 136 - $data['provides'] = $symbol; 137 - $this->reverseMap[$data['disk']] = $data; 138 - } 139 - } 140 - return idx($this->reverseMap, $path); 130 + return $resource_names; 141 131 } 142 132 143 133 ··· 148 138 * @return int Epoch timestamp of last resource modification. 149 139 */ 150 140 public function getModifiedTimeForName($name) { 151 - $package_hash = null; 152 - foreach ($this->packageMap['packages'] as $hash => $package) { 153 - if ($package['name'] == $name) { 154 - $package_hash = $hash; 155 - break; 141 + if ($this->isPackageResource($name)) { 142 + $names = array(); 143 + foreach ($this->packageMap[$name] as $symbol) { 144 + $names[] = $this->getResourceNameForSymbol($symbol); 156 145 } 146 + } else { 147 + $names = array($name); 157 148 } 158 149 159 - $root = dirname(phutil_get_library_root('phabricator')).'/webroot'; 160 - 161 150 $mtime = 0; 162 - 163 - if ($package_hash) { 164 - $names = $this->getResourceNamesForPackageHash($package_hash); 165 - foreach ($names as $component_name) { 166 - $info = $this->lookupFileInformation($component_name); 167 - if ($info) { 168 - $mtime = max($mtime, (int)filemtime($root.$info['disk'])); 169 - } 170 - } 171 - } else { 172 - $info = $this->lookupFileInformation($name); 173 - if ($info) { 174 - $root = dirname(phutil_get_library_root('phabricator')).'/webroot'; 175 - $mtime = (int)filemtime($root.$info['disk']); 176 - } 151 + foreach ($names as $name) { 152 + $mtime = max($mtime, $this->resources->getResourceModifiedTime($name)); 177 153 } 178 154 179 155 return $mtime; ··· 185 161 * method is fairly low-level and ignores packaging. 186 162 * 187 163 * @param string Resource symbol to lookup. 188 - * @return string|null Fully-qualified resource URI, or null if the symbol 189 - * is unknown. 164 + * @return string|null Resource URI, or null if the symbol is unknown. 190 165 */ 191 166 public function getURIForSymbol($symbol) { 192 - $info = $this->lookupSymbolInformation($symbol); 193 - if ($info) { 194 - return idx($info, 'uri'); 195 - } 196 - return null; 167 + $hash = idx($this->symbolMap, $symbol); 168 + return $this->getURIForHash($hash); 197 169 } 198 170 199 171 ··· 202 174 * This method is fairly low-level and ignores packaging. 203 175 * 204 176 * @param string Resource name to lookup. 205 - * @return string|null Fully-qualified resource URI, or null if the name 206 - * is unknown. 177 + * @return string|null Resource URI, or null if the name is unknown. 207 178 */ 208 179 public function getURIForName($name) { 209 - $info = $this->lookupFileInformation($name); 210 - if ($info) { 211 - return idx($info, 'uri'); 212 - } 180 + $hash = idx($this->nameMap, $name); 181 + return $this->getURIForHash($hash); 182 + } 183 + 213 184 214 - foreach ($this->packageMap['packages'] as $hash => $package) { 215 - if ($package['name'] == $name) { 216 - return $package['uri']; 217 - } 185 + /** 186 + * Return the absolute URI for a resource, identified by hash. 187 + * This method is fairly low-level and ignores packaging. 188 + * 189 + * @param string Resource hash to lookup. 190 + * @return string|null Resource URI, or null if the hash is unknown. 191 + */ 192 + private function getURIForHash($hash) { 193 + if ($hash === null) { 194 + return null; 218 195 } 219 - 220 - return null; 196 + return $this->resources->getResourceURI($hash, $this->hashMap[$hash]); 221 197 } 222 198 223 199 ··· 229 205 * is unknown. 230 206 */ 231 207 public function getRequiredSymbolsForName($name) { 232 - $info = $this->lookupFileInformation($name); 233 - if ($info) { 234 - return idx($info, 'requires', array()); 208 + $hash = idx($this->symbolMap, $name); 209 + if ($hash === null) { 210 + return null; 235 211 } 236 - return null; 212 + return idx($this->requiresMap, $hash, array()); 237 213 } 238 214 239 215 ··· 244 220 * @return string|null Resource name, or null if the symbol is unknown. 245 221 */ 246 222 public function getResourceNameForSymbol($symbol) { 247 - $info = $this->lookupSymbolInformation($symbol); 248 - if ($info) { 249 - return idx($info, 'disk'); 250 - } 251 - return null; 223 + $hash = idx($this->symbolMap, $symbol); 224 + return idx($this->hashMap, $hash); 252 225 } 253 226 227 + public function isPackageResource($name) { 228 + return isset($this->packageMap[$name]); 229 + } 254 230 255 231 }
+172 -7
src/infrastructure/celerity/management/CelerityManagementMapWorkflow.php
··· 15 15 public function execute(PhutilArgumentParser $args) { 16 16 $resources_map = CelerityResources::getAll(); 17 17 18 + $this->log( 19 + pht( 20 + "Rebuilding %d resource source(s).", 21 + new PhutilNumber(count($resources_map)))); 22 + 18 23 foreach ($resources_map as $name => $resources) { 19 24 $this->rebuildResources($resources); 20 25 } 21 26 27 + $this->log(pht("Done.")); 28 + 22 29 return 0; 23 30 } 24 31 ··· 29 36 * @return void 30 37 */ 31 38 private function rebuildResources(CelerityResources $resources) { 39 + $this->log( 40 + pht( 41 + 'Rebuilding resource source "%s" (%s)...', 42 + $resources->getName(), 43 + get_class($resources))); 44 + 32 45 $binary_map = $this->rebuildBinaryResources($resources); 46 + 47 + $this->log( 48 + pht( 49 + 'Found %d binary resources.', 50 + new PhutilNumber(count($binary_map)))); 33 51 34 52 $xformer = id(new CelerityResourceTransformer()) 35 53 ->setMinify(false) ··· 37 55 38 56 $text_map = $this->rebuildTextResources($resources, $xformer); 39 57 58 + $this->log( 59 + pht( 60 + 'Found %d text resources.', 61 + new PhutilNumber(count($text_map)))); 62 + 40 63 $resource_graph = array(); 41 64 $requires_map = array(); 42 - $provides_map = array(); 65 + $symbol_map = array(); 43 66 foreach ($text_map as $name => $info) { 44 67 if (isset($info['provides'])) { 45 - $provides_map[$info['provides']] = $info['hash']; 68 + $symbol_map[$info['provides']] = $info['hash']; 46 69 47 70 // We only need to check for cycles and add this to the requires map 48 71 // if it actually requires anything. ··· 54 77 } 55 78 56 79 $this->detectGraphCycles($resource_graph); 80 + $name_map = ipull($binary_map, 'hash') + ipull($text_map, 'hash'); 81 + $hash_map = array_flip($name_map); 57 82 58 - $hash_map = ipull($binary_map, 'hash') + ipull($text_map, 'hash'); 83 + $package_map = $this->rebuildPackages( 84 + $resources, 85 + $symbol_map, 86 + $hash_map); 87 + 88 + $this->log( 89 + pht( 90 + 'Found %d packages.', 91 + new PhutilNumber(count($package_map)))); 59 92 93 + $component_map = array(); 94 + foreach ($package_map as $package_name => $package_info) { 95 + foreach ($package_info['symbols'] as $symbol) { 96 + $component_map[$symbol] = $package_name; 97 + } 98 + } 60 99 61 - // TODO: Actually do things. 100 + $name_map = $this->mergeNameMaps( 101 + array( 102 + array(pht('Binary'), ipull($binary_map, 'hash')), 103 + array(pht('Text'), ipull($text_map, 'hash')), 104 + array(pht('Package'), ipull($package_map, 'hash')), 105 + )); 106 + $package_map = ipull($package_map, 'symbols'); 107 + 108 + ksort($name_map); 109 + ksort($symbol_map); 110 + ksort($requires_map); 111 + ksort($package_map); 112 + 113 + $map_content = $this->formatMapContent(array( 114 + 'names' => $name_map, 115 + 'symbols' => $symbol_map, 116 + 'requires' => $requires_map, 117 + 'packages' => $package_map, 118 + )); 62 119 63 - var_dump($provides_map); 64 - var_dump($requires_map); 65 - var_dump($hash_map); 120 + $map_path = $resources->getPathToMap(); 121 + $this->log(pht('Writing map "%s".', Filesystem::readablePath($map_path))); 122 + Filesystem::writeFile($map_path, $map_content); 66 123 } 67 124 68 125 ··· 201 258 } 202 259 } 203 260 } 261 + 262 + /** 263 + * Build package specifications for a given resource source. 264 + * 265 + * @param CelerityResources Resource source to rebuild. 266 + * @param list<string, string> Map of `@provides` to hashes. 267 + * @param list<string, string> Map of hashes to resource names. 268 + * @return map<string, map<string, string>> Package information maps. 269 + */ 270 + private function rebuildPackages( 271 + CelerityResources $resources, 272 + array $symbol_map, 273 + array $reverse_map) { 274 + 275 + $package_map = array(); 276 + 277 + $package_spec = $resources->getResourcePackages(); 278 + foreach ($package_spec as $package_name => $package_symbols) { 279 + $type = null; 280 + $hashes = array(); 281 + foreach ($package_symbols as $symbol) { 282 + $symbol_hash = idx($symbol_map, $symbol); 283 + if ($symbol_hash === null) { 284 + throw new Exception( 285 + pht( 286 + 'Package specification for "%s" includes "%s", but that symbol '. 287 + 'is not @provided by any resource.', 288 + $package_name, 289 + $symbol)); 290 + } 291 + 292 + $resource_name = $reverse_map[$symbol_hash]; 293 + $resource_type = $resources->getResourceType($resource_name); 294 + if ($type === null) { 295 + $type = $resource_type; 296 + } else if ($type !== $resource_type) { 297 + throw new Exception( 298 + pht( 299 + 'Package specification for "%s" includes resources of multiple '. 300 + 'types (%s, %s). Each package may only contain one type of '. 301 + 'resource.', 302 + $package_name, 303 + $type, 304 + $resource_type)); 305 + } 306 + 307 + $hashes[] = $symbol.':'.$symbol_hash; 308 + } 309 + 310 + $hash = $resources->getCelerityHash(implode("\n", $hashes)); 311 + $package_map[$package_name] = array( 312 + 'hash' => $hash, 313 + 'symbols' => $package_symbols, 314 + ); 315 + } 316 + 317 + return $package_map; 318 + } 319 + 320 + private function mergeNameMaps(array $maps) { 321 + $result = array(); 322 + $origin = array(); 323 + foreach ($maps as $map) { 324 + list($map_name, $data) = $map; 325 + foreach ($data as $name => $hash) { 326 + if (empty($result[$name])) { 327 + $result[$name] = $hash; 328 + $origin[$name] = $map_name; 329 + } else { 330 + $old = $origin[$name]; 331 + $new = $map_name; 332 + throw new Exception( 333 + pht( 334 + 'Resource source defines two resources with the same name, '. 335 + '"%s". One is defined in the "%s" map; the other in the "%s" '. 336 + 'map. Each resource must have a unique name.', 337 + $name, 338 + $old, 339 + $new)); 340 + } 341 + } 342 + } 343 + return $result; 344 + } 345 + 346 + private function log($message) { 347 + $console = PhutilConsole::getConsole(); 348 + $console->writeErr("%s\n", $message); 349 + } 350 + 351 + private function formatMapContent(array $data) { 352 + $content = var_export($data, true); 353 + $content = preg_replace('/\s+$/m', '', $content); 354 + $content = preg_replace('/array \(/', 'array(', $content); 355 + 356 + $generated = '@'.'generated'; 357 + return <<<EOFILE 358 + <?php 359 + 360 + /** 361 + * This file is automatically generated. Use 'bin/celerity map' to rebuild it. 362 + * {$generated} 363 + */ 364 + return {$content}; 365 + 366 + EOFILE; 367 + } 368 + 204 369 205 370 }
-13
src/infrastructure/celerity/map.php
··· 1 - <?php 2 - 3 - /** 4 - * Registers a resource map for Celerity. This is glue code between the Celerity 5 - * mapper script and @{class:CelerityResourceMap}. 6 - * 7 - * @group celerity 8 - */ 9 - function celerity_register_resource_map(array $map, array $package_map) { 10 - $instance = CelerityResourceMap::getInstance(); 11 - $instance->setResourceMap($map); 12 - $instance->setPackageMap($package_map); 13 - }
+4
src/infrastructure/celerity/resources/CelerityPhabricatorResources.php
··· 21 21 return dirname(phutil_get_library_root('phabricator')).'/'.$to_file; 22 22 } 23 23 24 + public function getResourcePackages() { 25 + return include $this->getPhabricatorPath('resources/celerity/packages.php'); 26 + } 27 + 24 28 }
+14
src/infrastructure/celerity/resources/CelerityResources.php
··· 5 5 */ 6 6 abstract class CelerityResources { 7 7 8 + private $map; 9 + 8 10 abstract public function getName(); 9 11 abstract public function getPathToMap(); 10 12 abstract public function getResourceData($name); 11 13 abstract public function findBinaryResources(); 12 14 abstract public function findTextResources(); 15 + abstract public function getResourceModifiedTime($name); 13 16 14 17 public function getCelerityHash($data) { 15 18 $tail = PhabricatorEnv::getEnvConfig('celerity.resource-hash'); ··· 23 26 24 27 public function getResourceURI($hash, $name) { 25 28 return "/res/{$hash}/{$name}"; 29 + } 30 + 31 + public function getResourcePackages() { 32 + return array(); 33 + } 34 + 35 + public function loadMap() { 36 + if ($this->map === null) { 37 + $this->map = include $this->getPathToMap(); 38 + } 39 + return $this->map; 26 40 } 27 41 28 42 public static function getAll() {
+9 -1
src/infrastructure/celerity/resources/CelerityResourcesOnDisk.php
··· 7 7 8 8 abstract public function getPathToResources(); 9 9 10 + private function getPathToResource($name) { 11 + return $this->getPathToResources().DIRECTORY_SEPARATOR.$name; 12 + } 13 + 10 14 public function getResourceData($name) { 11 - return Filesystem::readFile($this->getPathToResources().'/'.$name); 15 + return Filesystem::readFile($this->getPathToResource($name)); 12 16 } 13 17 14 18 public function findBinaryResources() { ··· 17 21 18 22 public function findTextResources() { 19 23 return $this->findResourcesWithSuffixes($this->getTextFileSuffixes()); 24 + } 25 + 26 + public function getResourceModifiedTime($name) { 27 + return (int)filemtime($this->getPathToResource($name)); 20 28 } 21 29 22 30 protected function getBinaryFileSuffixes() {